Payment providers
Get a list of possible providers for your payments.
You can use TrueLayer's /providers
endpoint to retrieve a list of providers for payments you create with the Payments API. When you use the v2 /providers
endpoint to retrieve the list of providers, you get:
- A
provider_id
for the provider - .svg logos for each provider with URLs.
- The country the provider is in.
- Information about applicable payment fees.
- The available authorisation methods.
- A list of supported payment schemes.
This can be useful when you are creating a customised integration, using the
preselected
provider selection method to select a provider.However, if you are integrating for a standard use case with the
user_selected
provider selection method, we recommend that you do not use the/providers
endpoint.
Check our API reference for more information about the v2 and v3 versions of the /providers
endpoint.
As v3 is currently in private beta, we do not provide the /providers
endpoint natively on our API.
Example provider response
This is an example of the response that the v2 providers
endpoint returns:
{
"provider_id": "ob-revolut",
"logo_url": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/revolut.svg",
"icon_url": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/revolut.svg",
"display_name": "Revolut",
"country": "GB",
"divisions": [
"retail"
],
"single_immediate_payment_schemes": [
{
"scheme_id": "provider_determined",
"requirements": ...
}
],
"release_stage": "live"
}
You can pass the provider_id
value from the response in the provider_selection.provider_id
object in a payment if the provider type in the payment_method
is set as preselected
.
Set a provider for a payment
You can preselect a provider for a payment instead of letting your user choose a provider. This bypasses the provider_selection
action. To do so, use preselected
as the value for the provider_selection
object:
{
"amount_in_minor": 1,
"currency": "GBP",
"payment_method": {
"type": "bank_transfer",
"provider_selection": {
"type": "preselected",
"provider_id": "YOUR_PRESELECTED_PROVIDER_ID",
"scheme_id": "SCHEME_ID_YOUR_PRESELECTED_PROVIDER_SUPPORTS"
}
}
}
Configuration considerations
There are a few things you should consider when you use the /providers
endpoint.
Regions outside of the UK, France, and Ireland
Currently, regions outside of the UK, Ireland and France are not officially supported. As such, flows may not function as expected.
Remitter details for EU banks
Some European banks, outside of the UK, Ireland, and France, may require remitter details. If you want to use providers from those regions, you need to collect the remitter (sender) account details from the user. You then provide these details in payment_method.provider.remitter
when you've selected provider_selection.preselected
. If you don't provide the remitter details, the payment may fail.
To check if a provider requires remitter details, check whether they're mandatory in the response of providers
endpoint. You can find this information in this field of the response:
single_immediate_payment_schemes.requirements.single_immediate_payment.remitter.mandatory
Correct auth_flow_type
for v2 providers endpoint
auth_flow_type
for v2 providers endpointWhen you use the v2 providers endpoint to get the list of providers, you should use redirect
as the value for the auth_flow_type
object.
Available values for scheme_id
scheme_id
When you use provider_selected.preselected
, you must provide a valid scheme_id
. The /providers
endpoint returns the schemes that a provider supports.
The values currently available for the scheme_id
field are below.
scheme_id | Description |
---|---|
provider_determined | The bank determines which payment scheme to use for the payment. |
sepa_credit_transfer | The payment is made via SEPA credit transfer. |
sepa_credit_transfer_instant | The payment is made via SEPA instant credit transfer. |
faster_payments_service | The payment is made via the Faster Payment System. |
Updated 23 days ago