Status: v1.0.0
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"
}