Token Authority

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.

You Tokenize an Accountto validate and tokenize a merchant’s database. The following is the process you follow to perform tokenization:

  • Collect the customers Account and Routing Number in your user interface. Pass this information to the Trustly Tokenize API endpoint.
  • Trustly tokenizes the account information. Account Tokens are unique per merchant per account.
  • If you pass the optional verifyAccount flag with a value of true, Trustly verifies the account using their database or a third party service.
  • Trustly returns the token and optional verification data in an API response or batch file.
  • Update your records with the token and continue processing the transaction.

Tokenize API Endpoint

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.

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

Responses

As part of the response data, Trustly will echo back the information submitted and add the following fields:

  • token: The Account Token
  • verification.verified: true if the account is verified; false otherwise.
  • verification.type: Will always be 3 (Database) in this use case.
  • verification.score: This will be a score between 0 and 10. Score definitions can be found in the API Reference.
  • verification.thirdPartyScore: If a third party was used as part of the verification, this property will be returned and have a value between 0 and 999. Third Party Score definitions can be found below Verification Score Values.
  • verification.verificationDate: The date and time the verification was completed or updated.

Example Response

{
  "account": {
    "type": 1,
    "accountNumber": "123456575",
    "routingNumber": "124003116",
    "verification": {
      "verified": false,
      "type": 3,
      "score": 4,
      "thirdPartyScore": 400,
      "verificationDate": 1556740304129
    },
    "token": "K11612346575"
  }
}

FCRA Verification Third Party Score Values

The table below maps Trustly Verification thirdParty values to a related score value.

ScoreDescriptionVerified Mapping
0Failed RT validation.0
100Strong indication that this account is invalid for payments.1
200This account has recent non-bankable debts.2
300History of returns on the account.3
400No negative data on this account, but the format appears suspicious.4
500No data on this account or format.5
600Limited information on the account, but the format appears valid.6
700We have seen this account, but did not receive a final disposition on the transaction.7
800We have seen this account but not recently.8
900This account has been seen recently.9
999Highest confidence that this account is valid.10

Non-FCRA Verification Score Values

The table below maps Trustly non-FCRA Verification score values to a related verified value.

ScoreDescriptionVerified Mapping
15Known bad bank account.false
20Unknown bank account, but format appears valid.false
25Unknown bank account, but format appears suspicious.false
35Bank account seen but transaction not yet settled (5 days).true
45Known good bank account.true

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 StatusCodeSuggested Action
400 Bad Request200Check the request parameters and retry the request.
401 Unauthorized300Check your API Credentials and Merchant Id and try the request again.
401 Unauthorized375Check your API Credentials and Merchant Id and try the request again.
500 Server Error100Retry the request and notify Trustly if the issue persists.