These endpoints enable you to make v2 single immediate payments and future dated payments using the redirect, embedded and decoupled flows.
Token.io's Open Banking API for TPPs
Token.io's Open Banking API
Token.io Support: support.token.io
The Token.io Open Banking API enables you to connect securely with banks for a range of services.
Using our API you can:
- provide authorized access to an authenticated user's account information
- get information on specific banks
- initiate authorization with a user-selected bank
- initate and track single immediate payments and future dated payments
- use variable recurring payments (VRP) to grant long-held consents to Payment Initiation Service Providers (PISPs) to initiate series of payments from users' bank accounts
- carry out settlements, payments and refunds using our settlement accounts
For more information see our developer documentation.
The initiation payload for the payout.
The payment reference, which must consist of at least 6 alphanumeric characters that are not all the same. Optional, uncounted characters include space, hyphen(-), full stop (.), ampersand(&), and forward slash (/). The total of all characters must be no greater than 18 for SCAN (Sort Code and Account Number) payments and 140 for iban payments.
The TPP-generated reference identifier for the token. This is not to be confused with the requestId. The refId maps to the tppRefId in the bank's consentRequest. This is needed to match/verify the originating token request with the bank's consent request.
We recommend that the refId should not contain special characters (the allowed characters are the 26-letter Latin alphabet, the numerical digits from 0-9 and the hyphen '-'). This field should not exceed 18 characters in length.
The OnBehalfOfId is validated against the sub-TPP id of the member before initiating the payout. This field is mandatory for unregulated TPPs.
The transaction amount and currency.
The transaction amount with up to four digits after the decimal point.
The payout creditor object.
The ultimate creditor's name.
The International Bank Account Number, used when sending interbank transfers or wiring money from one bank to another, especially across international borders. It consists of a two-letter country code followed by two check digits and up to thirty-five alphanumeric characters.
The Business Identifier Code (BIC), ISO 9362, is the address assigned to a bank in order to send automated payments quickly and accurately to the banks concerned. It uniquely identifies the name and country, (and sometimes the branch) of the bank involved. BICs can be either 8 or 11 characters long.
The unique identifier for the bank account in the UK or Ireland.
https://api.token.io/payouts
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.token.io/payouts \
-H 'Authorization: Bearer <YOUR_JWT_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"initiation": {
"description": "e49j-2145-sp17-k3h0",
"refId": "9htio4a1sp2akdr1aa",
"onBehalfOfId": "c5a863bc-86f2-4418-a26f-25b24c7983c7",
"amount": {
"value": "10.23",
"currency": "EUR"
},
"debtor": {
"accountId": "a12345"
},
"creditor": {
"name": "Customer Inc.",
"ultimateCreditorName": "Customer Inc.",
"bankName": "string",
"iban": "GB29NWBK60161331926819",
"bic": "BOFIIE2D",
"accountNumber": "12345678",
"sortCode": 123456
}
}
}'{ "payout": { "id": "po:yj6sSEf7ZYFP8yxN6XWi1KkMEcB:2gFUX1NDget", "bankTransactionId": "2UhwCZ3BMaEcAUK8bZdukor7NL4tH6TBuu6aJMp5KKfX:5zKcENpV", "memberId": "m:123456abcd:abcd", "createdDateTime": "2017-04-05T10:43:07.000+00:00", "updatedDateTime": "2017-04-05T10:45:07.000+00:00", "status": "INITIATION_COMPLETED", "bankPaymentStatus": "ACPC", "statusReasonInformation": "The payment is settled on debtor side.", "initiation": { … } } }
Lower bound for a payout creation date in the format 'YYYY-MM-DD' (UTC time zone). If specified, only payouts created at or after the given date will be returned.
Upper bound for a payout creation date in the format 'YYYY-MM-DD' (UTC time zone). If specified, only payouts created at or before the given date will be returned.
Filters payouts by their ids - returns only payouts with ids listed in this parameter.
Filters payouts by their statuses - returns only payouts with statuses listed in this parameter.
Invert statuses query - returns only payouts with statuses not listed in the statuses parameter.
Filters payouts by their refId values - returns only payouts with refIds listed in this parameter.
https://api.token.io/payouts
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.token.io/payouts?limit=10&offset=LerV6Jmex&startDate=2010-01-01&endDate=2010-01-01&ids=po%3A28oivvd3iFhBrcbNj4tmtLEhxRTk%3A2gFUX1NE1T6%2Cpo%3A3ZfdHxbpXmRZ1TVmiYNPgcwEocBy%3A2gFUX1NDdqr&invertIds=true&statuses=INITIATION_COMPLETED%2CINITIATION_REJECTED&invertStatuses=true&refIds=ShBdcTeqFabqJJhUF%2CN5cJDFsQzVca3Q&onBehalfOfId=c5a863bc-86f2-4418-a26f-25b24c7983c7' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "payouts": [ { … } ], "paging": { "limit": 0, "offset": "LerV6Jmex" } }
https://api.token.io/payouts/{id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.token.io/payouts/your payout id' \
-H 'Authorization: Bearer <YOUR_JWT_HERE>'{ "payout": { "id": "po:yj6sSEf7ZYFP8yxN6XWi1KkMEcB:2gFUX1NDget", "bankTransactionId": "2UhwCZ3BMaEcAUK8bZdukor7NL4tH6TBuu6aJMp5KKfX:5zKcENpV", "memberId": "m:123456abcd:abcd", "createdDateTime": "2017-04-05T10:43:07.000+00:00", "updatedDateTime": "2017-04-05T10:45:07.000+00:00", "status": "INITIATION_COMPLETED", "bankPaymentStatus": "ACPC", "statusReasonInformation": "The payment is settled on debtor side.", "initiation": { … } } }
Webhooks
These endpoints configure, retrieve and remove webhooks. See Webhooks for more details.