This page is the definitive collection of common status codes, transaction types, and risk data structures shared throughout the Trustly platform, including all back-end API responses and client-side SDK interactions.
Consult this documentation for the precise definition of statuses required for handling asynchronous API responses, troubleshooting transaction failures, and interpreting financial verification data.
Transaction status codes
These codes reflect the current state or reason for failure of a transaction.
Payment provider transaction status codes (SW)
These status codes relate to errors found during validation before the transaction is sent to the ODFI, covering risk and validation issues.
Status Code | Description |
---|---|
SW010 | Established |
SW013 | Canceled |
SW020 | Authorization received |
SW021 | Authorization denied (e.g., insufficient funds) |
SW051 | Merchant error (e.g., integration issue, invalid request) |
SW052 | Financial institution error |
SW053 | Internal network error |
SW054 | Suspicious transaction activity |
SW055 | Negative data |
SW056 | Invalid account |
SW057 | Expired split token |
SW059 | Instant transaction rejected due to risk |
SW060 | Bank or network processor is down |
User canceled (UC)
These statuses are set when the user cancels the transaction process.
Status Code | Description |
---|---|
UC010 | User canceled |
Acknowledged communication (AC)
These are the main statuses for ACH and RTP transactions, generally set when user communication is completed or the merchant calls the API directly.
Status Code | Description |
---|---|
AC100 | AC pending |
AC101 | AC declined |
AC102 | AC approved |
AC103 | AC error |
AC104 | AC voided |
AC105 | AC processed |
AC106 | AC collected |
AC107 | AC awaiting capture |
AC108 | AC awaiting approval |
AC109 | AC suspended |
AC110 | AC in collection |
AC111 | AC in research |
AC112 | AC disputed |
AC113 | AC uncollected, insufficient funds |
AC114 | AC invalid or closed account |
AC115 | AC other returns |
AC116 | AC none |
AC117 | AC expired |
AC118 | AC settled |
System error (SE)
These statuses indicate internal errors related to system functionality.
Status Code | Description |
---|---|
SE01 | System in maintenance mode |
SE02 | System error connecting to API services |
SE03 | System error connecting to financial services gateway |
Return and decline codes
Code Set | Range | Description |
---|---|---|
ACH Return Codes (R) | R01 to R84 | Standard ACH return codes 01 to 84. |
EFT Decline Codes (Canada) | 900 to 996 | Specific decline codes used for Canadian EFT transactions. |
TDD Statuses (UK) | ARUCS, ARUDD, AUDDIS | Trustly direct debit specific return codes for the United Kingdom. |
API response and internal error codes
These codes indicate system-level failures, invalid requests, and security issues encountered during an API call.
HTTP status codes
Trustly uses conventional HTTP response codes to indicate success or failure of an API request.
HTTP Status Code | Description |
---|---|
400 Bad Request | Often due to a missing, required parameter. |
401 Unauthorized | Invalid accessId or accessKey . |
404 Not Found | This endpoint is not supported or defined by Trustly. |
500 Server error | Internal Trustly error. |
503 Service Unavailable | The server is currently unable to handle the request due to temporary overloading or server maintenance. |
Internal error codes
These codes are returned within the API error response object, providing detail on the failure reason.
Error Code | Description |
---|---|
100 | Internal error. An internal database exception occurred when trying to process the request. |
150 | Remote error. A remote error (e.g., the consumer's bank interface is down) occurred when trying to process the request. |
200 | Invalid parameter error. One of the request parameters is invalid (e.g., sending an invalid amount format string). |
210 | This is a duplicate request. It has been ignored (idempotency failure). |
300 | Security error. A generic security error occurred when trying to process the request. |
326 | Expired split token. |
330 | Invalid account. |
331 | Not enough balance. |
375 | Access control error. Occurs when a security parameter (accessId , accessKey or requestSignature ) is invalid. |
380 | Invalid Split Token. |
390 | Fraud analysis. Suspicious transaction or negative data. |
397 | splitToken is not valid. |
Payment and transaction data types
These data types define the various methods, purposes, and statuses of funds movement.
Payment provider types
These codes define the type of bank connectivity or payment instrument used.
Code | Description |
---|---|
1 | Online Banking (Direct connection) |
2 | Manual Electronic Check |
Payment types
These values define the intended purpose of the payment.
Value | Name | Description |
---|---|---|
2 | Deferred | Payment is authorized, but requires a separate Capture API call to debit funds. |
3 | Recurring | Same as deferred, but associated with a specific payment agreement. |
4 | Disbursement | Payment type used exclusively for mass disbursements. |
5 | Verification | Payment type used solely to verify the customer account outside of the Trustly system. |
6 | Retrieval | Data retrieval to fetch account and user information without a payment request. |
Transaction types
These values describe the specific action taken against a mandate or account.
Value | Name | Description |
---|---|---|
0 | External | This transaction is created when the Feedback API is called to update the status of a transaction created with a paymentType of Retrieval. |
1 | Authorize | This is a transaction created with paymentType is Deferred or Recurring. |
2 | Pay | This is a transaction created with paymentType of Instant. |
3 | Capture | Capture transactions are created with the Capture API. |
4 | Refund | Refund transactions are created with the Refund API. |
5 | Reverse | A reverse transaction is created when the payment is charged back by the bank (payment provider). |
6 | Deposit | Deposit transactions are created with the Deposit API. |
7 | Reclaim | Reclaim transactions are created with the Reclaim API. |
8 | Representment | A representment transaction represents an attempt to reprocess a previously denied Capture transaction. |
9 | Tokenization | |
10 | Preauthorization | Preauthorization transactions are created with the Preauthorization API. |
11 | Guarantee |
Risk, verification, and account data
These definitions are critical for compliance, risk analysis, and advanced API usage.
Verification status
These codes define the current verification state of a transaction.
Code | Name | Description |
---|---|---|
1 | Automatic | Payment verification followed Trustly internal rules. |
2 | ToVerify | Transaction is held (status = OnHold ) pending merchant approval/investigation. |
3 | Verified | Payment was verified and approved by the merchant or Trustly. |
4 | Refused | Payment was denied after verification. |
Verification types
These codes define the method used to verify an account.
Code | Name | Description |
---|---|---|
0 | Not Verified | The account was not verified. |
1 | Manual | The account was verified with manual account verification (e.g., Manual Electronic Check and Micro Challenge Deposit). |
2 | Online Banking verification | The account was automatically verified with the Trustly Online Banking Payment service. |
3 | Database verification | The account was verified with the Trustly database or a third-party service. |
Financial institution account profile values
These values identify the type of bank account being used.
Code | Description |
---|---|
-1 | Unknown |
0 | Other |
1 | Checking |
2 | Savings |
Financial institution account type values
These values define the ownership profile of the bank account.
Code | Description |
---|---|
-1 | Unknown |
0 | Other |
1 | Personal |
2 | Business |
FCRA verification third-party score values
This table maps Trustly verification third-party values to a related risk score, used in the United States.
Score | Description |
---|---|
0 | Failed RT validation. Strong indication that this account is invalid for payments. |
100 | Strong indication that this account is invalid for payments. |
200 | This account has recent non-bankable debts. |
300 | History of returns on the account. |
400 | No negative data on this account, but the format appears suspicious. |
500 | No data on this account or format. |
600 | Limited information on the account, but the format appears valid. |
700 | We have seen this account, but did not receive a final disposition on the transaction. |
800 | We have seen this account but not recently. |
900 | This account has been seen recently. |
999 | Highest confidence that this account is valid. |
Non-FCRA verification score values
These scores are used for non-FCRA related risk verification.
Score | Description |
---|---|
15 | Known bad bank account. |
20 | Unknown bank account, but format appears valid. |
25 | Unknown bank account, but format appears suspicious. |
35 | Bank account seen but transaction not yet settled (5 days). |
45 | Known good bank account. |