Skip to content

Sandbox Simulation

For webhook setup, payload shapes, and signature verification, see the Webhooks section.

Test-mode only: forces a sandbox payment to paid, failed, or expired without a real QRIS/bank provider, so you can exercise your webhook end to end.

POST/sandbox/payments/{providerPaymentID}/simulate

Not authenticated with an API key — providerPaymentID comes from a sandbox payment’s checkout_url.

Parameter Type Description
providerPaymentID string From the sandbox payment’s checkout_url
{ "outcome": "paid" }

outcome is one of paid, failed, expired.

{
"duplicate": false,
"payment": { /* Payment object, updated to the simulated status */ }
}

If your project has a webhook configured for the sandbox environment, simulating an outcome triggers a real payment.paid / payment.failed delivery — see payment.paid / payment.failed for the payload shape, and Handling Webhook Deliveries for how to use this in testing.