> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zerocash.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Testing overview

> Sandbox test values for collections and payouts, and the rules that apply to both.

The sandbox runs the same flows as production without contacting a live payment provider. The
value you send — a phone number, an email address, a card number, or an amount — selects the
simulated outcome.

## Choose your guide

| Integration | Use it when                                                                  | Testing guide                                                        |
| :---------- | :--------------------------------------------------------------------------- | :------------------------------------------------------------------- |
| Collections | Your application calls the mobile money, bank, card, or OPay charge endpoint | [Testing direct collection APIs](/guides/testing/direct-collections) |
| Payouts     | You are disbursing funds                                                     | [Testing payouts](/guides/testing/payouts)                           |

## Rules that apply to every sandbox flow

<Check>Authenticate with sandbox credentials. Keep production credentials out of test requests.</Check>
<Check>Use a new `externalReference` for every attempt.</Check>
<Check>Treat `successful` as the only fulfilled state.</Check>
<Check>Verify the final status through a webhook or the transaction endpoint before providing value.</Check>
<Check>Never send real money or real card details to a sandbox flow.</Check>

## Before going live

<Steps>
  <Step title="Cover both branches">
    Run the success **and** failure fixture for every method you plan to use — not just the happy
    path.
  </Step>

  <Step title="Exercise every challenge">
    If your markets involve OTP, PIN, 3DS, or address verification, drive each one end to end.
  </Step>

  <Step title="Test your webhook handler">
    Use [Simulate Webhook](/api-reference/endpoint/simulate-webhook) to fire event shapes that are
    awkward to trigger organically.
  </Step>

  <Step title="Confirm signature verification">
    Send a request with a bad signature and check that your endpoint rejects it.
  </Step>
</Steps>

<Card title="Environments" icon="layer-group" href="/guides/environments" horizontal>
  How sandbox and production differ, and how to switch between them.
</Card>
