Skip to content
StraventaDocs
Guides

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.link

Use 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 identifier
  • CLIENT_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 numberScenario
4111 1111 1111 11113DS authentication passes; payment succeeds
4000 0000 0000 00023DS authentication fails; payment declined
4000 0000 0000 0069Card declined (generic)
4000 0000 0000 9995Insufficient 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.

BankTest VA number
BCA1234567890
BNI9876543210
BRI0011223344
Mandiri5566778899
Permata1122334455

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.

ProviderPhone numberOTP
GoPay+62 811-0000-0001123456
OVO+62 812-0000-0001123456
DANA+62 813-0000-0001123456
ShopeePay+62 814-0000-0001123456

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

FeatureSandbox behavior
WebhooksDelivered in real time; use a tunnel (e.g. ngrok) for local development
SettlementNot performed; no funds move
3DS enrollmentSimulated via test card number — no actual bank communication
Rate limitsSame as production limits
Data retentionSandbox data may be reset monthly; do not rely on it for persistence
Email notificationsSent 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?

On this page