Merchant accounts for payments

An introduction to TrueLayer merchant accounts.

Merchant accounts are real bank accounts managed for you by TrueLayer. They are required in order to make payouts or refunds with the Payments API.

Retrieve the details of your merchant accounts, transactions to and from your merchant accounts, and a list of merchant account payment sources using API requests.

If you just need to check your merchant account details, balances, or a list of recent transactions, you can use the Merchant account dashboard in Console.

To make payouts from a merchant account, your merchant account must contain enough money to make the payment. You can add funds yourself, or users can make payments to your merchant account.

By default, you have one GBP and one EUR merchant account in sandbox. To enable merchant accounts in production, contact us.

Merchant account benefits

Different currencies

TrueLayer supports transactions in GBP and EUR. To process transactions in different currencies, you need separate merchant accounts for each, and you can set up different authorisation flows for different merchant accounts.

This means that you can use the hosted payment page or embedded payment page for EUR payments, and a direct API integration for GBP payments.

Note that you can only have one merchant account per currency for each client_id.

Simple, flexible pay-ins

You can use your merchant account ID to direct payments to your merchant account. This reduces the chance of errors and streamlines the pay-in flow.

Each merchant account also has an account number, sort code and IBAN, which you can use to receive payments.


Each payment to a merchant account generates a payment_source_id, an ID that identifies each payment. You can use this to make a payout to an account that previously made a payment to your merchant account with no need for further user authorisation. This is known as a closed-loop payout.

You can make a payout to an account that has not previously paid into your merchant account too. This is known as an open-loop payout


Similarly to a closed-loop payout, a refund is a payment made back to a user without the need for user authorisation. Refunds are based on a previous payment id. This means that there's no need to provide payment or user details. Additionally, you can make a refund over multiple payments, but they cannot exceed the initial payment value.