Different direct API integration flows
A direct API integration differs if provider selection or additional input is necessary.
The required steps, and therefore actions you need to complete, for payment or mandate authorisation depend on whether:
- The payment has the provider selection method
user_selected. - The authorisation requires additional input, such as branch code in Germany.
The possible combinations of these scenarios mean there are four possible flows:

1. UK payment with a preselected provider
In this case, you must complete the redirect action.
2. EU payment with a preselected provider
In this case, you must complete the form and then redirect action if additional input is needed (although embedded flows don't need the redirect action).
If no additional input is needed, then you must complete the redirect action only.
3. UK payment with a user selected provider
In this case, you must complete the provider_selection then redirect actions.
4. EU payment with a user selected provider
In this case, you must complete the provider_selection action, followed by the form and then redirect action if additional input is needed (although embedded flows don't need the redirect action).
If no additional input is needed, then you must complete the provider_selection and then redirect actions only.
Direct API integration notes
Your direct API integration should have logic and UIs to handle the flows required for the payment or mandate types you plan to receive. When developing your integration you should note:
- The examples on this page are illustrative and don't include any headers such as the
access_token,Tl-SignatureorIdempotency-Key. - A payment can still have a provider selection type of
preselectedeven if users select a provider through a provider selection screen. However, in this case, the user must select a provider before the payment and you must provide theprovider_idat payment creation.
An alternative scenario is if a user has already made a payment. In this case, you can provide an option for them to pay with the same method they used previously. Then, you can create apreselectedpayment which uses the sameprovider_idas their previous payment. - If you are developing an integration flow for a provider that requires embedded authorisation (for example, German banks), you do not need to complete the
redirectaction after completing theformaction.
Payments and mandate differences
The actions you need to complete to authorise a payment or mandate are very similar. The main difference is that the endpoints start with
/paymentsor/mandatesrepesctively.The examples on this page refer to the
/paymentsendpoints, but you can substitute the path parameter with/mandatesif needed.
UK preselected provider flow
In this flow, you create a payment or mandate with a value of preselected for the provider_selection.type object, and provide a provider ID. In most cases, you would develop a UI for the user to select this before payment creation.
The provider has already been selected, and UK providers do not require additional input. This means the only required steps are for you to start the authorisation flow and then complete the redirect action. The redirect takes the user to their bank so they can authorise the payment.
To integrate this flow:
-
Develop a UI that enables users to initiate a payment with a specific UK provider, and then create a payment with the provider ID included.
For example, this could include a provider selection screen before payment creation. -
Send a POST request with the payment
idto the/payments/{id}/authorization-flowendpoint.
The response states the next action isredirectand contains the redirecturiwhich you set in Console. -
Redirect the user to the redirect
uriso they can authorise their payment through the provider.
In this flow, you can enable the user to authorise the payment and be redirected in a single action as the provider is already selected.
UK preselected request body and response
Use the tabs in this code block to see examples of:
- The payment creation request.
- The POST request sent to
/payments/{id}/authorization-flow. - The response returned from
/payments/{id}/authorization-flow.
{
"amount_in_minor": 1,
"currency": "GBP",
"payment_method": {
"type": "bank_transfer",
"provider_selection": {
"type": "preselected",
"provider_id": "mock-payments-gb-redirect",
"scheme_id": "faster_payments_service"
},
"beneficiary": {
"type": "merchant_account",
"account_holder_name": "Merchant Account name",
"merchant_account_id": "2a485b0a-a29c-4aa2-bcef-b34d0f6f8d51"
}
},
"user": {
"id": "57e9ae89-01fd-4779-8775-5b7de9a85a64",
"name": "test user",
"email": "[email protected]",
"phone": "+441234567890"
}
}
{
"provider_selection": {},
"redirect": {
"return_uri": "https://console.truelayer.com/redirect-page"
}
}
{
"status": "authorizing",
"authorization_flow": {
"actions": {
"next": {
"type": "redirect",
"uri": "https://pay-mock-connect.truelayer-sandbox.com/login/cf235b86-d633-42e5-9981-405723197ac5#token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJjZjIzNWI4Ni1kNjMzLTQyZTUtOTk4MS00MDU3MjMxOTdhYzUiLCJzY29wZSI6InBheS1tb2NrLWNvbm5lY3QtYXBpIiwibmJmIjoxNjc4ODg4MDE2LCJleHAiOjE2Nzg4OTE2MTYsImlzcyI6Imh0dHBzOi8vcGF5LW1vY2stY29ubmVjdC50cnVlbGF5ZXItc2FuZGJveC5jb20iLCJhdWQiOiJodHRwczovL3BheS1tb2NrLWNvbm5lY3QudHJ1ZWxheWVyLXNhbmRib3guY29tIn0.SEaRgmRlIuI1sixxL2o93hL0sr-9rz68-aY_pF0u0iY"
}
}
}
}
EU preselected provider flow
In this flow, you create a payment or mandate with a value of preselected for the provider_selection.type object, and provide a provider ID. In most cases, you would develop a UI for the user to select this before payment creation.
The provider has already been selected, but some EU providers require additional input. This means you need to start the authorisation flow, then check the response to see whether you need to submit additional input with a form action. If so, you need to have developed a UI that enables the user to submit it.
After submitting additional input, or if no additional input was required, you must complete the redirect action. The redirect takes the user to their bank so they can authorise the payment.
Embedded flows
If you are submitting additional input as part of an embedded flow, you don't need to redirect the user. This is because they've already been redirected to the provider to submit additional information, where they also authorise the payment.
To integrate this flow:
- Develop a UI that enables users to initiate a payment with a specific EU provider.
This might include a screen that enables the user to select a provider before payment creation. - When the user initiates the payment through this UI, create a payment and send a POST request with the payment
idto the/payments/{id}/authorization-flowendpoint. - Check the response you receive from the start authorisation flow request.
- If the next action is
form, additional input is required. You should perform steps 4 and 5. - If the next action is
redirect, you must redirect the user to the redirecturialso included in the response. No further action is required.
- If the next action is
- For the
formaction, check thetypeand details for each of theinputswithin the object. Ensure that your UI is able to accommodate the data collection required by each of the inputs. - Display a UI that enables the user to provide the information required for each of the
inputs.
If the provider requires additional data, you might have to complete consecutiveformactions. - After you provide the information needed for the
formaction or actions, redirect the user to the redirecturiso they can authorise their payment through the provider.
This step isn't needed for embedded flows.
EU preselected request body and response
Use the tabs in this code block to see examples of:
- The payment creation request.
- The POST request sent to
/payments/{id}/authorization-flowto start the authorisation flow. - The response returned from
/payments/{id}/authorization-flowif theformaction is needed. This contains extra information about what's required for the form.
If theredirectaction is needed at this step, redirect the user to the link in theactions.next.uriobject. - The POST request sent to the
.../authorization-flow/actions/formendpoint to submit additional information for the form. - An example of the response after you submit the additional information needed for the form if there are no extra form actions to complete.
{
"amount_in_minor": 1,
"currency": "EUR",
"payment_method": {
"type": "bank_transfer",
"provider_selection": {
"type": "preselected",
"provider_id": "mock-payments-de-redirect",
"scheme_id": "sepa_credit_transfer"
},
"beneficiary": {
"type": "merchant_account",
"account_holder_name": "Merchant Account name",
"merchant_account_id": "2a485b0a-a29c-4aa2-bcef-b34d0f6f8d51"
}
},
"user": {
"id": "57e9ae89-01fd-4779-8775-5b7de9a85a64",
"name": "Test user",
"email": "[email protected]",
"phone": "+441234567890"
}
}'
{
"provider_selection": {},
"redirect": {
"return_uri": "https://console.truelayer.com/redirect-page"
},
"form": {
"input_types": [
"text"
]
}
}
{
"status": "authorizing",
"authorization_flow": {
"actions": {
"next": {
"type": "form",
"inputs": [
{
"type": "text",
"id": "psu-branch-code",
"mandatory": true,
"display_text": {
"key": "psu-branch-code.display-text",
"default": "Branch"
},
"format": "any",
"sensitive": false,
"min_length": 3,
"max_length": 3,
"regexes": [
{
"regex": "^\\d{3}$",
"message": {
"key": "psu-branch-code.regex",
"default": "Value is invalid."
}
}
]
},
{
"type": "text",
"id": "psu-account-number",
"mandatory": true,
"display_text": {
"key": "psu-account-number.display-text",
"default": "Account"
},
"format": "numerical",
"sensitive": false,
"min_length": 7,
"max_length": 7,
"regexes": [
{
"regex": "^\\d{7}$",
"message": {
"key": "psu-account-number.regex",
"default": "Value is invalid."
}
}
]
},
{
"type": "text",
"id": "psu-sub-account",
"mandatory": true,
"display_text": {
"key": "psu-sub-account.display-text",
"default": "Sub-account"
},
"format": "numerical",
"sensitive": false,
"min_length": 2,
"max_length": 2,
"regexes": [
{
"regex": "^\\d{2}$",
"message": {
"key": "psu-sub-account.regex",
"default": "Value is invalid."
}
}
]
}
]
}
}
}
}
{
"inputs": {
"psu-branch-code": "123",
"psu-account-number":"1234567",
"psu-sub-account":"12"
}
}
{
"status": "authorizing",
"authorization_flow": {
"actions": {
"next": {
"type": "redirect",
"uri": "https://pay-mock-connect.truelayer-sandbox.com/login/11955128-17ef-4989-a870-23762723d15b#token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIxMTk1NTEyOC0xN2VmLTQ5ODktYTg3MC0yMzc2MjcyM2QxNWIiLCJzY29wZSI6InBheS1tb2NrLWNvbm5lY3QtYXBpIiwibmJmIjoxNjc5MzMxNTA3LCJleHAiOjE2NzkzMzUxMDcsImlzcyI6Imh0dHBzOi8vcGF5LW1vY2stY29ubmVjdC50cnVlbGF5ZXItc2FuZGJveC5jb20iLCJhdWQiOiJodHRwczovL3BheS1tb2NrLWNvbm5lY3QudHJ1ZWxheWVyLXNhbmRib3guY29tIn0.rEnGW6TY3eaLJspx6y4bXRxz1uA_Xya2ekzWASyml4E"
}
}
}
}
UK user selected provider flow
In this flow, you create a payment or mandate with a value of user_selected for the provider_selection.type object. You then start the authorisation flow. The response contains a list of providers based on the value you provide for the provider_selection.filter object.
You need to create a UI for the user to select a provider from the list of providers you receive in the response. When they select a provider, you should submit the relevant provider_id through a request to the .../authorization-flow/actions/provider-selection endpoint.
After the user successfully selects a provider through your UI and you submit the provider_id, the response should contain redirect as the next action. Redirect the user to the redirect uri so they can authorise their payment through the provider.
To integrate this flow:
- Develop a UI that enables users to initiate a payment with no provider selected.
- When the user initiates the payment through this UI, create a payment and send a POST request with the payment
idto the/payments/{id}/authorization-flowendpoint. - Check the
actions.next.providersobject in the response you receive and retrieve resources and IDs for the providers. - Display a UI that enables the user to select a provider to make the payment through.
- After the user selects a provider, submit the relevant
provider_idthrough a request to the.../authorization-flow/actions/provider-selectionendpoint.
If successful, the response should contain theredirectaction. - Redirect the user to the redirect
uriso they can authorise their payment through the provider.
UK user selected request body and response
Use the tabs in this code block to see examples of:
- The payment creation request.
- The POST request sent to the
/payments/{id}/authorization-flowendpoint to start the authorisation flow. - The response returned from the
/payments/{id}/authorization-flowendpoint, which contains a list of possible providers.
This example only contains a single provider, but it can contain more depending on the filters in the initial payment creation request. - The POST request sent to the
.../authorization-flow/actions/provider-selectionendpoint to submit the provider the user selected. - The response returned from the
.../authorization-flow/actions/provider-selectionendpoint, which contains theredirectaction.
{
"amount_in_minor": 1,
"currency": "GBP",
"payment_method": {
"type": "bank_transfer",
"provider_selection": {
"type": "user_selected"
},
"beneficiary": {
"type": "merchant_account",
"account_holder_name": "Merchant Account name",
"merchant_account_id": "200552da-13da-43c5-a9ba-04ee1502ac57"
}
},
"user": {
"id": "cd101303-9124-4831-9fec-ef574ed22ecd",
"name": "Test User",
"email": "[email protected]",
"phone": "+441234567890"
}
}
{
"provider_selection": {},
"redirect": {
"return_uri": "https://console.truelayer.com/redirect-page"
}
}
{
"status": "authorizing",
"authorization_flow": {
"actions": {
"next": {
"type": "provider_selection",
"providers": [
{
"id": "mock-payments-gb-redirect",
"display_name": "Mock UK Payments - Redirect Flow",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/uk/icons/mock-payments-gb-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/uk/logos/mock-payments-gb-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "GB"
}
]
}
}
}
}
{
"provider_id": "mock-payments-gb-redirect"
}
{
"status": "authorizing",
"authorization_flow": {
"actions": {
"next": {
"type": "redirect",
"uri": "https://pay-mock-connect.truelayer-sandbox.com/login/0bd4f72a-b508-4643-b5a0-eb90eab0f887#token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIwYmQ0ZjcyYS1iNTA4LTQ2NDMtYjVhMC1lYjkwZWFiMGY4ODciLCJzY29wZSI6InBheS1tb2NrLWNvbm5lY3QtYXBpIiwibmJmIjoxNjc5NDEyMjk4LCJleHAiOjE2Nzk0MTU4OTgsImlzcyI6Imh0dHBzOi8vcGF5LW1vY2stY29ubmVjdC50cnVlbGF5ZXItc2FuZGJveC5jb20iLCJhdWQiOiJodHRwczovL3BheS1tb2NrLWNvbm5lY3QudHJ1ZWxheWVyLXNhbmRib3guY29tIn0.ksBNQV6H_Xhf7t6I9z9ZROblBFwwFz1HpM42autp37A"
}
}
}
}
EU user selected provider flow
In this flow, you create a payment or mandate with a value of user_selected for the provider_selection.type object. You then start the authorisation flow. The response contains a list of providers based on the value you provide for the provider_selection.filter object.
You need to create a UI for the user to select a provider from the list of providers you receive in the response. When they select a provider, you should submit the relevant provider_id through a request to the .../authorization-flow/actions/provider-selection endpoint.
Some EU providers require additional input. The response you receive when you submit the provider_id informs you whether you need to submit additional input through a form action. If so, you need to have developed a UI that enables the user to submit it.
After submitting additional input, or if no additional input was required, you must complete the redirect action. The redirect takes the user to their bank so they can authorise the payment.
Embedded flows
If you are submitting additional input as part of an embedded flow, you don't need to redirect the user. This is because they've already been redirected to the provider to submit additional information, where they also authorise the payment.
To integrate this flow:
- Develop a UI that enables users to initiate a payment with no provider selected.
- When the user initiates the payment through this UI, create a payment and send a POST request with the payment
idto the/payments/{id}/authorization-flowendpoint. - Check the
actions.next.providersobject in the response you receive and retrieve resources and IDs for the providers. - Display a UI that enables the user to select a provider to make the payment through.
- After the user selects a provider, submit the relevant
provider_idthrough a request to the.../authorization-flow/actions/provider-selectionendpoint. - Check the response you receive from the start authorisation flow request.
- If the next action is
form, additional input is required. You should perform steps 7 and 8. - If the next action is
redirect, you must redirect the user to the redirecturialso included in the response. No further action is required.
- If the next action is
- For the
formaction, check thetypeand details for each of theinputswithin the object. Ensure that your UI is able to accommodate the data collection required by each of the inputs. - Display a UI that enables the user to provide the information required for each of the
inputs.
If the provider requires additional data, you might have to complete consecutiveformactions. - After you provide the information needed for the
formaction or actions, redirect the user to the redirecturiso they can authorise their payment through the provider.
This step isn't needed for embedded flows.
EU user selected request body and response
Use the tabs in this code block to see examples of:
- The payment creation request.
- The POST request sent to the
/payments/{id}/authorization-flowendpoint to start the authorisation flow. - The response returned from the
/payments/{id}/authorization-flowendpoint. This contains a list of possible providers.
This example contains 12 sandbox providers used to test different payment integrations. - The POST request sent to the
.../authorization-flow/actions/provider-selectionendpoint to submit the provider the user selected. - The response from the
.../authorization-flow/actions/provider-selectionendpoint. This contains extra information about what's required for the form.
If theredirectaction is needed at this step, redirect the user to the link in theactions.next.uriobject. - The POST request sent to the
.../authorization-flow/actions/formendpoint to submit additional information for the form. - An example of the response after you submit the additional information needed for the form if there are no extra form actions to complete.
{
"amount_in_minor": 1,
"currency": "EUR",
"payment_method": {
"type": "bank_transfer",
"provider_selection": {
"type": "user_selected"
},
"beneficiary": {
"type": "merchant_account",
"account_holder_name": "Merchant Account name",
"merchant_account_id": "2a485b0a-a29c-4aa2-bcef-b34d0f6f8d51"
}
},
"user": {
"id": "e0ef56e1-ae93-491b-9028-cd0199355170",
"name": "Test User",
"email": "[email protected]",
"phone": "+441234567890"
}
}
{
"provider_selection": {},
"redirect": {
"return_uri": "https://console.truelayer.com/redirect-page"
},
"form": {
"input_types": [
"text",
]
}
}
{
"status": "authorizing",
"authorization_flow": {
"actions": {
"next": {
"type": "provider_selection",
"providers": [
{
"id": "mock-payments-de-embedded",
"display_name": "Mock European Payments – Embedded Flow",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-de-embedded.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-de-embedded.svg",
"bg_color": "#FFFFFF",
"country_code": "DE"
},
{
"id": "mock-payments-de-redirect",
"display_name": "Mock German Payments – Redirect Flow",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-es-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-es-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "DE"
},
{
"id": "mock-payments-de-redirect-additional-input-text",
"display_name": "Mock German Payments – Redirect Flow with additional inputs",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-es-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-es-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "DE"
},
{
"id": "mock-payments-es-redirect",
"display_name": "Mock Spain Payments – Redirect Flow",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-es-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-es-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "ES"
},
{
"id": "mock-payments-fr-redirect",
"display_name": "Mock France Payments – Redirect Flow",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-es-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-es-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "FR"
},
{
"id": "mock-payments-fr-redirect-additional-input",
"display_name": "Mock France Payments – Redirect Flow - Additional Input",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-es-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-es-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "FR"
},
{
"id": "mock-payments-ie-redirect",
"display_name": "Mock Ireland Payments – Redirect Flow",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-es-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-es-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "IE"
},
{
"id": "mock-payments-it-redirect",
"display_name": "Mock Italy Payments – Redirect Flow",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-es-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-es-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "IT"
},
{
"id": "mock-payments-lt-redirect",
"display_name": "Mock Lithuania Payments – Redirect Flow",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-es-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-es-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "LT"
},
{
"id": "mock-payments-nl-redirect",
"display_name": "Mock Netherlands Payments – Redirect Flow",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-es-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-es-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "NL",
"search_aliases": [
"Mock Dutch Payments - Redirect Flow"
]
},
{
"id": "mock-payments-pl-redirect",
"display_name": "Mock Poland Payments – Redirect Flow",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-es-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-es-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "PL"
},
{
"id": "mock-payments-pt-redirect",
"display_name": "Mock Portugal Payments – Redirect Flow",
"icon_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/icons/mock-payments-es-redirect.svg",
"logo_uri": "https://truelayer-provider-assets.s3.amazonaws.com/global/logos/mock-payments-es-redirect.svg",
"bg_color": "#FFFFFF",
"country_code": "PT"
}
]
}
}
}
}
{
"provider_id": "mock-payments-de-redirect-additional-input-text"
}
{
"status": "authorizing",
"authorization_flow": {
"actions": {
"next": {
"type": "form",
"inputs": [
{
"type": "text",
"id": "psu-branch-code",
"mandatory": true,
"display_text": {
"key": "psu-branch-code.display-text",
"default": "Branch"
},
"format": "any",
"sensitive": false,
"min_length": 3,
"max_length": 3,
"regexes": [
{
"regex": "^\\d{3}$",
"message": {
"key": "psu-branch-code.regex",
"default": "Value is invalid."
}
}
]
},
{
"type": "text",
"id": "psu-account-number",
"mandatory": true,
"display_text": {
"key": "psu-account-number.display-text",
"default": "Account"
},
"format": "numerical",
"sensitive": false,
"min_length": 7,
"max_length": 7,
"regexes": [
{
"regex": "^\\d{7}$",
"message": {
"key": "psu-account-number.regex",
"default": "Value is invalid."
}
}
]
},
{
"type": "text",
"id": "psu-sub-account",
"mandatory": true,
"display_text": {
"key": "psu-sub-account.display-text",
"default": "Sub-account"
},
"format": "numerical",
"sensitive": false,
"min_length": 2,
"max_length": 2,
"regexes": [
{
"regex": "^\\d{2}$",
"message": {
"key": "psu-sub-account.regex",
"default": "Value is invalid."
}
}
]
}
]
}
}
}
}
{
"inputs": {
"psu-branch-code": "123",
"psu-account-number":"1234567",
"psu-sub-account":"12"
}
}
{
"status": "authorizing",
"authorization_flow": {
"actions": {
"next": {
"type": "redirect",
"uri": "https://pay-mock-connect.truelayer-sandbox.com/login/bed1030c-b2c5-4f49-ad67-d63a0d51e854#token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiZWQxMDMwYy1iMmM1LTRmNDktYWQ2Ny1kNjNhMGQ1MWU4NTQiLCJzY29wZSI6InBheS1tb2NrLWNvbm5lY3QtYXBpIiwibmJmIjoxNjc5NTgyODk5LCJleHAiOjE2Nzk1ODY0OTksImlzcyI6Imh0dHBzOi8vcGF5LW1vY2stY29ubmVjdC50cnVlbGF5ZXItc2FuZGJveC5jb20iLCJhdWQiOiJodHRwczovL3BheS1tb2NrLWNvbm5lY3QudHJ1ZWxheWVyLXNhbmRib3guY29tIn0.9Sc660VEPaYP-dDAqJ_0uhXyOCqNIV4dHOVdm35g4UE"
}
}
}
}
Updated 7 months ago
