Skip to main content

Mobile Money Deposit Flow

Collect payments via mobile money wallets (M-PESA, MTN Money, Airtel Money, etc.)

Flow Diagram

Details

Countries: Kenya, Uganda, Tanzania, Ghana, Nigeria, Zambia, and more Networks: M-PESA, MTN Money, Airtel Money, Tigo Pesa, Vodacom Flow: STK Push or USSD prompt Speed: Instant to few minutes Key Points:
  • Transaction ID can be integrator-provided or system-generated
  • Funds credited after reconciliation (not immediate)
  • 24-hour timeout for pending payments
  • Automatic webhook retries

Bank Checkout Deposit Flow

Collect payments via bank transfers with secure checkout portals.

Flow Diagram

Details

Countries: Kenya, South Africa Flow: Redirect to secure bank portal Settlement: Instant to 1 business day Banks: Major banks in supported countries Key Points:
  • User redirected to secure bank portal
  • Bank provider handles payment collection
  • Webhook notification on completion
  • Same reconciliation process as mobile money

Card Deposit Flow

Collect payments via credit/debit cards with 3DS support.

Flow Diagram

Details

Countries: Multiple African countries Supported Cards: Visa, Mastercard, Verve Security: 3DS authentication supported Processing: Instant authorization Key Points:
  • Card details not stored by system
  • 3DS adds extra security layer
  • Instant authorization from card provider
  • Webhook confirms final status

Transaction Statuses


Common Features

Transaction ID

  • Can be integrator-provided via reference_id
  • Or system-generated if not provided
  • Must be unique per integrator

No Rate Locking

Deposits collect fiat currency directly - no exchange rates involved.

Automatic Reconciliation

  • Successful deposits reconciled via cron job
  • Funds credited to fiat wallet deposit balance
  • Transaction records created for audit

Status Monitoring

  • Webhook callbacks for instant updates (when available)
  • Polling every 5 minutes for pending transactions
  • 24-hour timeout for unconfirmed payments

Callback Retries

  • Initial delivery via webhook
  • Failed callbacks retry every 2 hours
  • Maximum retry period: 24 hours

Error Handling

Insufficient Funds

Invalid Customer

Card Declined

Timeout

Duplicate Reference


Best Practices

Unique References

Always provide unique reference_id values to track transactions.

Implement Webhooks

Set up webhook endpoint for real-time status updates.

Handle All Statuses

Integration should handle all transaction statuses gracefully.