/transactions/{userId}/cross-borderPerform Cross Border Payment
Executes a cross-border payment to a foreign bank account. Supports multiple destination currencies including GBP, EUR, SGD, AED, ARS, BRL, CAD, JPY, MXN.
Path variables
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
userId | string | Required | — | Unique user ID initiating the cross-border payment. |
Headers
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
session-token | string | Required | — | SessionToken obtained from the Create GMA Session endpoint. All secured endpoints require this header. |
Request body
| Field | Type | Required | Possible values | Description |
|---|---|---|---|---|
InstrumentId | string | Required | — | Cross-border payment instrument ID. |
DestinationAmount | string | Required | — | Amount in destination currency. |
DestinationCurrency | string | Required | GBP | EUR | SGD | AED | ARS | BRL | CAD | JPY | MXN | HKD | ZAR | Target currency. |
Purpose | string | Required | Refer to the Payment Purpose endpoint to get the list of possible values. | Payment purpose code. |
CryptoBuySellActivity | string | Required | Yes | No | Indicates crypto activity. |
Description | string | Optional | — | Payment description. |
DocumentReferenceNumber | string | Optional | — | Reference number for supporting document. |
SupportingDocument | string | Optional | — | File ID from the File Upload endpoint. Required when the source amount exceeds the configured threshold for the user's group. The threshold value can be retrieved from the Config Data endpoint. |
Additional_Info | object | Optional | { Originator_Identity_Type: PASSPORT | NATIONAL_ID | DRIVING_LICENSE, Originator_Identity_Number, Source_Of_Funds: CASH | BUSINESS | GIFT | LOTTERY | SAVINGS | OTHER } | Additional compliance fields: Originator_Identity_Type, Originator_Identity_Number, Source_Of_Funds. |
Example request
{
"InstrumentId": "{{instrumentId}}",
"DestinationAmount": "50.00",
"DestinationCurrency": "GBP",
"Description": "GBP payment test",
"Purpose": "Asset_Purchase",
"CryptoBuySellActivity": "No",
"DocumentReferenceNumber": "1234",
"SupportingDocument": "-3928373292172922988",
"Additional_Info": {
"Originator_Identity_Type": "PASSPORT",
"Originator_Identity_Number": "23423",
"Source_Of_Funds": "CASH"
}
}Response
| Field | Type | Possible values | Description |
|---|---|---|---|
ResponseCode | integer | 200 | 201 | 204 | 301 | 400 | 401 | 403 | 404 | 410 | 422 | 500 | 503 | API result code in the response envelope. Indicates success or the error category (e.g. 200 success, 400 bad request, 401 unauthorized). |
ResponseMessage | string | Success | Created | NoContent | BadRequest | Unauthorized | Forbidden | NotFound | Gone | UnprocessableContent | ServerError | ResourceMoved | ServiceUnAvailable | UnProcessableEntity | Human-readable label paired with ResponseCode (e.g. Success, BadRequest, Unauthorized). Use with ResponseCode to interpret the outcome. |
ResponseData | object | Please refer to below example for response body | Executed cross-border payment details with status, amounts, and fees. |
Example response
{
"ResponseCode": 200,
"ResponseMessage": "Success",
"ResponseData": {
"TransactionNumber": "FV000704405",
"TransactionDetails": {
"TransactionNumber": "FV000704405",
"Status": "PENDING_AUTHORIZATION",
"CreatedAt": "2026-06-08T07:48:28.450-04:00",
"From": "John Doe",
"To": "Acme Corporation Ltd cross border payments 2",
"Description": "SEPA payment test",
"Type": {
"value": "BUS_USD_Account.payment_cross_border_faster_payments",
"label": "Payment - Cross Border - Faster Payments"
},
"AdditionalData": [
{
"label": "Supporting Document",
"value": "6731647025813041135"
},
{
"label": "Auto_Authorization_Status",
"value": "Pending"
}
],
"DestinationAmount": "50",
"DestinationCurrency": "GBP",
"SourceAmount": "37.31894434260105",
"FeeInUSD": "35",
"TotalAmountInUSD": "72.31894434260104",
"QuoteId": "b71617af-d15b-4260-ae31-02a4f41d1aec"
}
}
}Requires `session-token: {SessionToken}` from Create GMA Session. Use the same client IP as authentication.