Overview

Manual Bank Transfer (MBT) enables your customers to transfer money directly from their bank account. Present this as a payment method in your checkout so that customers and receive real time updates from Ivy when the funds land in your Collection Account.

The high level flow is the following:

1

Create an Order

Create an Order with the /order/create endpoint. You will receive the destination in the response.

2

Display Payment Details

Display the destination to your customer as the payment instructions.

3

Track the Status

Track the status of the order from processing until it is on status paid. See our Status Flow documentation for more information.

Step by Step Guide

Step 1: Create an Order

To create an order, you can either use our Node.js SDK or you can directly call the endpoint via HTTP.

curl -X POST https://api.getivy.de/api/service/order/create \
  -H "X-Ivy-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 1.23,
    "currency": "EUR",
    "referenceId": "your-internal-reference",
    "customer": {
      "email": "customer@example.com"
    }
  }'

Step 2: Display Bank Details

After creating the order, you’ll receive bank transfer details in the response. Use the destination field to display the payment instructions to your customer.

destination
object

The destination to which the customer should transfer the money.

destination.bankAccount
object
required

The IBAN, Account Holder Name and BIC to which the customer should transfer the money.

destination.bankStatementReference
string
required

The reference to be displayed on the customer’s bank statement.

Display these details to your customer as per the UX guidance below, so that they can accurately complete the transfer.

Step 3: Track the Status

Monitor the order status to know when the payment is complete. For detailed information about order statuses and their meaning, see our Status Flow documentation.

  1. When the order is created, the status will be processing.
  2. When the payment is received and reconciled into your Collection Account, the order will be updated to paid.

If the payment does not arrive or cannot be reconciled (i.e. the customer never sent the funds or payment information was incorrect) then the status will remain as processing for 6 days at which point it will move to failed.

If a payment is received with an incorrect amount or payment reference then it will be automatically rejected and returned to the customer. It is critical that all payment information is included in the Manual Bank Transfer so that the payment can be reconciled.

You can either poll the order status or set up webhooks to receive real-time updates:

Make requests to the /order/details endpoint to check the current status

Need Help?