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:

RouteTypeDescription
BankAccountStandard bank transfer
ChequeElectronic cheque delivered via secure link
PostalChequePhysical 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:

SectionDescription
TransactionId, StatusIdentifiers and current state of the transaction
MerchantThe merchant account that created the transaction
RecipientRecipient details supplied in the request
RouteCurrency conversion and settlement details
EventsProcessing 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: