Skip to content

Sandbox Quickstart

Use sandbox to test integration behavior before production. Sandbox access, available products, and test credentials depend on your SenteRail account.

1. Get A Test Credential

Create or receive a sandbox credential through your SenteRail account or onboarding contact. Test keys are for development and should stay separate from live credentials.

2. Create A Test Payment

Use a stable idempotency key and your own durable reference. Store both your reference and the SenteRail response reference.

bash
curl -X POST https://api.senterail.com/api/v1/checkout/sessions \
  -H "Authorization: Bearer <sandbox_session_token>" \
  -H "Idempotency-Key: sandbox-order-1001" \
  -H "Content-Type: application/json" \
  -d '{
    "order": {"reference":"sandbox-order-1001","amount":50000,"currency":"UGX"},
    "customer": {"phone":"256700000000"},
    "return_urls": {"success":"https://merchant.example/success","cancel":"https://merchant.example/cancel"}
  }'

3. Exercise Failure Paths

Use Magic numbers where your sandbox account supports deterministic mobile-number outcomes. Test success, decline, timeout, duplicate webhook, and delayed webhook scenarios.

4. Verify Webhooks

Your webhook receiver should verify the SenteRail signature, persist the event ID, and dedupe repeat deliveries. Do not update production-like state until the event passes verification.

5. Reconcile The Result

Compare your order, invoice, member, or accounting record with the SenteRail reference and webhook event. Keep the evidence needed for support escalation.

Sandbox Exit Criteria

  • test credential stays separate from live credentials
  • mutating requests use idempotency keys
  • webhook signatures are verified
  • duplicate events do not duplicate fulfilment
  • reconciliation can explain success, failure, timeout, and retry cases
  • go-live owner has reviewed Go-live checklist