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

When 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

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_idDescription
provider_determinedThe bank determines which payment scheme to use for the payment.
sepa_credit_transferThe payment is made via SEPA credit transfer.
sepa_credit_transfer_instantThe payment is made via SEPA instant credit transfer.
faster_payments_serviceThe payment is made via the Faster Payment System.