Every account is reviewed before it can move money

One integration for Ghana’s mobile money.

Pycue puts collections, payouts, messaging, airtime and data bundles behind a single API — with per-organization isolation, explicit approval for every capability, and settlement that happens exactly once.

Settlement
Exactly once
Keys
Hashed at rest
Idempotency
Per organization
POST /api/v1/deposits
curl https://api.pycue.com/api/v1/deposits \
  -H "Authorization: Bearer $PYCUE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "externalUserId": "user_4417",
    "amount": "250.00",
    "phoneNumber": "0241234567",
    "network": "MTN",
    "clientReference": "order-8891"
  }'

201 Created

{
  "transaction": {
    "id": "0f3c…",
    "status": "PENDING",
    "amount": "250.00",
    "currency": "GHS"
  }
}

The balance is credited only after the network confirms, and only after Pycue re-verifies that confirmation.

Transaction lifecycle

  1. 1PENDINGAccepted locally, not yet confirmed
  2. 2PROCESSINGSeen in flight at the network
  3. 3RESERVEDFunds held while the payout is in flight
  4. 4SUCCESSSettled exactly once

Capabilities

Four things an organization needs, and nothing it doesn't.

Pycue stays deliberately narrow. It runs mobile money, messaging and airtime on behalf of organizations that already own their customer relationships.

Mobile-money collections

Prompt a payer for any amount and receive a callback when the network confirms. Your customer is charged the exact amount you requested — nothing is added to their side of the transaction.

  • Prompt-and-pay
  • Callback + status polling
  • Authoritative re-verification

Payouts and cashouts

Send money to a recipient's mobile-money wallet, or raise a cashout request from your workspace for a Pycue administrator to review and pay out directly.

  • MTN, Telecel, AirtelTigo
  • Daily limits per organization
  • Gross-in, net-out quoting

SMS and OTP

Prepaid messaging credits are drawn down one unit per recipient. Build verification flows on top of the same keys you use for payments.

  • Credit-based, never overage
  • Approved sender IDs
  • No OTP state retained

Airtime and data bundles

Purchase airtime for a recipient or sell data bundles. Package catalogues are read live from the provider so you are never pricing against stale data.

  • Balance- or MoMo-funded
  • Live package catalogues
  • Bulk sheets supported

How money moves

Your customer is charged the full amount. Always.

A charge applied by Pycue is a matter between Pycue and your organization — it is never added to what your customer pays. Your integration keeps recording the gross it collected.

Collections

In

  1. 01Your server requests a collection for GHS 250.00.
  2. 02The payer is prompted for exactly GHS 250.00.
  3. 03The network confirms, and Pycue re-verifies the confirmation.
  4. 04Any charge is withheld; your organization is credited the remainder.

payer charged 250.00 · organization credited 237.50 · Pycue 12.50

Payouts

Out

  1. 01Your organization requests a withdrawal, or your admin raises a cashout.
  2. 02The full requested amount leaves your balance immediately.
  3. 03Any charge is deducted from what is actually paid out.
  4. 04You are shown the exact net before anything is committed.

balance − 250.00 · recipient receives 237.50 · Pycue 12.50

Rates are agreed per organization and can be zero. See how charging works.

Networks

Every major Ghanaian mobile-money network.

Requests carry the network explicitly, so you always know which operator a payout is routed through. Amounts are accepted and returned as decimal strings and stored internally as integer pesewas.

  • MTN MoMoCollection, payout, airtime
  • Telecel CashCollection, payout, airtime
  • AirtelTigo MoneyCollection, payout, airtime
  • CurrencyGhana cedis (GHS), integer pesewas

Operating principles

The parts that are easy to get wrong.

Money movement is unforgiving of shortcuts. These are the four decisions Pycue is built around.

Accounts are reviewed before they move money

Self-registration does not grant access. A new organization is held at PENDING_APPROVAL until a Pycue administrator reviews it, and collection and payout access are approved separately on request.

Organization isolation is structural

The calling organization is derived from the API key, never from a request field. Every query, balance and transaction is scoped by that identifier, so the same customer ID in two organizations is two unrelated customers.

Settlement is exactly once

Funds move only through a conditional database transition paired with immutable ledger rows in the same transaction. A replayed webhook, a retried request or a concurrent caller cannot double-credit.

Provider callbacks are treated as untrusted

Pycue never acts on a callback alone. Each one is treated as a claim, re-verified with an authoritative server-to-server check, and only then applied.

Open an organization account.

Register with your organization details and verify the phone number you control. Access is granted once a Pycue administrator has reviewed the account.