Collect via a Virtual Account

Give your customer an account number. They pay by normal bank transfer.

✅

What this does

You get a real account number (IBAN). Your customer sends a normal bank or SEPA transfer to it. No payment page.

📘

Who this is for

Businesses whose customers pay by bank transfer, and platforms that want a separate account number per merchant.

Steps

1. Create the account

curl -X POST 'https://sandbox-api.transfi.com/v3/iban' \
  -H 'Authorization: Basic YOUR_BASE64_CREDENTIALS' \
  -H 'mid: YOUR_MID' \
  -H 'Content-Type: application/json' \
  -d '{
    "currency": "EUR"
  }'

To create it for one of your merchants, add "customer": { "userId": "UX-..." }. Deposits into that account are then attributed to that merchant.

→ Create Virtual IBAN · List Virtual IBANs

2. Give the account details to your customer

They send a bank transfer whenever they like.

3. The deposit arrives and is checked

Before the money becomes available, four things must be true:

  1. There is a matching order for the amount
  2. The sender is identified
  3. Compliance checks have passed
  4. The sender's verification (KYC/KYB) is complete

If a deposit is held, it is almost always point 1 or 2.

4. Check the balance

curl -X GET 'https://sandbox-api.transfi.com/v3/iban/balance' \
  -H 'Authorization: Basic YOUR_BASE64_CREDENTIALS' \
  -H 'mid: YOUR_MID'

The response shows available, locked, frozen, inTransit and total. Only available can be used. → Get IBAN Balance

📘

A deposit with no matching order

Link it to a customer with Link IBAN Orders. Compliance checks then run and the deposit is released if they pass.

Test it

Simulate Incoming IBAN Deposit then Simulate IBAN Order Completion.

Related

Local Payment Method · Paying on Behalf of Your Customers


Did this page help you?