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/
.
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.
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 type | Endpoint | Required details |
---|---|---|
Closed-loop payout | /v3/payouts |
|
Open-loop payout | /v3/payouts |
|
Refund | /v3/payments/{id}/refunds |
|
Learn more about how to create a closed-loop payout, open-loop payout or refund.
Updated 5 months ago