Skip to main content
Sandbox is selected by the key you use. A sk_sandbox_... key hits the same base URL and the same endpoints as live, and never moves real money.
Payouts have their own test gateway in sandbox, with three method codes — one per instrument type:

Outcome matrix

The outcome is chosen by the last two digits of the destination. Which field that is depends on the instrument type:
That account number ends in 02, so the payout fails — the case most integrations forget to handle.

The processing path

A destination ending in 01 returns processing. It settles when the pending window expires and Orchestrate next checks the payout — either on its own schedule, or immediately if you call GET /payouts/{id}/sync. Shorten the window so your asynchronous tests do not crawl:
Accepted range is 0 to 600 seconds.

What to rehearse before going live

  • A payout that fails, and how you surface it to whoever was expecting the money.
  • A payout that settles asynchronously, so you prove your webhook handler works rather than relying on the create response.
  • A duplicate reference, which returns 409 — the guard that stops you paying twice.
  • The same webhook delivered twice.

Going live

That is the whole change.
The test gateway does not exist in the live environment. test_momo, test_bank_transfer and test_crypto are rejected outside sandbox.