Sandbox Behavior

In the sandbox environment, no third-party or bank API calls are made. Responses are mocked deterministically based on specific trigger values you supply in the request. See Section 1.1 for the full list of trigger values per API.

Outside the trigger values listed, each sandbox API returns a default "happy path" response (documented per API).


1.1 Sandbox Mock Triggers

These trigger values are only active when the request is authenticated with a sandbox key (ACCESS_KEY prefixed with sb_). In the live environment, these values have no special meaning.

1.1.1 Beneficiary Initiate — triggered by ifsc

ifscResponse beneficiary_statusNotes
TEST0000001failedMocks an invalid-IFSC failure from the bank.
TEST0000002request_initiated, then failed via webhookShort-lived failure after initiation.
TEST0000003pending_for_approvalStays in maker-checker queue.
TEST0000004activeBeneficiary becomes active without an OTP step.
any other valuerequest_initiated (default)Proceed to call Beneficiary Complete with one of the trigger OTPs.

1.1.2 Beneficiary Complete — triggered by otp

otpResponse beneficiary_status
000001failed
000002active
000003pending_for_approval
any other valuein_cool_off_period (default)

1.1.3 Fund Transfer Initiate — triggered by merchant_txn_ref_id prefix

Applies to each individual payout row. Use the prefix on the merchant_txn_ref_id value, e.g. FAIL_txn_1121.

PrefixResponse status
FAIL_failed
SUCC_success
PEND_pending
any other (no matching prefix)request_initiated (default)

1.1.4 Fund Transfer Submit — triggered by otp

otpPer-payout status (before batch completeness)
000001failed
000002pending
000003initiated
000004pending_from_bank
000005otp_initiated
000006sent_to_beneficiary
000007returned
000008invalid_otp
000009token_expired
any othersuccess (default)

1.1.5 Balance — no trigger

Each call returns a random balance (per bank account) deterministically seeded by bank_account_id so repeated calls for the same account return the same number.

1.1.6 Statements — no trigger

Each call returns a distinct mock statement dataset per bank_account_id. The number of transactions and dates are randomized per account.

In sandbox mode, webhooks are also fired using these mocked statuses. Configure your webhook URL in the dashboard and you will receive the same event stream as production, using the trigger-driven mock data.