1.10. Payout with bank confirmation

Introduction

Payout is a type of transaction which results in funds transfer from Connecting Party banking account to customer (receiver) banking account or digital wallet. This Use-Case describes the integration of payouts which require additional confirmation from the bank.
See terms definitions in Glossary.

Payout Flow

participant Receiver as R
participant "Connecting Party" as cp
autonumber
group Optional
R -> cp : Checkout
activate cp
end
== Payout request ==
cp -> "Billblend": /api/v4/payout-check/
activate "Billblend"
"Billblend" --> cp: Order ID
cp -> "Billblend": Get status by Order ID\napi/v2/status
"Billblend" --> cp : Response\nstatus,order-stage
cp -> "Billblend": /api/v4/payout-pay/
"Billblend" --> cp : Response payout-pay
group Conditional
cp -> "Billblend": Get status by Order ID\napi/v2/status
"Billblend" --> cp : Response\nstatus,redirect-to
cp -> R: Provide redirect URL
deactivate "Billblend"
deactivate cp
activate R
R -> "Billblend": Redirect by redirect-to
deactivate R
activate "Billblend"
"Billblend" -> R: Additional Submit Form
deactivate "Billblend"
activate R
R -> "Billblend": Submit Form
deactivate R
activate "Billblend"
end
"Billblend" --> "Billblend": Processing\nPayout
group Get Final Status
== Receive Connecting Party Callback ==
cp <- "Billblend" : Callback with Final Status
"Billblend" <-- cp: HTTP 200
deactivate "Billblend"
== Order Status request ==
cp -> "Billblend": Get status by Order ID\napi/v2/status
activate "Billblend"
"Billblend" --> cp : Response\nstatus,order-stage
deactivate "Billblend"
end
group Optional
cp --> R: Show result
deactivate cp
end

(1) Payout can be initiated by Connecting Party based on internal business model or Receiver’s request.
(2) To initiate payout, implement payout-check request, see /api/v4/payout-check.
(4) To implement order status request see /api/v2/status/.
(5) The order-stage parameter should be payout_check_validated. If payout_check_validating is received, the payout request is not confirmed by the bank yet. In this case the Connecting party should continue to request transaction status.
(6) To continue payout processing, implement payout-pay request, see /api/v4/payout-pay.
(9) Some payout methods require the Receiver to fill the additional data on the form. The form to redirect the customer will return in status response in redirect-to parameter.
(12) The Receiver submits the payout form.
(13) The Receiver gets redirected back to Connecting Party. See Final redirect.
(15) To implement callback with final status handling see Connecting Party Callback.
(17) Status should be requested multiple times with 3-5 seconds interval until final status will be received in response.
(19) Final Status can be sent by Connecting Party based on internal business model or by Receiver’s request.