Send a transaction
Use the Transaction API to send a payment to a recipient using funds from one of your accounts.
Transactions are created by calling the Create transaction request endpoint.
POST /api/transactionRequests
For full request and response schemas, see Create transaction request.
Before you begin
Before creating a transaction, make sure you understand:
- Recipients
- Route types
- Rules and validation
Create a transaction
A transaction request defines:
- The currency and amount to send
- The recipient details
- The destination payment method
Example request
{
"SendValue": 100.00,
"SendCurrency": "EUR",
"Recipient": {
"Name": "Victoria Lau",
"RecipientReference": "Claim-51837",
"Country": "GB",
"Currency": "GBP",
"Account": {
"SortCode": "112233",
"AccountNumber": "22233445"
}
}
}This request sends €100 from your EUR account to a recipient in the UK.
If the request succeeds, the API returns a 201 Created response containing the transaction details.
Specify the transaction amount
You can control the transaction value in two ways.
Send a specific amount
Use SendValue to specify how much to debit from your account.
{
"SendValue": 100.00,
"SendCurrency": "EUR"
}For cross currency transactions, the system calculates the amount the recipient receives using the applicable FX rate.
Deliver a specific amount
Use ReceiveValue when you want the recipient to receive an exact amount.
{
"ReceiveValue": 100.00,
"SendCurrency": "EUR"
}For cross currency transactions, the system calculates the amount required from your account to deliver the requested value.
Choose a transaction route
The RouteType determines how the transaction is delivered.
If not specified, the API defaults to BankAccount.
Supported routes include:
| RouteType | Description |
|---|---|
BankAccount | Standard bank transfer |
Cheque | Electronic cheque delivered via secure link |
PostalCheque | Physical cheque printed and mailed |
Each route type has specific required fields.
For details, see Route types.
Transaction response
If the request succeeds, the API returns a 201 Created response containing the transaction details. This will not contain the recipient bank account details, for security purposes.
The response includes an Events array describing how the system has processed the transaction so far.
For more information, see Transaction events.
Example response (truncated):
{
"TransactionId": "ae6ca885-8694-4a96-9922-6451671e8603",
"Status": "Pending",
"SendCurrency": "EUR",
"SendValue": 100.0,
"Merchant": "Transfercorp UK Ltd",
"Recipient": {
"Country": "GB",
"Currency": "GBP",
"Name": "Victoria Lau",
"RecipientReference": "Claim-51837"
},
"Route": {
"DestinationCurrency": {
"Currency": "GBP",
"Value": 85.18
},
"ExchangeRate": 0.8518381869,
"SourceCurrency": {
"Currency": "EUR",
"Value": 100.0
}
},
"Events": [...]
}The response contains several sections:
| Section | Description |
|---|---|
TransactionId, Status | Identifiers and current state of the transaction |
Merchant | The merchant account that created the transaction |
Recipient | Recipient details supplied in the request |
Route | Currency conversion and settlement details |
Events | Processing events recorded for the transaction |
For the complete response structure, see TransactionResponse.
Track transaction progress
When a transaction is created, the API returns a TransactionId.
Use this ID to monitor the transaction status.
GET /api/transactionRequests/{id}
For more information, see Retrieve a transaction.
You can also subscribe to webhooks to receive status updates automatically.
For more information, see Webhooks.
Troubleshooting
For common errors and debugging guidance, see:
Updated 24 days ago