Skip to content

Magic Numbers

Magic numbers are reserved sandbox phone numbers (MSISDNs) that drive a deterministic provider outcome when used with a test key. They let you reproduce declines, timeouts, and provider errors without touching real customer accounts.

Use magic numbers only with a srail_test_* credential. Live keys never receive magic-number handling — they reach the real provider.

How to use

  1. Authenticate with a sandbox (test) API key.
  2. Send the magic MSISDN as the payer phone on your payment request.
  3. The sandbox fabricates the mapped outcome (success callback, decline, etc.).
  4. Confirm your integration handles each outcome safely.

Airtel Money

MSISDNOutcomeDescription
256702000000successAlways succeeds.
256702000001insufficient_fundsInsufficient balance.
256702000002payer_not_foundUnknown Airtel Money payer.
256702000003payer_rejectedPayer declines the USSD prompt.
256702000004timeoutPayer never responds; callback after SLA.
256702000006service_unavailableAirtel-side outage.
256702000008internal_provider_errorInternal provider error.

MTN MoMo

MSISDNOutcomeDescription
46733123450internal_provider_errorRequestToPay fails with INTERNAL_PROCESSING_ERROR.
46733123451payer_rejectedPayer rejects the approval prompt.
46733123452timeoutPayer never approves; the request expires or times out.
46733123453timeoutRequest remains ongoing/pending in sandbox.
46733123454timeoutDelayed payer response; useful for pending-path tests.
46733123455payer_not_foundPayer MSISDN is not a registered MoMo account.
46733123456internal_provider_errorPayee is not allowed to receive.
46733123457internal_provider_errorPayer is not allowed.
46733123458internal_provider_errorTarget environment is not allowed.
46733123459internal_provider_errorCallback URL host is invalid.
46733123460internal_provider_errorCurrency is invalid.
46733123461internal_provider_errorProvider returns INTERNAL_PROCESSING_ERROR.
46733123462service_unavailableProvider-side outage.
46733123463internal_provider_errorProvider could not perform the transaction.
56733123453successAlways succeeds. Use for RequestToPay happy-path integration tests.

Generated 2026-07-01 from api/internal/fixtures/magic_numbers.go.