Tokenization
Trustly offers a complete solution to handle legacy ACH ABA Routing Number and Account Number data that exists in your database to meet the new NACHA requirements for account tokenization and verification.
Account tokenization and verification can be done using Trustly’s Tokenize an Account to validate and or tokenize the existing merchant’s database.
- Collect the customers Account and Routing Number in your flow. Pass this information to Trustly via API or Batch File.
- Trustly tokenizes the account information. Account Tokens are unique per merchant per account.
- If you pass the optional
verifyAccount
flag with a value oftrue
, Trustly will also verify the account using our own database or a third party service provided by TeleCheck. - Trustly returns the token and optional verification data to you via API response or batch file.
- Update your records with the token and continue processing the transaction.
To initiate the request, pass in the following inputs:
merchantId
: A unique Trustly merchant identifier.account.accountNumber
: This is the account number entered by the sender.account.routingNumber
: This is the routing number entered by the sender.
You can optionally pass in more information to the request. For a full list of fields, consult the tokenize
API reference.
As part of the response, Trustly will echo back the information submitted and add the following fields:
token
: The Account Tokenverification.verfied
:true
if the account is verified;false
otherwise.verification.type
: Will always be3
(Database) in this use case.verification.score
: This will be a score between0
and10
. Score definitions can be found in the API Reference.verification.thirdPartyScore
: If TeleCheck was used as part of the verification, this will be returned and have a value between0
and999
. Third Party Score definitions can be found in the API Reference.verification.verificationDate
: The date and time the verification was completed or updated.
API Example
See more details and test this endpoint from the API reference section.
Example Request
In this example, we use an account number of 123456576
and a routing number of 124003116
. We are also requesting optional account verification and passing in optional customer information.
POST https://{environment}.trustly.com/api/v1/accounts/tokenize?verifyAccount=true
{
"merchantId": "1002463580",
"account": {
"accountNumber": "123456575",
"routingNumber": "124003116",
"type": 1
}
}
Example Response
{
"account": {
"type": 1,
"accountNumber": "123456575",
"routingNumber": "124003116",
"verification": {
"verified": false,
"type": 3,
"score": 4,
"thirdPartyScore": 400,
"verificationDate": 1556740304129
},
"token": "K11612346575"
}
}
Testing
The following table lists inputs and expected results that can be used for testing.
Account Number | Routing Number | Score | Third-party Score | Verified | Error Code | HTTP Status Code | Score Type |
---|---|---|---|---|---|---|---|
1000000000 | 123456789 | 0 | false | 200 | Non Telecheck | ||
1000000001 | 123456789 | 1 | false | 200 | Non Telecheck | ||
1000000002 | 123456789 | 2 | false | 200 | Non Telecheck | ||
1000000003 | 123456789 | 3 | false | 200 | Non Telecheck | ||
1000000004 | 123456789 | 4 | false | 200 | Non Telecheck | ||
1000000005 | 123456789 | 5 | false | 200 | Non Telecheck | ||
1000000006 | 123456789 | 6 | true | 200 | Non Telecheck | ||
1000000007 | 123456789 | 7 | true | 200 | Non Telecheck | ||
1000000008 | 123456789 | 8 | true | 200 | Non Telecheck | ||
1000000009 | 123456789 | 9 | true | 200 | Non Telecheck | ||
1000000010 | 123456789 | 10 | true | 200 | Non Telecheck | ||
1000001000 | 123456789 | 0 | 0 | false | 200 | FCRA | |
1000001100 | 123456789 | 1 | 100 | false | 200 | FCRA | |
1000001200 | 123456789 | 2 | 200 | false | 200 | FCRA | |
1000001300 | 123456789 | 3 | 300 | false | 200 | FCRA | |
1000001400 | 123456789 | 4 | 400 | false | 200 | FCRA | |
1000001500 | 123456789 | 5 | 500 | false | 200 | FCRA | |
1000001600 | 123456789 | 6 | 600 | true | 200 | FCRA | |
1000001700 | 123456789 | 7 | 700 | true | 200 | FCRA | |
1000001800 | 123456789 | 8 | 800 | true | 200 | FCRA | |
1000001900 | 123456789 | 9 | 900 | true | 200 | FCRA | |
1000001999 | 123456789 | 10 | 999 | true | 200 | FCRA | |
1000001000 | 123456789 | 0 | 0 | false | 200 | Non-FCRA | |
1000001015 | 123456789 | 1 | 15 | false | 200 | Non-FCRA | |
1000001020 | 123456789 | 1 | 20 | false | 200 | Non-FCRA | |
1000001025 | 123456789 | 1 | 25 | false | 200 | Non-FCRA | |
1000001035 | 123456789 | 1 | 35 | true | 200 | Non-FCRA | |
1000001045 | 123456789 | 1 | 45 | true | 200 | Non-FCRA | |
1002000000 | 123456789 | 200 | 400 | ||||
1003000000 | 123456789 | 300 | 401 | ||||
1003250000 | 123456789 | 325 | 401 | ||||
1003750000 | 123456789 | 375 | 401 | ||||
1001000000 | 123456789 | 100 | 500 |
Error Handling
The following table lists expected errors and suggested actions that are associated with this product. For more information on Error Handling, consult the Errors .
HTTP Status | Code | Suggested Action |
---|---|---|
400 Bad Request | 200 | Check the request parameters and retry the request. |
401 Unauthorized | 300 | Check your API Credentials and Merchant Id and try the request again. |
401 Unauthorized | 375 | Check your API Credentials and Merchant Id and try the request again. |
500 Server Error | 100 | Retry the request and notify Trustly if the issue persists. |
Further Reading
Updated 6 months ago