Request
API Key for authentication
Source wallet account number
Destination wallet account number
Transfer narration/description
Request Example
curl -X POST https://api-staging.fossapay.com/api/v1/wallets/fiat/transfers/wallet-to-wallet \
-H "x-api-key: fp_live_sk_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"fromAccount": "1234567890",
"toAccount": "0987654321",
"amount": 5000,
"reference": "transfer_ref_001",
"narration": "Payment for services"
}'
const response = await fetch('https://api-staging.fossapay.com/api/v1/wallets/fiat/transfers/wallet-to-wallet', {
method: 'POST',
headers: {
'x-api-key': 'fp_live_sk_xxxxxxxx',
'Content-Type': 'application/json'
},
body: JSON.stringify({
fromAccount: '1234567890',
toAccount: '0987654321',
amount: 5000,
reference: 'transfer_ref_001',
narration: 'Payment for services'
})
});
const data = await response.json();
import requests
url = "https://api-staging.fossapay.com/api/v1/wallets/fiat/transfers/wallet-to-wallet"
headers = {
"x-api-key": "fp_live_sk_xxxxxxxx",
"Content-Type": "application/json"
}
data = {
"fromAccount": "1234567890",
"toAccount": "0987654321",
"amount": 5000,
"reference": "transfer_ref_001",
"narration": "Payment for services"
}
response = requests.post(url, headers=headers, json=data)
data = response.json()
Response
Indicates if the transfer was successful
Human-readable response message
Response Example
{
"success": true,
"message": "Wallet transfer successfull"
}
Error Codes
| Code | Description |
|---|
INSUFFICIENT_FUNDS | Insufficient funds for transfer |
INVALID_ACCOUNT | Invalid source or destination account |
UNAUTHORIZED | Invalid API key or insufficient permissions |
TRANSFER_LIMIT_EXCEEDED | Transfer amount exceeds limit |
Rate Limit: 50 requests per minute
Always verify the destination account number before initiating transfers.