---
title: "Simulate pay-in"
method: POST
path: "/payment/v2/payins/simulation"
tags: ["Fiat Payments"]
---

# Simulate pay-in

`POST /payment/v2/payins/simulation`

## Request

- Base URL: `https://api.sandbox.bvnk.com`
- URL: `https://api.sandbox.bvnk.com/payment/v2/payins/simulation`
- Auth: none declared
- TypeScript: <https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/docs/payment/v2/payins/simulation/post.ts> (a function with typed inputs; its response is checked against the schema)

Simulates pay-ins with different currencies and payment methods in the sandbox environment.

This version allows specifying originator entity details (individual or company) for more comprehensive testing scenarios.

**Important**: A `201` response indicates the pay-in was accepted for processing. It does not mean the funds have settled. The transaction may still be rejected asynchronously, for example, due to a blocked account, financial crime screening holds, or compliance checks. Monitor webhooks for the final transaction status.

## Request body

- object
  - `walletId` WalletId, required (unresolved $ref)
  - `method` 'FASTER_PAYMENT' | 'SWIFT' | 'SEPA_CT' | 'SEPA_INST' | 'ACH' | 'ACH_SAME_DAY' | 'FEDWIRE' | 'CUBIX': Payment method to be utilised for the pay-in. Optional. If not provided, the logic will be based on other dynamically determined attributes and routed for the specific wallet. Use the following methods for each currency: - GBP: `FASTER_PAYMENT` - EUR: `SEPA_CT`, `SEPA_INST`, or `SWIFT` - USD: `ACH`, `ACH_SAME_DAY`, `FEDWIRE`, `CUBIX`, or `SWIFT`
  - `remittanceInformation` RemittanceInformation, required (unresolved $ref)
  - `amount` number, required: The amount of the pay-in transaction.
  - `currency` string, required: Currency code (ISO-4217 format) for the pay-in transaction.
  - `originator` object, required
    - `name` string, required: Name of the sender of the pay-in.
    - `bankAccount` object, required
      - `accountNumber` string, required: Account number of the sender of the pay-in.
      - `accountNumberFormat` 'SCAN' | 'IBAN' | 'SWIFT' | 'ABA' | 'CUBIX': Format type of the bank account number
      - `bankCode` string: Originator's bank code (BIC/SWIFT code).

## Response `201`

Accepted for processing. This does not indicate that the pay-in has settled. The transaction may still be rejected asynchronously due to account restrictions, financial crime screening holds, or compliance checks.

## Other responses

- `400`: Bad request

## Changes

- **2026-06-16** `97d6c0d2fe2e`: 2 breaking, 2 warning, 1 info
  - the `remittanceInformation` request property's maxLength was decreased to `34`
  - the `details/errors` response's property type changed from `object` to `array` for status `400`
  - changed the pattern of the request property `remittanceInformation` from `^[A-Za-z0-9.,\-\s]+$` to `^[a-zA-Z0-9\s,.-]{5,34}$`
  - removed the optional property `details/errors/requestBody` from the response with the `400` status
  - …1 more

[Operation history](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/changes/payment/v2/payins/simulation/post.md)

---

[API](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints.md) - [All operations](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/llms.txt) - [OpenAPI document](https://skmtc.dev/bvnk/apis/bvnk-api-endpoints/revisions/c386d436bf2c?raw)
