PayElect Developer
Docs / Guides / Payouts

Payouts

Payouts let you push funds from your merchant wallet to a recipient's mobile money account, bank account, or PayElect wallet. Common use-cases: seller disbursements, refund-by-payout, staff salaries, insurance claims.

Payout approval. Payouts above your configured threshold require admin approval before processing (status: PENDING_APPROVAL). Configure your threshold in the merchant portal under Developer → Payout Settings.

Endpoint

POST /pay/api/v1/payout

Mobile money payout (Guinea — Orange Money)

curl -X POST https://api.payelecthq.com/pay/api/v1/payout \
  -H "Authorization: Bearer <client_id>" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "50000",
    "currency": "GNF",
    "destination_type": "MOBILE_MONEY",
    "destination": {
      "country_code": "GN",
      "phone": "+224622000000",
      "provider": "orange_money",
      "account_name": "Mamadou Diallo"
    },
    "idempotency_key": "payout-seller-12-2026-07-12",
    "metadata": { "seller_id": "SLR-012", "reason": "weekly_settlement" }
  }'

Response (accepted, pending provider confirmation):

{
  "status": "success",
  "data": {
    "payoutUid": "po_01J4PAYOUTABC123",
    "amount": 50000,
    "currency": "GNF",
    "destinationType": "MOBILE_MONEY",
    "providerSlug": "orange_money",
    "status": "PENDING",
    "source": "api",
    "mode": "production",
    "createdAt": "2026-07-12T11:00:00Z"
  }
}

Bank transfer payout (Senegal — XOF)

curl -X POST https://api.payelecthq.com/pay/api/v1/payout \
  -H "Authorization: Bearer <client_id>" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "250000",
    "currency": "XOF",
    "destination_type": "BANK",
    "destination": {
      "country_code": "SN",
      "bank_code": "SN001",
      "account_number": "SN12345678901234567890",
      "account_name": "Fatoumata Ba",
      "bank_name": "Ecobank Senegal"
    },
    "idempotency_key": "payout-vendor-44-2026-07-12"
  }'

Destination types

destination_type Required destination fields Countries
MOBILE_MONEY country_code, phone, provider, account_name GN, SN, CI, CM, BJ, BF, ML, NE, TG, SL, GH, NG, TZ, UG, KE, RW, ZM
BANK country_code, bank_code, account_number, account_name, bank_name GN, SN, CI, US (ACH), FR (SEPA), GB
WALLET country_code, wallet_uid or email All PayElect markets

Timing expectations

MethodTypical settlementNotes
Orange Money (GN/SN)Under 2 minutesInstant for amounts under 5,000,000 GNF
Wave (GN/SN)Under 2 minutes
MTN MoMoUnder 5 minutesOccasional delays during peak hours
CinetPay mobile moneyUnder 10 minutesCovers 17 countries
Bank transfer (CEMAC)1–2 business daysT+1 cut-off varies by bank
ACH (US)1–3 business daysSame-day ACH available for premium tier
PayElect walletInstantInternal transfer, no provider involved

Check payout status

curl -X GET https://api.payelecthq.com/pay/api/v1/payout/po_01J4PAYOUTABC123 \
  -H "Authorization: Bearer <client_id>"

Possible status values: PENDING_APPROVAL, PENDING, SUCCESS, FAILED. Subscribe to payout.succeeded and payout.failed webhooks for real-time notification.