Mobile money
Use as the customer phone number on a deposit, a payout, or an onramp. Any format works —+254700000001, 254700000001 and 0700000001 are the same
number.
Bank payouts and card deposits
These aren’t simulated. Bank and card providers run their own sandbox environments, so those transactions dispatch for real outside production and are tested against the provider’s own test credentials and test cards — reserved values here would take that away.Anything else succeeds
A number that isn’t reserved settles successfully after the usual delay. That keeps casual testing simple — you only need a reserved value when you want a particular outcome.The cases worth testing
A payout that fails
A payout that fails
+254700000010 on a mobile money deposit or payout. Confirm
you handle the FAILED webhook, surface the reason, and notice that the
wallet debit is reversed — the balance returns to what it was.A transaction that never settles
A transaction that never settles
+254700000020 stays pending forever. This is the one most integrations
get wrong: money is committed but no terminal webhook ever arrives. Make
sure something on your side eventually reconciles or escalates it rather
than waiting indefinitely.A slow provider
A slow provider
+254700000021 takes about a minute. Useful for checking you aren’t
assuming a transaction is final just because the create call returned, and
that your polling backs off sensibly.Paying the wrong person
Paying the wrong person
+254700000002 succeeds but is registered to a different name than
+254700000001. Pair it with
account validation to test catching a
mismatched recipient before you pay.Deposits credit your wallet on the same reconciliation pass production uses, so
the balance moves within about a minute of the deposit settling rather than
instantly.