Payout and refund basics

An overview of Payouts features and use cases, plus info about the /refunds endpoint.

A payout is a payment from a TrueLayer merchant account to a customer, using the Payments API v3. There are two types of payout:

  • A payment back to a user who has already used a particular set of bank details to pay you. This is also known as a closed-loop payout.
  • A payment from a merchant account to an external account or business account, when the user hasn't paid you before. This is also known as an open-loop payout.

A refund is a payment or payments made back to a user that previously paid into your merchant account. These are the differences between a refund and a closed-loop payout:

  • Refund payment/s cannot exceed the total of the initial payment the user made.
  • A refund is directly linked to a payment, not a payment source.
  • The /refunds/ endpoint is a child of the /payments/ endpoint, not /payouts/.
An overview of refunds and the two types of payout.  
The required information to make the payouts is included next to them.

An overview of refunds and the two types of payout.
The required information to make the payouts is included next to them.

When you make a payout or refund with the /v3/payouts or /v3/payments/{id}/refunds endpoint, it generates an id.

You can use the id of a payout or refund to check its status. Unlike a single payment or mandate, this ID is not required to authorise the payment.

We support payouts within the UK and EU. For more information about the providers we support by country, see our Supported Providers page in Console.

Closed-loop payouts

🚧

Closed-loop payouts require Payments

To make closed-loop payouts, you need to integrate pay-ins through the Payments API v3.

Closed-loop payouts are ideal for when you need to pay and accept payments from customers. For example:

  • ecommerce platforms where customers buy and sell things
  • financial services and investment
  • iGaming platforms.

Closed-loop payouts are linked to individual pay-ins using the payment source object. Because of this, they are easy to create. They are also secure, as you're paying money back to account details that you checked when the user initially paid in.

You can enable closed-loop payouts in the UK and EU.

Learn how to make closed-loop payouts.

Open-loop payouts

If you don't want to integrate with Payments but do want to improve your payouts experience, open-loop payouts are ideal. These payouts work across Europe and are instant in almost all cases. To reduce the chance of payouts failing due to issues such as bank downtime, you can configure a retry logic for payouts in the EU.

Where customers value instant payouts across a range of geographies, open-loop payouts build customer loyalty and trust.

Learn how to make open-loop payouts.

Refunds

🚧

Refunds require Payments

To use the /refunds endpoint to refund payments, you need to integrate pay-ins through the Payments API v3.

You can issue refunds through the payments view in Console, with no technical knowledge required. This makes them suitable for ecommerce integrations, with or without closed-loop payouts.

Because refunds can never exceed the value of an initial payment, there is less operational risk associated with transferring money to customers this way.

Our ecommerce plugins for Shopify, Magento, and WooCommerce all support refunds. Get started with our ecommerce plugins.

Learn how to refund payments.

Information needed for payouts and refunds

This table provides an overview of the information you need to include in your closed-loop payout, open-loop payout, or refund requests:

Payment typeEndpointRequired details
Closed-loop payout/v3/payouts
  • merchant_account_id
  • Value of the payout
  • Currency
  • Beneficiary, including the following:
    • A reference
    • payment_source_id of the original pay-in
    • The user_id from the original pay-in
Open-loop payout/v3/payouts
  • merchant_account_id
  • Value of the payout
  • Currency
  • Beneficiary, including the following:
    • A reference
    • The account holder name
    • The account identifier (SCAN or IBAN)
Refund/v3/payments/{id}/refunds
  • id of the payment to refund
  • Value of the refund
  • A reference

    Learn more about how to create a closed-loop payout, open-loop payout or refund.