Wallet-to-Wallet Transfer (OTP Authorized)
Initiate and confirm secure transfers between any two CashPay wallets (Client-to-Fleet, Fleet-to-Fleet, or User-to-User).
Overview & Security
This API allows B2B partners to programmatically move funds within the CashPay network. To ensure absolute sovereignty and security, every debit from a source wallet must be explicitly authorized by the account owner using a unique OTP.
OTP Validation
Real-Time Settlement
1. Initiate Transfer
This first step triggers the creation of a pending transaction and sends a one-time password (OTP) to the owner of the senderWalletId.
/api/v1/b2b/transfer/initiateCreates a pending transfer and sends an OTP to the sender.
Request Payload
{
"senderWalletId": "CD0123456789",
"receiverWalletId": "CD0223456789",
"amount": 50.00,
"currency": "USD",
"description": "Invoice payment for Order #8822",
"reference": "MERC-998877"
}Success Response
{
"success": true,
"transferId": "TX-776655",
"message": "OTP has been sent to the source account holder."
}2. Confirm Transfer
The partner calls this endpoint once the customer provides the OTP received from CashPay.
/api/v1/b2b/transfer/confirmValidates the OTP and completes the fund movement.
Request Payload
{
"transferId": "TX-776655",
"otp": "123456"
}Success Response
{
"success": true,
"transactionReference": "TR-ABC123XYZ",
"status": "Completed",
"timestamp": "2024-05-20T14:30:00Z"
}Use Case: Fleet-to-Fleet (B2B)
For pure B2B payments between companies, the partner uses their own Fleet Wallet ID as the senderWalletId. The flow remains identical: the authorized administrator of the sending company receives the OTP to validate the movement towards the other fleet account.