Sandbox Environment
The HitPay sandbox environment allows developers to simulate payment flows without processing real transactions. It is essential for testing and debugging before moving to production.
Important Notes
- Sandbox and production are completely separate accounts
- You can use dummy business details when signing up for sandbox
- No verification or approval is required
- Choose Singapore as your business country
- Sandbox supports PayNow, cards, GrabPay, GrabPay PayLater, ShopeePay, Atome, and DOKU QRIS
Creating a Sandbox Account
1
Sign Up for a Sandbox Account
Visit the Sandbox Account Creation Page and enter test details (no real data required). Verify your email address to activate the account.
2
Access the Sandbox Dashboard
Log in at https://dashboard.sandbox.hit-pay.com/login. The interface is identical to production, but uses test data.
3
Set Up Payment Methods
Go to Settings → Payment Methods and enable the payment methods you want to test. Sandbox supports PayNow, cards, ShopeePay, GrabPay, GrabPay PayLater, Atome, and DOKU QRIS.
4
Generate API Keys
Navigate to Settings → API Keys and generate new keys for use in development. Use these only with the sandbox API URL.
Sandbox Features
Supported Payment Methods
- Credit and debit cards
- PayNow (via QR code)
- ShopeePay
- GrabPay
- GrabPay PayLater
- Atome
- DOKU QRIS
Simulated Behavior
- All transactions are test-only; no real charges occur
- Webhook events are triggered to your test endpoints
- API responses mirror the production system
Request Logs
The sandbox environment provides a request logging feature that allows you to monitor and debug all HTTP requests sent to your account. Access this feature by navigating to Developers → Request Logs in the sandbox dashboard.
- View all API requests made to your sandbox account
- See detailed request headers, body, and response data
- Filter requests by HTTP status code (2xx, 4xx, 5xx)
Test Cards
Use the following card numbers to simulate various payment outcomes:Test QR Payments
To simulate a QR-based payment (PayNow, ShopeePay, GrabPay, GrabPay PayLater, Atome, or DOKU QRIS):- Start a transaction using the sandbox dashboard or API
- When prompted, a QR code will be generated
- Use your mobile phone camera (not a payment app) to scan the QR code
- The transaction will automatically simulate a successful payment
Test Recurring Billing and Saved Payment Methods
Sandbox supports the full mock flow for Save Payment Method and Recurring Billing for the following wallets:
To test:
- Call
POST /v1/recurring-billingwithsave_payment_method=true, onepayment_methods[]entry from the table above, andgenerate_direct_link=true(see Embedded Recurring APMs for the full request shape) - Open the
direct_link.direct_link_urlreturned in the response in your browser to simulate the customer authorising the wallet - HitPay fires
recurring_billing.method_attachedonce the wallet is linked - Call
POST /v1/charge/recurring-billing/{id}to simulate off-session and recurring charges against the saved method, withcharge.createdandcharge.failedwebhooks firing as in production
Webhook Configuration
- Use separate webhook URLs for sandbox and production environments
- Webhooks in sandbox are sent to your test endpoints
- Webhooks in production are sent to your live endpoints
If your system requires allowlisting for incoming webhooks, ensure the following IPs are permitted:
- Production Webhooks:
3.1.13.32,52.77.254.34 - Sandbox Webhooks:
54.179.156.147
Switching Between Sandbox and Production
FAQs
Which payment methods can I test in sandbox?
Which payment methods can I test in sandbox?
The sandbox supports cards, PayNow, ShopeePay, GrabPay, GrabPay PayLater, Atome, and DOKU QRIS. For payment methods not yet available in sandbox, the integration approach is identical — simply swap the API key, base URL, and payment method parameter when moving to production.
Can I convert my Sandbox account to production?
Can I convert my Sandbox account to production?
No, they are separate accounts. Sandbox and production environments are completely independent, and you cannot convert between them. You’ll need to create a separate production account when you’re ready to go live.