Core

Payouts

Withdraw funds from your CamelPay wallet to mobile money. Request payouts, check status, and handle reversals.

Withdraw funds from your CamelPay wallet to mobile money. Programmatic integrations use the API-key route POST /v1/payouts with the payouts:write scope. First-party dashboard flows use JWT route POST /v1/merchant/payouts; both paths enforce verified KYC and the same wallet safety rules.

Request a Payout

curl -X POST https://api.camelpay.in/v1/payouts \
  -H "X-API-Key: cp_live_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 10000,
    "recipient_phone": "+255712345678",
    "recipient_name": "John Doe",
    "idempotency_key": "payout_unique_123"
  }'

Request Fields

FieldTypeRequiredDescription
amountintegerYesAmount in TZS (minimum 500)
recipient_phonestringYesRecipient's mobile money number
recipient_namestringYesRecipient's name
idempotency_keystringYesUnique identifier for this payout
A fee is retrieved from Snippe and the total debit is reserved idempotently before the provider request. The request uses Snippe's mobile channel. Ambiguous provider results remain recoverable for reconciliation rather than being refunded blindly.

Check Payout Status

bash
curl -X GET https://api.camelpay.in/v1/payouts/{reference}/status \
  -H "X-API-Key: cp_live_your_api_key_here"

List Your Payouts

bash
curl -X GET "https://api.camelpay.in/v1/payouts?page=1&per_page=20" \
  -H "X-API-Key: cp_live_your_api_key_here"

Status Values

StatusDescription
pendingSubmitted, awaiting processing
processingProvider is processing the disbursement
completedFunds sent successfully
failedPayout failed — wallet is refunded
reversedCompleted payout later reversed — wallet is refunded