POST Authorize One or More Payment Transactions
You authorize one or more payment transactions by sending an HTTP POST request with the required information to the /authorize endpoint. Please note this endpoint is scheduled to be deprecates, please see the Version 2
All transactions to be authorized must be from the same source bank account. If there are transactions with different source bank accounts sent in the call none of the tranactions will be authorized.
Note: Including metadata has an impact on how quickly the request is processed.
Endpoint: /authorize
Request Body Payload Example
The request body includes the following parameters:
| PARAMETER |
DESCRIPTION |
TYPE |
SIZE |
MANDATORY |
DEFAULT VALUE |
login_terms_of_use |
A flag to indicate that the user has accepted the terms and conditions. The agreed terms and conditions should be shown to all users prior to payment authorization. |
Bit |
1 |
Yes |
1 |
approve |
Indicates the action to take. Set to 1 to approve payments. Set to 0 to cancel payments. |
Bit |
1 |
Yes |
- |
auth_trans_ids |
A list of transaction IDs to be approved/cancelled. NOTE: client_transaction_id cannot be used when cancelling a payment. |
List |
- |
Yes |
- |
metadata |
A flag to include payment transaction metadata with the authorization request. Set to 1 to include metadata. Set to 0 to exclude metadata. Including metadata has an impact on how quickly the request is processed. |
Boolean |
- |
No |
0 |
Example Request
An example of the JSON structure in the request is as follows (TIDs):
{
"login_terms_of_use": 1,
"approve": 1,
"auth_trans_ids": [
"T784880",
"T784881",
"TXXXXX"
],
"metadata": 1
}
Response Body Payload Example
If the request is successful, the service responds with details of the authorize request.
The response body includes the following parameters:
| Field |
Description |
Type |
transactions |
A list of one or more payment transactions. |
List |
benef_id |
The ID of the beneficiary. |
Varchar |
payee_name |
The name of the beneficiary. |
Varchar |
t_datetime_submitted |
The date and time at which the transaction was submitted. |
Varchar |
foreign_amount |
The amount to be paid in the source bank's currency. |
Varchar |
currency_rate_per_unit |
The currency exchange rate and its inverse. |
Varchar |
amount_from_ben_fee |
The amount on which the transaction fee is based. |
Decimal |
fee |
The fee for the payment transaction. |
Decimal |
total_trans_amount_from |
The total amount for the transaction, which includes the transaction fee. |
Decimal |
reference |
A reference for the payment transaction. |
Varchar |
tran_type |
The payment transaction type. See Payment Method/Transaction Type Values for possible values. |
Varchar |
bene_payment_type |
The beneficiary payment type. See Payment Method/Transaction Type Values for possible values. |
Varchar |
batch_ref_num |
The reference number of a batch process into which several payment transactions are combined. |
Varchar |
ref_num |
The reference number of a payment transaction. |
Varchar |
payment_status |
The status of a payment transaction. See Payment Status Codes for possible values. |
Varchar |
payment_status_abrv |
An abbreviation of the payment status. |
Varchar |
client_id |
A unique alpha-numeric string which may be given in order to identify the beneficiary account. |
Varchar |
client_data |
A custom statement associated with the payment transaction. (reconciliation_id) |
Varchar |
user_uid |
The client_transaction_id which may be passed in at the time of booking. This is a unique alpha-numeric string to identify the transaction. |
Varchar |
unknown_tids |
A list of erroneous payment transaction IDs that the system does not recognized. |
List |
metadata |
A list of metadata associated with the batch payment transaction. |
List |
batch_sum_details |
A text description that summarizes the batch transaction. |
Varchar |
usr_bank_from_data |
A text description that summarizes the source bank account information. |
Varchar |
transfer_type |
The type of payment transaction. (Wire transfer only) |
Varchar |
currency |
The currency of the payment transaction. (Wire transfer only) |
Varchar |
amount |
The payment transaction amount with currency indicated.(Wire transfer only) |
Varchar |
particular |
A custom statement associated with the batch payment transaction.(Wire transfer only) |
Varchar |
account_name |
The name of the source bank account.(Wire transfer only) |
Varchar |
bank_name |
The name of the source bank.(Wire transfer only) |
Varchar |
bank_country |
The country of the source bank.(Wire transfer only) |
Varchar |
account_number |
The source bank account number.(Wire transfer only) |
Varchar |
transit_code or sort_code |
The transit code or sort code. See Transit Code Values for possible values.(Wire transfer only) |
Varchar |
swift_bic |
The SWIFT or Bank Identification Code (BIC) of the source bank account.(Wire transfer only) |
Varchar |
aba_number |
The ABA Routing number, USA only (Wire transfer only) |
Varchar |
ref_number |
The reference number of the batch in which multiple payment transactions are included for approval.(Wire transfer only) |
Varchar |
Example Success Response
The JSON structure in a successful response with a Wire Transfer (bank_pay_type: 2)
{
"transactions": [
{
"benef_id": "231426",
"payee_name": "China Beneficiary 1003",
"t_datetime_submitted": "2022-01-11 09:52:00",
"foreign_amount": "USD 2106.00",
"currency_rate_per_unit": "0.77352",
"amount_from_bef_fee": "CAD 2722.62",
"fee": "5.00",
"total_trans_amount_from": "CAD 2727.62",
"reference": "tst ref 246",
"tran_type": "Wire Transfer",
"bene_payment_type": "Wire Transfer",
"batch_ref_num": "B544748",
"ref_number": "T784880",
"payment_status": "Awaiting Funds",
"payment_status_abrv": "pending",
"client_id": null,
"client_data": "Some Reconcile Ident",
"user_uid": "123456"
},
{
"benef_id": "231427",
"payee_name": "China Beneficiary 963",
"t_datetime_submitted": "2022-01-11 09:52:00",
"foreign_amount": "USD 2107.00",
"currency_rate_per_unit": "0.77352",
"amount_from_bef_fee": "CAD 2723.91",
"fee": "5.00",
"total_trans_amount_from": "CAD 2728.91",
"reference": "tst ref 246",
"tran_type": "Wire Transfer",
"bene_payment_type": "Wire Transfer",
"batch_ref_num": "B544748",
"ref_number": "T784881",
"payment_status": "Awaiting Funds",
"payment_status_abrv": "pending",
"client_id": null,
"client_data": "Some Reconcile Ident 2",
"user_uid": "567891"
}
],
"unknown_tids": [
"TXXXXX"
],
"metadata": [
{
"batch_sum_details": "Domestic Amount: CAD 5,456.53 Reference Number: B544748",
"usr_bank_from_data": "Wire Transfer from your bank account: Bank Name: TORONTO DOMINION BANK Bank Country: Canada Account Number: 1xxxxxx-xx11 Transit Number & Institution Number: 0xx-xxxx-xx60 SWIFT/BIC Code: Txx-xxxx-xxOR Currency: CAD",
"transfer_type": "Country Local Bank Transfer",
"currency": "CAD",
"amount": "CAD 5456.53",
"particular": "Mr Test Test",
"account_name": "Interpay Ltd",
"bank_name": "ROYAL BANK OF CANADA",
"bank_country": "Canada",
"account_number": "1071596",
"sort_code": "000306702",
"swift": "ROYCCAT2",
"ref_number": "B544748"
}
]
}
The JSON structure in a successful response with a Direct Debit/ACH (bank_pay_type: 1)
{
"transactions": [
{
"benef_id": "231428",
"payee_name": "China Beneficiary 1003",
"t_datetime_submitted": "2022-01-11 09:53:00",
"foreign_amount": "USD 2106.00",
"currency_rate_per_unit": "0.77352",
"amount_from_bef_fee": "CAD 2722.62",
"fee": "5.00",
"total_trans_amount_from": "CAD 2727.62",
"reference": "tst ref 250",
"tran_type": "Wire Transfer",
"bene_payment_type": "Direct Debit",
"batch_ref_num": "B544748",
"ref_number": "T784888",
"payment_status": "Awaiting Funds",
"payment_status_abrv": "pending",
"client_id": null,
"client_data": "Some Reconcile Ident 3",
"user_uid": "5789"
},
{
"benef_id": "231429",
"payee_name": "China Beneficiary 963",
"t_datetime_submitted": "2022-01-11 09:54:00",
"foreign_amount": "USD 2107.00",
"currency_rate_per_unit": "0.77352",
"amount_from_bef_fee": "CAD 2723.91",
"fee": "5.00",
"total_trans_amount_from": "CAD 2728.91",
"reference": "tst ref 250",
"tran_type": "Direct Debit",
"bene_payment_type": "Wire Transfer",
"batch_ref_num": "B544748",
"ref_number": "T784889",
"payment_status": "Awaiting Funds",
"payment_status_abrv": "pending",
"client_id": null,
"client_data": "Some Reconcile Ident 4",
"user_uid": "9874"
}
],
"unknown_tids": [
"TXXXXX"
],
"metadata": [
{
"batch_sum_details": "Domestic Amount: CAD 5,456.53 Reference Number: B544748",
"usr_bank_from_data": "Wire Transfer from your bank account: Bank Name: TORONTO DOMINION BANK Bank Country: Canada Account Number: 1xxxxxx-xx11 Transit Number & Institution Number: 0xx-xxxx-xx60 SWIFT/BIC Code: Txx-xxxx-xxOR Currency: CAD"
}
]
}
The returned JSON structure for a cancelled payment request is as follows
{
"transactions": [
{
"benef_id": "220865",
"payee_name": "Maginot Line",
"t_datetime_submitted": "2022-01-11 12:27:00",
"foreign_amount": "EUR 328.00",
"currency_rate_per_unit": "0.66060",
"amount_from_bef_fee": "CAD 496.52",
"fee": "15.00",
"total_trans_amount_from": "CAD 511.52",
"reference": "api ref 99",
"tran_type": "Wire Transfer",
"bene_payment_type": "Wire Transfer",
"batch_ref_num": null,
"ref_number": "T760840",
"payment_status": "Cancelled by approver",
"payment_status_abrv": "cancelled_by_approver",
"client_id": null,
"client_data": "Test reconcile 3",
"user_uid": "567891"
},
{
"benef_id": "197279",
"payee_name": "Singapore Beneficiary 1",
"t_datetime_submitted": "2022-01-11 12:27:00",
"foreign_amount": "USD 428.00",
"currency_rate_per_unit": "0.77224",
"amount_from_bef_fee": "CAD 554.23",
"fee": "15.00",
"total_trans_amount_from": "CAD 569.23",
"reference": "api ref 98",
"tran_type": "Wire Transfer",
"bene_payment_type": "Wire Transfer",
"batch_ref_num": null,
"ref_number": "T760841",
"payment_status": "Cancelled by approver",
"payment_status_abrv": "cancelled_by_approver",
"client_id": null,
"client_data": "Test reconcile 3",
"user_uid": "123456"
}
]
}
Example Error Responses
If the lock-in exchange rate request is not successful, the service responds with an error code, rejects the request, and does not lock in the exchange rate. Some examples of error responses are provided.
The JSON structure associated with the error responses has the following parameters:
| FIELD |
DESCRIPTION |
TYPE |
stat |
A status message that describes the error encountered. |
Varchar |
Error Code 544 - Terms and Conditions Not Agreed
{
"stat": "terms and conditions not signed"
}
Error Code 547 - None of the Submitted Transaction IDs Are Recognized
{
"stat": "no valid transactions ids submitted"
}
POST Authorize One or More Payment Transactions V2
You authorize one or more payment transactions by sending an HTTP POST request with the required information to the /authorize endpoint.
All transactions to be authorized must be from the same source bank account. If there are transactions with different source bank accounts sent in the call none of the tranactions will be authorized.
Note: Including metadata has an impact on how quickly the request is processed.
Endpoint: /v2/authorize
Request Body Payload Example
The request body includes the following parameters:
| PARAMETER |
DESCRIPTION |
TYPE |
SIZE |
MANDATORY |
DEFAULT VALUE |
login_terms_of_use |
A flag to indicate that the user has accepted the terms and conditions. The agreed terms and conditions should be shown to all users prior to payment authorization. |
Bit |
1 |
Yes |
1 |
approve |
Indicates the action to take. Set to 1 to approve payments. Set to 0 to cancel payments. |
Bit |
1 |
Yes |
- |
auth_trans_ids |
A list of transaction IDs to be approved/cancelled. NOTE: client_transaction_id cannot be used when cancelling a payment. |
List |
- |
Yes |
- |
metadata |
A flag to include payment transaction metadata with the authorization request. Set to 1 to include metadata. Set to 0 to exclude metadata. Including metadata has an impact on how quickly the request is processed. |
Boolean |
- |
No |
0 |
Example Request
An example of the JSON structure in the request is as follows (TIDs):
{
"login_terms_of_use": 1,
"approve": 1,
"auth_trans_ids": [
"T784880",
"T784881",
"TXXXXX"
],
"metadata": 1
}
Response Body Payload Example
If the request is successful, the service responds with details of the authorize request.
The response body includes the following parameters:
| Field |
Description |
Type |
is_successful |
Whether the request was successful. |
Boolean |
messages |
Container for status messages. |
Object |
csv_export_url |
URL to download the transaction data as CSV. Must use the same session (Bearer token) to download. |
Varchar |
xls_export_url |
URL to download the transaction data as Excel. Must use the same session (Bearer token) to download. |
Varchar |
transactions |
A list of one or more payment transactions. |
List |
benef_id |
The ID of the beneficiary. |
Varchar |
payee_name |
The name of the beneficiary. |
Varchar |
t_datetime_submitted |
The date and time at which the transaction was submitted. |
Varchar |
t_datetime_auth |
The date and time at which the transaction was authorized. |
Varchar |
foreign_amount |
The amount to be paid in the source bank's currency. |
Varchar |
currency_rate_per_unit |
The currency exchange rate and its inverse. |
Varchar |
amount_from_bef_fee |
The amount on which the transaction fee is based. |
Varchar |
fee |
The fee for the payment transaction. |
Varchar |
fee_type |
The type of fee applied. |
Varchar |
total_trans_amount_from |
The total amount for the transaction, which includes the transaction fee. |
Varchar |
ultimate_debtors_id |
The ultimate debtor ID if using third-party flow. |
Varchar |
reference |
A reference for the payment transaction. |
Varchar |
tran_type |
The payment transaction type. See Payment Method/Transaction Type Values for possible values. |
Varchar |
bene_payment_type |
The beneficiary payment type. See Payment Method/Transaction Type Values for possible values. |
Varchar |
rail_type |
The payment rail type (e.g., ACH, Domestic Wire, International Wire, Instant). |
Varchar |
batch_ref_num |
The reference number of a batch process into which several payment transactions are combined. |
Varchar |
ref_number |
The reference number of a payment transaction. |
Varchar |
payment_status |
The status of a payment transaction. See Payment Status Codes for possible values. |
Varchar |
payment_status_abrv |
An abbreviation of the payment status. |
Varchar |
client_id |
A unique alpha-numeric string which may be given in order to identify the beneficiary account. |
Varchar |
client_data |
A custom statement associated with the payment transaction. (reconciliation_id) |
Varchar |
user_uid |
The client_transaction_id which may be passed in at the time of booking. This is a unique alpha-numeric string to identify the transaction. |
Varchar |
users_authorised |
The name of the user who authorized the transaction. |
Varchar |
vop_verification_status_txt |
Verification of Payee status. |
Varchar |
vop_name_found |
VOP name match result. |
Varchar |
vop_date_added |
VOP date added. |
Varchar |
auth_one |
Name of the first authorizer. |
Varchar |
auth_two |
Name of the second authorizer (if dual authorization is enabled). |
Varchar |
auth_one_id |
ID of the first authorizer. |
Varchar |
auth_two_id |
ID of the second authorizer. |
Varchar |
fee_fixed |
The fixed fee amount. |
Varchar |
metadata |
Metadata associated with the batch payment transaction. Returned when metadata=1 in the request. |
Object |
transfer_type |
The type of payment transaction. |
Varchar |
currency |
The currency of the payment transaction. |
Varchar |
amount |
The payment transaction amount with currency indicated. |
Varchar |
particular |
A custom statement associated with the batch payment transaction. |
Varchar |
bank_name |
The name of the source bank. |
Varchar |
bank_country |
The country of the source bank. |
Varchar |
iban |
The IBAN of the source bank account. |
Varchar |
account_number |
The source bank account number. |
Varchar |
transit_code |
The transit code or sort code. See Transit Code Values for possible values. |
Varchar |
swift |
The SWIFT or Bank Identification Code (BIC) of the source bank account. |
Varchar |
global_account_holder |
The name of the global account holder. |
Varchar |
ref_number |
The reference number of the batch in which multiple payment transactions are included for approval. |
Varchar |
batch_sum_details |
A text description that summarizes the batch transaction. |
Varchar |
usr_bank_from_data |
A text description that summarizes the source bank account information. |
Varchar |
total_transactions |
Total number of transactions in the batch. |
Integer |
Example Success Response
The JSON structure in a successful response with a Wire Transfer (bank_pay_type: 2)
{
"is_successful": true,
"messages": {
"success": "Action performed successfully."
},
"csv_export_url": "https://uat-payments-api.transfermate.com/reports?exp=texport&tp=csv&dummy=20260514093435",
"xls_export_url": "https://uat-payments-api.transfermate.com/reports?exp=texport&tp=excel&dummy=20260514093435",
"transactions": [
{
"benef_id": "1684915",
"payee_name": "Test1",
"t_datetime_submitted": "2026-05-14 09:34:00",
"t_datetime_auth": "2026-05-14 09:34:00",
"foreign_amount": "USD 500.00",
"currency_rate_per_unit": "1.14696",
"amount_from_bef_fee": "EUR 435.93",
"fee": "0.00",
"fee_type": "",
"total_trans_amount_from": "EUR 435.93",
"ultimate_debtors_id": "",
"reference": "123-1234 PF PROFILE NAME TransferMate",
"tran_type": "Wire Transfer",
"bene_payment_type": "ACH",
"rail_type": "ACH",
"batch_ref_num": "B3508220",
"ref_number": "T16420101",
"payment_status": "Awaiting Funds",
"payment_status_abrv": "pending",
"client_id": "1001",
"client_data": null,
"user_uid": null,
"users_authorised": "Test Test",
"vop_verification_status_txt": "Null",
"vop_name_found": "",
"vop_date_added": "",
"auth_one": "Test Test",
"auth_two": null,
"auth_one_id": "174360",
"auth_two_id": "",
"fee_fixed": "0.00"
}
],
"metadata": {
"transfer_type": "Internal Bank Transfer",
"currency": "EUR",
"amount": "EUR 435.93",
"particular": "Mr Test Test",
"bank_name": "CENTRAL BANK OF IRELAND",
"bank_country": "Ireland",
"iban": "IE79IRCE99990100014080",
"account_number": "T0014080",
"transit_code": "999901",
"swift": "IRCEIE2D",
"global_account_holder": "Test Interpay",
"ref_number": "B3508220",
"batch_sum_details": "Domestic Amount: EUR 435.93 Reference Number: B3508220",
"usr_bank_from_data": "Wire Transfer from your bank account: Account Holder Name: EUR Bank Name: CENTRAL BANK OF IRELAND Bank Country: Ireland IBAN: Ixx-xxxx-4080 Sort Code: 9xx-xxxx-xx01 SWIFT/BIC Code: Ixx-xxxx-xx2D Currency: EUR",
"total_transactions": 1
}
}
Example Error Responses
If the lock-in exchange rate request is not successful, the service responds with an error code, rejects the request, and does not lock in the exchange rate. Some examples of error responses are provided.
The JSON structure associated with the error responses has the following parameters:
Error Code 544 – Terms and Conditions Not Agreed
{
"is_successful": false,
"messages": {
"stat": "terms and conditions not signed"
},
"stat": "terms and conditions not signed"
}
Error Code 547 – None of the Submitted Transaction IDs Are Recognized
{
"is_successful": false,
"messages": {
"stat": "no valid transactions ids submitted"
},
"stat": "no valid transactions ids submitted"
}