Skip to main content
BVNK

Try fiat payments in simulator

The sandbox environment provides a consistent simulation experience for pay-ins and payouts across all customer accounts. This ensures predictable behaviour regardless of the underlying partner or integration method.

The simulation also supports testing in cases where a partner's sandbox environment is limited or unavailable. This allows you to validate payment flows and integration logic in a controlled setting before going live.

Note that this functionality is not enabled for all wallets. If you experience any issues when trying to use this simulator, contact Support.

Pay-in simulator​

To simulate pay-ins with different currencies and payment methods, in the sandbox environment, send the POST /payment/v2/payins/simulation request with the following payload:

{
"walletId": "acc:23090539331497:bVsk6:0",
"remittanceInformation": "Invoice INV-2024-00142",
"method": "FASTER_PAYMENT",
"amount": 60.50,
"currency": "GBP",
"originator": {
"name": "James Whitfield",
"bankAccount": {
"accountNumber": "GB87SYPE04082500000904",
"accountNumberFormat": "IBAN",
"bankCode": "SRLGGB2L"
}
}
}

The details of a beneficiary are unnecessary for simulating a pay-in because walletId provides specific information for the wallet to be credited.

It is also advisable to subscribe to the pay-in webhook to stay informed about changes to the wallet balance resulting from the simulated pay-in. See Configure webhooks for more information.

📘 Not all USD wallets support all payment methods

See the process of Wallet Profiles. All payment methods and currencies are subject to change and enhancements with further optionality.

Payout simulator​

The standard payout flow is shown on the diagram:

In the BVNK simulator, you can test the following behaviours:

FlowPrefixDescription
NORMALNot ApplicableStandard process that 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 process simulates a successful payout, followed by a return event.

In this scenario, the payout initially appears to be successful, as it has been submitted to the beneficiary's bank. However, the bank ultimately rejects the payment, or the customer decides to reverse the transaction.

To test these behaviours in the sandbox environment, start the payout's reference with the prefix of the flow you want to simulate. Which field carries the prefix depends on the API version:

  • v.2 and v.3 payouts: the remittance information, beneficiary.remittanceInformation in a POST /payment/v2/payouts request. Remittance information isn't in the Payments API v.3 reference yet.
  • v.1 payouts: the payment reference, paymentReference.

If you don't include a prefix, the payout follows the NORMAL flow. For example, to simulate a failed payout, format the remittance information as FAILED<your-reference>, such as FAILEDINV-2024-001.

Was this page helpful?