Use the providers endpoint

In this page, you'll find out how to:

  • Use /providers to get your required provider ID.
  • Use a preselected provider ID to set a provider for a payment.

❗️

WARNING

This page is only for clients choosing customised integration path. You should not follow this path for standard use cases.

Get providers

To find out available provider_ids you can use TrueLayer's /providers` endpoint, which provides a database of providers TrueLayer supports, alongside a lot of useful authorisation data about the provider.

As v3 is currently in private beta, we do not provide the /providers endpoint natively on our API. However, you can still use /providers endpoint from v2 to create payments with provider_selection.type set to preselected.

Check out our API reference for further details on the /providers endpoint.

🚧

Some providers found on the providers endpoint will not function as expected

Regions outside UK, Ireland and France is currently not officially supported, and flows may not function as expected.

❗️

When calling the providers endpoint, use redirect auth_flow_type filter in the query parameters

auth_flow_type: redirect

Example provider

{
      "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"
    }

Pass the provider_id field from the response to provider.provider_id if the provider type in the payment_method is set to preselection.

🚧

Some EU banks require remitter details

Some European banks may require remitter details outside UK, Ireland and France. If you want to try using providers from those regions, you need to collect the remitter (sender) account details from user and pass it into payment_method.provider.remitter when the type is selected preselection. Otherwise, payment might fail. You can see if a provider requires remitter details by checking if they are mandatory in the response of providers endpoint, via checking the field single_immediate_payment_schemes.requirements.single_immediate_payment.remitter.mandatory.

Set a provider for a payment

You can set a provider for a payment instead of letting your user choose a provider. This bypasses the provider_selection action. To do so, set the type of the provider_selection field as preselected:

{
  "amount_in_minor": 1,
  "currency": "GBP",
  "payment_method": {
    "type": "bank_transfer",
    "provider_selection": {
      "type": "preselected",
      "provider_id": "YOUR_PRESELECTED_PROVIDER_ID"
      }
    }
}

Did this page help you?