1.10. Payout Form

Introduction

Payout-form is a type of transaction which results in funds transfer from Connecting Party banking account to customer (receiver) banking account or digital wallet. Payout-form transaction in most cases is used for bank account funding. Unlike Server-to-Server Payout integration, in which Connecting Party sends receiver account in initial request, Payout Form integration allows the receiver to submit the banking account credentials on the form hosted on Centiwise side.

Note

For this integration type Payout Validation must be used for payout-form transactions status handling.
See terms definitions in Glossary.

  1. Receiver fill out a payout form and sends data;

Payment Form
  1. Contextual data is gathered by Centiwise to process the transaction;

Wait Form
  1. Receiver’s browser gets redirected to the Connecting Party website to the resultant page.

Finish Form

Payout Form Flow

  participant Receiver as R
  participant "Connecting Party" as Cp
  autonumber
  group optional
  R -> Cp : Checkout
  activate Cp
  end
  == Payout form request ==
  Cp -> "Centiwise": /api/v4/payout-form/
  activate "Centiwise"
  "Centiwise" --> Cp: Order ID\nredirect-url
  deactivate "Centiwise"
  Cp --> R : Redirect to Payout Form\nredirect-url
  deactivate Cp
  activate R
  R -> "Centiwise" : GET redirect-url
  deactivate R
  activate "Centiwise"
  "Centiwise" --> R : Payout Form
  deactivate "Centiwise"
  activate R
  R -> "Centiwise" : Submit Form
  deactivate R
  activate "Centiwise"
  "Centiwise" --> "Centiwise" : Process payout
  == Final redirect of Receiver ==
  "Centiwise" --> R : Connecting Party website redirect_url
  activate R
  R -> Cp : POST status,Order ID
  deactivate R
  activate Cp
  group Manual Verification
      Cp -> "Centiwise": Get transaction marker
      "Centiwise" -> Cp: markerId
      Cp -> "Centiwise": Processing the marker
      "Centiwise" -> Cp: Marker status
      == Transaction filtering ==
      Cp -> "Centiwise": filterTransaction
      "Centiwise" -> Cp: Transaction filtering
      == Transaction processing ==
      Cp -> "Centiwise": manualVerificationResumeProcessing
      "Centiwise" -> Cp: Transaction processing
      deactivate "Centiwise"
      end
  group Get Final Status
  == Receive Connecting Party Callback ==
  Cp <- "Centiwise" : Callback with Final Status
  activate "Centiwise"
  "Centiwise" <-- Cp: HTTP 200
  deactivate "Centiwise"
  == Order Status request ==
  Cp -> "Centiwise": Get status by Order ID\napi/v2/status
  activate "Centiwise"
  "Centiwise" --> Cp : Response\nstatus,order-stage
  deactivate "Centiwise"
  end
  group Optional
  Cp --> R: Show result
  deactivate Cp
  end

(1) Payout-form can be initiated by Connecting Party based on internal business model or Receiver’s request.
(2) To implement payout-form see /api/v2/payout-form.
(9) To implement final redirect see Final Redirect.
(11) To implement manual verification see Payout Validation.
(19) To implement callback with final status handling see Connecting Party Callback.
(21) To implement order status request see /api/v2/status/. Status should be requested multiple times with 3-5 seconds interval until final status will be received in response.
(23) Final Status can be sent by Connecting Party based on internal business model or by Receiver’s request.