What is SSI verification?
SSI (Standard Settlement Instructions) verification is a bank-to-bank payment route validation feature that helps companies securely execute foreign exchange and treasury payments.
For example, when a company asks its bank to purchase a foreign currency, the bank provides settlement instructions (a target bank, BIC and account number) that indicate where the funds must be sent to complete the transaction.
Trustpair’s SSI verification checks that:
- The target bank and account really exist
- There is a valid settlement relationship between the two banks
- The currency and BIC match the expected correspondent account
This ensures that funds are sent through a legitimate and secure banking route, reducing the risk of misrouted payments and fraud.
SSI verification is:
- Available only via the Trustpair Payments API
- Disabled by default and activated on request
This feature does not cover corporate-to-corporate or corporate-to-bank settlement accounts or private internal treasury arrangements between companies.
Who can use SSI verification?
SSI verification is available for:
- Companies using Payments API
Important notes:
- Your supplier does not need to exist in audit module to perform an SSI payment check.
- The feature is disabled by default and must be activated by Trustpair.
To enable SSI verification, please contact Trustpair.
How to trigger SSI verification with Trustpair API
SSI verification is triggered by adding specific SSI fields to a payment request.
If the field ssi_owner_bic is present, the payment is processed as an SSI payment.
If it is missing or null, the payment is treated as a regular payment.
Mandatory fields
| Field | API key | Description |
|---|---|---|
| SSI owner BIC | ssi_owner_bic | BIC of the bank that owns the SSI |
| Currency | currency | Currency being purchased |
| Expected BIC | bank_account_bic | Target bank BIC |
| Expected account | bank_account_number or iban | Target account number |
| Amount | amount | Payment amount |
| Payment ID | payment_id | Unique payment identifier |
Optional fields
| Field | API key | Description |
|---|---|---|
| Asset category | ssi_asset_category | Filters SSI type (e.g. FOEX, ANYY) |
Example of request
{
"bank_account_number": "PK81LRBB0000080200185304",
"bank_account_bic": "HABBPKKAXXX",
"amount": 1000000.00,
"payment_id": "Example1",
"currency": "PKR",
"ssi_owner_bic": "CHASUS33XXX",
"ssi_asset_category": "FOEX"
}
Example of answer
{
"data": {
"id": "42f58cac-04e9-48a7-9f70-d8a7917964f1",
"type": "ssi_payment_check",
"attributes": {
"bank_account_number": "PK81HABB0000070900175103",
"bank_account_bic": "HABBPKKAXXX",
"ssi_owner_bic": "CHASUS33XXX",
"ssi_asset_category": "FOEX",
"amount": "1000000.0",
"currency": "PKR",
"payment_id": "Example1",
"state": "favorable",
"state_reasons": {
"payment": {
"state": "favorable",
"state_reason": [
"The standard settlement instruction is valid"
]
}
}
}
}
}
Important limitations
SSI verification does not:
- Work in the web application (API only).
- Work in QCR or audit modules.
- Support corporate-to-corporate SSIs.
- Validate multi-intermediary routes (only final intermediary is checked).
Connector support
Currently, only Kyriba is able to send SSI payments. Other connectors must adapt their implementation to support SSI.
