Sandbox vs Production

Every API key issued today is a Sandbox (test) key. No real money moves.

View as Markdown

ReBate Pay currently issues only rbp_test_... test keys. Every API response carries a sandbox field ({ mode: "sandbox", realMoney: false }) that makes this explicit.

Production (real charges) is not yet available — it requires completing merchant review (KYB) and an external acceptance sign-off before live keys are issued. Any mention of "Production" in this documentation describes future behavior, not something you can use today.

The Sandbox scenario picker

In Sandbox, payment/refund/reconcile-style API calls accept a chargeScenario (or sandboxScenario) parameter so you can simulate outcomes without a real test card:

ValueBehavior
successPayment succeeds immediately
declinePayment fails immediately (bank decline)
timeoutPayment status becomes unknown — not a failure, it means "undetermined"; call reconcile to resolve it, never blindly retry the charge

Checking the environment

Call GET /api/Capability to see the current environment, or just read the sandbox field on any response. The rbp_test_ key prefix itself already tells you it's a test key.