Financial Module
Money Transfers
Execute internal peer-to-peer (P2P) transfers between ShieldPay wallets. This module handles real-time balance validation and ensures secure asset movement between accounts.
Transfer Logic
All transfers are atomic. If the sender's balance is insufficient or the receiver's phone number is invalid, the entire transaction will roll back to prevent data inconsistency.
POST
Send Money
Transfers a specified amount from the authenticated user's wallet to another user's wallet identified by their phone number.
Endpoint
http://shield-pay.adhameldouh.com/api/v1/transfer
Request Body
| Param | Type | Required |
|---|---|---|
| transfer_type | card | phone | YES |
|
card_number OR phone_number |
16 digits for card
11-13 digits for phone
|
YES |
| card_holder_name |
Full name as printed on card. Required only if transfer_type is card |
Conditional |
| amount | e.g. 1250.75 | YES |
| ipin | security pin (4 digits) | YES |
JSON Response
200 OK
{
"success": true,
"message": "Amount transferred successfully
to **** **** **** 1235",
"data": {
"amount": "20.00",
"receiver": "**** **** **** 1235",
"current_balance": "149.50"
"reference_id": "628354",
}
}
JSON Response (Limit Exceeded)
429 Too Many Requests
{
"success": false,
"message": "Transfer failed due to technical error",
"error": "Daily transfer limit exceeded"
}
JSON Response (Insufficient Balance)
400 Bad Request
{
"success": false,
"message": "nsufficient balance to complete
this transfer",
"required": "25.00",
"available": "15.50"
}