Payouts Simulator

This functionality describes how in the Sandbox environment payouts can be simulated in various behaviours.

Fiat payouts progress through various statuses as part of the payout workflow. This document provides a detailed explanation of each status and its role in the process.

Status

Description

PENDING_APPROVAL

Optional. This state is returned if payouts from the wallet require approvals. The payout will remain in this state until all approvals are received. After that, the PROCESSING webhook is emitted. Only relevant for fiat transactions.

PROCESSING

Payouts will remain in this state until a final response has been received from our processing partners.

COMPLETED

Once a payout has been successfully completed from the side of BVNK, the payout will transition to COMPLETED. Note that it is still possible for the funds to be rejected by the beneficiary bank.

FAILED

If for any reason our processing partners are unable to successfully complete the payout, the payout will transition to FAILED, and funds will remain in the merchant's wallet.

CANCELLED

Should the payment be cancelled, then the status will be transitioned to the CANCELLED state. This can occur in scenarios such as when a four-eyes approval is rejected or the request of a four-eyes approval times out. Funds will be returned to the merchants wallet.

RETURNED

Optional. Should the funds be returned after we have received a response from our processing partners, the payout will be marked as returned and the funds will be returned to the merchants wallet.

ON_HOLD

This status is shown when screening takes longer than anticipated.

The following diagram shows the possible transitions between states.

The following behaviours can be tested within the BVNK system:

FlowCustomer Reference PrefixDescription
NORMALNot ApplicableThis flow is the standard process and does not require a prefix to simulate a payout.
FAILEDFAILEDThis flow is used to simulate a failure on the banking partner side such as the payment scheme rejecting the payout.
RETURNRETURNThis flow is utilised for a special case to simulate a successful payout which is then followed by a return event. In this scenario, the payout has failed after successfully being submitted to the beneficiary's bank who then rejected the payment or the transaction was reverted by the customer.

The previously mentioned behaviours can be simulated by inputting the customer reference prefix from the flow which is desired to be tested in the Sandbox environment. If no customer reference prefix is included then by default the NORMAL flow would be the expected behaviour. To give an example, if a failed flow would like to be simulated then when a payout is requested the reference included should read as FAILED<my-own-reference>.