.. _Payout-with-bank-confirmation: Payout with bank confirmation =========================================== .. toctree:: :maxdepth: 1 .. contents:: :local: .. role:: ex .. role:: code 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 :ref:`Glossary`. Payout Flow ----------------------------- .. uml:: :align: center participant Receiver as R participant "Connecting Party" as cp autonumber group Optional R -> cp : Checkout activate cp end == Payout request == cp -> "Payneteasy": /api/v4/payout-check/ activate "Payneteasy" "Payneteasy" --> cp: Order ID cp -> "Payneteasy": Get status by Order ID\napi/v2/status "Payneteasy" --> cp : Response\nstatus,order-stage cp -> "Payneteasy": /api/v4/payout-pay/ "Payneteasy" --> cp : Response payout-pay group Conditional cp -> "Payneteasy": Get status by Order ID\napi/v2/status "Payneteasy" --> cp : Response\nstatus,redirect-to cp -> R: Provide redirect URL deactivate "Payneteasy" deactivate cp activate R R -> "Payneteasy": Redirect by redirect-to deactivate R activate "Payneteasy" "Payneteasy" -> R: Additional Submit Form deactivate "Payneteasy" activate R R -> "Payneteasy": Submit Form deactivate R activate "Payneteasy" end "Payneteasy" --> "Payneteasy": Processing\nPayout group Get Final Status == Receive Connecting Party Callback == cp <- "Payneteasy" : Callback with Final Status "Payneteasy" <-- cp: HTTP 200 deactivate "Payneteasy" == Order Status request == cp -> "Payneteasy": Get status by Order ID\napi/v2/status activate "Payneteasy" "Payneteasy" --> cp : Response\nstatus,order-stage deactivate "Payneteasy" 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 :ref:`/api/v4/payout-check/`. | (4) To implement order status request see :ref:`/api/v2/status/`. | (5) The :ex:`order-stage` parameter should be :ex:`payout_check_validated`. If :ex:`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 :ref:`/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 :ref:`Final redirect`. | (15) To implement callback with final status handling see :ref:`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.