Sandbox
Sandbox environment, test cards, virtual account numbers, and e-wallet test credentials for 505pay integration testing
Sandbox
The sandbox is a fully isolated environment for developing and testing your 505pay integration. No real money moves in the sandbox.
Base URL
https://sandbox.505pay.linkUse the sandbox base URL for all endpoints during development:
# Token
curl -X POST https://sandbox.505pay.link/token ...
# Payments
curl https://sandbox.505pay.link/v1/payments ...Never use real customer credentials, real card numbers, or real bank accounts in the sandbox. The sandbox is not PCI-compliant and data may be reset periodically.
Sandbox credentials
Create a sandbox account at dashboard.505pay.link. After selecting Sandbox mode, you receive:
CLIENT_ID— your sandbox OIDC client identifierCLIENT_SECRET— your sandbox OIDC client secret
Sandbox credentials are separate from production credentials. Rotating one does not affect the other.
Test cards
Use these card numbers to simulate different 3DS outcomes. Use any future expiry date, any 3-digit CVV, and any billing name/address.
| Card number | Scenario |
|---|---|
4111 1111 1111 1111 | 3DS authentication passes; payment succeeds |
4000 0000 0000 0002 | 3DS authentication fails; payment declined |
4000 0000 0000 0069 | Card declined (generic) |
4000 0000 0000 9995 | Insufficient funds |
Virtual account test numbers
Use these virtual account numbers when simulating bank transfer payments. After creating a VA payment in the sandbox, simulate payment by calling the sandbox payment simulator endpoint.
| Bank | Test VA number |
|---|---|
| BCA | 1234567890 |
| BNI | 9876543210 |
| BRI | 0011223344 |
| Mandiri | 5566778899 |
| Permata | 1122334455 |
Simulating VA payment
# Simulate a customer paying the virtual account
curl -X POST https://sandbox.505pay.link/v1/simulator/va-payment \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"bank": "BCA",
"va_number": "1234567890",
"amount": 150000
}'E-wallet test accounts
Use these test phone numbers and OTP codes when simulating e-wallet payments.
| Provider | Phone number | OTP |
|---|---|---|
| GoPay | +62 811-0000-0001 | 123456 |
| OVO | +62 812-0000-0001 | 123456 |
| DANA | +62 813-0000-0001 | 123456 |
| ShopeePay | +62 814-0000-0001 | 123456 |
Simulating e-wallet payment approval
# Simulate customer approving in their e-wallet app
curl -X POST https://sandbox.505pay.link/v1/simulator/ewallet-payment \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"provider": "ewallet_gopay",
"phone": "+628110000001",
"payment_id": "01j..."
}'Sandbox limitations
| Feature | Sandbox behavior |
|---|---|
| Webhooks | Delivered in real time; use a tunnel (e.g. ngrok) for local development |
| Settlement | Not performed; no funds move |
| 3DS enrollment | Simulated via test card number — no actual bank communication |
| Rate limits | Same as production limits |
| Data retention | Sandbox data may be reset monthly; do not rely on it for persistence |
| Email notifications | Sent to your sandbox account email; no real customer emails |
Switching to production
When you are ready to go live, see the Going Live checklist. Production credentials are issued separately and require KYB verification.
Was this page helpful?