Finnish providers integration
Learn how to integrate Signup+ with payments in Finland.
There are five steps to integrate Signup+ with payments in Finland:
- Enable the
signupplus
scope - Generate an access token with
payments
andsignupplus
scopes - Create and authorise a payment
- Generate an authorisation link to a Finnish bank and obtain an
authorization_reference
- Retrieve user data with the payment
payment_id
andauthorization_reference
1. Enable the signupplus
scope
signupplus
scopeTo use Signup+, you need to have the Signup+ product and associated signupplus
scope enabled.
The signupplus
scope is available by default in the sandbox environment. To enable and use this scope in the live environment, contact Support.
2. Generate an access token with payments
and signupplus
scopes
payments
and signupplus
scopesTo use the Signup+ API, you need an access token. Generate one by calling the /connect/token
endpoint with your client credentials, using the payments
and signupplus
scopes.
You can also use the Signup+ Postman collection to test API requests, including the request to generate an access token.
3. Create and authorise a payment
To integrate with Signup+ and payments, you need a payment id
. To get an id
, create a payment and retrieve it from the response. For more information about creating a payment, see our Payments API v3 documentation or the payments quickstart guide.
To test the Finnish integration, ensure that you use a Finnish provider. In the sandbox environment, you can use mock-payments-fi-redirect
.
If you use a TrueLayer user interface such as the HPP or EPP for payment authorisation, ensure that you include signup_plus
as a related_product
when you create the payment. You only need to include this for the first payment, as this is what ensures SIgnup+ specific wording displays in the authorisation flow.
When you receive the payment_executed webhook, you can use the payment_id
as input for Signup+.
4. Generate the authorisation link and obtain an authorization_reference
authorization_reference
A Signup+ payments integration in the UK only needs a payment id
. However, for payments in Finland, you need to make an additional request to the /signup-plus/authuri
endpoint to get an authorization_reference
. This reference is returned by Finnish banks after users authorise a payment.
Before you can get an authorization_reference
, you must first configure a redirect URI for your application. To configure a redirect URI, contact Support. You need to do this for not just the live environment, but also if you want to test in sandbox.
The flow for this process differs for the a first time and returning user. When using Signup+ with a returning user, you get a different response from the /signup-plus/authuri
endpoint, which means the user doesn't need to authorise the payment again.
4.a Initial payment flow
These steps show the Signup+ flow for a first time user through a Finnish provider.
4.a.1. Generate an authorisation link
If you have set up a redirect URI, you can generate an authentication link for a Finnish bank through the /signup-plus/authuri
endpoint. To do so, send the request below, replacing access_token
and payment_id
placeholders with the relevant values.
curl --location --request POST 'https://api.truelayer.com/signup-plus/authuri' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer $access_token' \
--data-raw '{"payment_id": "$payment_id"}'
When you generate a link successfully, you receive a JSON payload containing an auth_uri
field. This is where your users are redirected.
Return user authentication flow
If TrueLayer has identity data on record for the user making a payment, the
auth_uri
field will contain your redirect URI.This means that the user doesn't have to go through the entire authorisation process again, but is redirected to your application immediately.
The state
parameter is an optional string with a maximum allowed length of 50 characters. The state
value will be present in the redirect URI when a user successfully authenticates. This value is URL encoded.
4.a.2. Get an authorization_reference
from a Finnish bank
authorization_reference
from a Finnish bankThe authorisation link enables your users to identify themselves to their preferred Finnish bank. The flow takes them through the following journey:
- First, a provider selection UI is displayed. Users select the bank they want to pay with.
- Users are redirected to their chosen bank, where they're asked to log in with their credentials.
- After the user logs in, they are redirected to the redirect URI.
In the redirect URI, expect these query parameters:
- a
payment_id
parameter, which indicates the payment that the identity flow is linked to - an
outcome
representing the outcome of your end user authentication on the selected bank provider. This can be one of:success
to indicate a successful authenticationabort
to signal the fact that the end user aborted the authentication flowerror
to indicate an authentication failure on the selected bank
- If the authentication is successful, an
authorization_reference
acting as authorization flow identifier
A redirect URI with query parameters after a successful bank authentication looks like this:
https://example.com/redirect?outcome=success&payment_id=f7f55a6b-edff-4669-8272-39117d3eef1e&authorization_reference=ab6389gcb0cf4da09fb1b022010312b6
4.b. Subsequent payment flow
These steps show the Signup+ flow for a returning user through a Finnish provider.
4.b.1. Generate an authorisation link
If you have set up a redirect URI, you can generate an authentication link for a Finnish bank through the /signup-plus/authuri
endpoint. To do so, send the request below, replacing access_token
and payment_id
placeholders with the relevant values.
curl --location --request POST 'https://api.truelayer.com/signup-plus/authuri' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer $access_token' \
--data-raw '{"payment_id": "$payment_id"}'
If the payment isn't the first payment made by the user, the auth_uri
field in the response contains your redirect URI instead of an authorization_link
. This means the user doesn't need to authorise the payment again and is redirected immediately to your application.
Test the returning user flow
If you have set up a redirect URI for your sandbox client ID, you can test the returning user flow. To do so create a payment, generate an authorisation link, authorise the payment, and get redirected.
If you then create another payment from the same user within 5 minutes, you don't need to authorise the payment and instead are redirected immediately.
The 5 minute limit is only for sandbox testing purposes and doesn't apply in the live environment.
5. Retrieve user data with the payment_id
and authorization_reference
payment_id
and authorization_reference
Now that your user has authorised the payment with their finished bank, you can make a request to the /signup-plus/payments
endpoint with the payment id
.
A successful response from this endpoint returns the remitter's identity information in this format:
{
"first_name": "Väinö",
"last_name": "Tunnistus",
"date_of_birth": "1970-07-07",
"address": {
"address_line1": "Sepänkatu 11 A 5",
"city": "KUOPIO",
"zip": "70100",
"country_code": "FI"
}
}
Updated 29 days ago