Make a transaction
Use a transaction request to send funds to a recipient.
Before you begin
Make sure you have:
- A funded Vitesse account
- Recipient details
- The destination country and currency
- A supported payment route
The required payment fields depend on the destination country, currency, and route type.
For more information, see Rules.
To retrieve the applicable rules through the API, see Rules API.
Create a transaction request
Create a transaction request.
POST /api/transactionrequests
For full request and response details, see Create transaction request.
Example request
This request sends €100 from a EUR account to a recipient in the UK.
POST https://staging-api.vitessepsp.com/api/transactionrequestsRequest body:
{
"SendValue": 100.00,
"SendCurrency": "EUR",
"Recipient": {
"Name": "Victoria Lau",
"RecipientReference": "Claim-51837",
"Country": "GB",
"Currency": "GBP",
"Account": {
"SortCode": "112233",
"AccountNumber": "22233445"
}
}
}Specify the 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.
Provide recipient details
You can provide recipient details directly in the request, or reference a stored recipient.
For more information, see Manage recipients.
Control the transaction amount
You can specify either SendValue or ReceiveValue.
- Specify
SendValueto control the amount debited from your account, for example:{ "SendValue": 100.00, "SendCurrency": "EUR" } - Specify
ReceiveValueto control the amount delivered to the recipient, for example:{ "ReceiveValue": 100.00, "SendCurrency": "EUR" }
For cross-currency transactions, Vitesse calculates the corresponding send or receive amount using the applicable FX rate.
Transaction response
If the request succeeds, the API returns a 201 Created response containing the transaction details.
Example response (truncated):
{
"TransactionId": "747101ce-2d0c-41bd-ae4a-ba5a0c267c70",
"TransactionCreatedUTC": "2026-05-13T10:15:00Z",
"Status": "Pending",
"SendCurrency": "EUR",
"SendValue": 100.00,
"Merchant": "Blue Plain Insurance",
"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.00
}
},
"Events": [
{
"EventType": "TransactionCreated",
"TimestampUTC": "2026-05-13T10:15:00Z"
}
]
}Understanding the response
The response includes:
TransactionId– unique transaction identifierStatus– current transaction statusRecipient– recipient details supplied in the requestRoute– payment and FX informationEvents– recorded processing events
Monitor a transaction
When a transaction is created, the API returns a TransactionId.
Use this identifier to retrieve the latest transaction details and 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.
Next steps
After creating a transaction, you can:
- Retrieve a transaction
- Search transactions
- Review transaction events
- Configure webhooks
Troubleshooting
For common errors and debugging guidance, see:
Updated 28 days ago