Skip to main content
A charge is how you collect money from a customer. Zerocash offers several charge methods, one per payment rail, so you can pick the ones your market actually uses.

Which method should I use?

If you are unsure, start with mobile money. It has the widest market coverage of any single method, and the transaction handling you build for it — unique references, webhooks, confirming before you fulfil — is identical for every other method you add later.

The happy path

Every charge method follows the same five beats.
1

Pick the method

Choose the charge method that matches the checkout experience you want.
2

Initiate the charge

Call the endpoint with a unique externalReference. You get back a transactionId.
3

Show the customer their next action

A temporary account, an STK prompt, or a redirect URL — depending on the method.
4

Wait for the outcome

Listen for webhooks, or poll Get Transaction.
5

Provide value

Only once the final transaction status is successful.
A 200 from a charge endpoint means the request was accepted, not that the customer paid. Fulfilling on the initial response is the single most common integration mistake.

Mid-charge steps

Charges do not always complete in one call. When a transaction needs the customer to do something else, the response or webhook carries a stepRequired field. After any of these, the transaction keeps processing in the background. Wait for the final successful or failed webhook.

Refunds

A previously successful mobile money deposit can be refunded through Refund Deposit. This is useful for customer refunds and for correcting erroneous charges.
Refunds are available for mobile money transactions only.

Before you build

Supported countries & limits

Check the corridors you need are live, and what the per-transaction limits are.

Mobile money operators

Operator codes by country — required for every currency except KES.