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 https://api.sandbox.bvnk.com/payment/v1/payins/simulate request with the following payload:

{
    "walletId": "acc:23090539331497:bVsk6:0",
    "paymentReference": "<your-own-reference>",
    "paymentMethod": "FASTER_PAYMENT",
    "amount": {
        "value": 60.50,
        "currency": "GBP"
    },
    "originator": {
        "name": "Sender Name",
        "bankAccount": {
            "accountNumberFormat": "IBAN",
            "accountNumber": "GB87SYPE04082500000904"
        }
    }
}
{
    "walletId": "acc:23090539331497:bVsk6:0",
    "paymentReference": "<your-own-reference>",
    "paymentMethod": "SEPA_INST",
    "amount": {
        "value": 100,
        "currency": "EUR"
    },
    "originator": {
        "name": "Sender Name",
        "bankAccount": {
            "accountNumberFormat": "IBAN",
            "accountNumber": "IE29AIBK93115212345678"
        }
    }
}
{
    "walletId": "acc:23090539331497:bVsk6:0",
    "paymentReference": "<your-own-reference>",
    "paymentMethod": "ACH",
    "amount": {
        "value": 120.60,
        "currency": "USD"
    },
    "originator": {
        "name": "Sender Name",
        "bankAccount": {
            "accountNumberFormat": "ABA",
            "accountNumber": "026009593"
        }
    }
}
{
    "walletId": "acc:23090539331497:bVsk6:0",
    "paymentReference": "<your-own-reference>",
    "paymentMethod": "SWIFT",
    "amount": {
        "value": 2000.40,
        "currency": "USD"
    },
    "originator": {
        "name": "Sender Name",
        "bankAccount": {
            "accountNumberFormat": "IBAN",
            "accountNumber": "US64BOFA0260095931234567890"
        }
    }
}

Parameter

Type

Description

walletId

String

Your wallet id.

paymentReference

String

Reference for the payment.

paymentMethod

String

Payment method to be utilised for transactions associated with a specific beneficiary. Optional.

If it is not provided, the logic will be based on other dynamically determined attributes and rooted for the specific wallet.

If provided, use the following methods for each currency:

  • GBP: FASTER_PAYMENT, CHAPS, or SWIFT
  • EUR: SEPA_CT, SEPA_INST, or SWIFT
  • USD: ACH, ACH_SAME_DAY, FEDWIRE, CUBIX, or SWIFT

amount.value

String

Pay-in amount in a numerical value.

amount.currency

String

Pay-in currency. Possible values:

  • USD
  • EUR
  • GBP

originator.name

String

Name of the sender of the pay-in.

originator.bankAccount

String

Bank account details of the sender of the pay-in.

originator.accountNumberFormat

String

Account number format of the sender of the pay-in.
For example IBAN can be used for SWIFT and ABA for local USD rails.

originator.accountNumber

String

Account number of the sender of the pay-in.

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.

📘

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:

Flow

Customer Reference Prefix

Description

NORMAL

Not Applicable

Standard process that does not require a prefix to simulate a payout.

FAILED

FAILED

This flow is used to simulate a failure on the banking partner side such as the payment scheme rejecting the payout.

RETURN

RETURN

This 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 the previously mentioned behaviors in the Sandbox environment, you can input the customer reference prefix from the flow you want to simulate. If you do not include a customer reference prefix, the system will default to the NORMAL flow as the expected behavior. For instance, if you wish to simulate a failed flow when requesting a payout, the reference should be formatted as FAILED<my-own-reference>.