Getting started

← Dashboard

Goal: from a fresh account to a captured sandbox payment in under 15 minutes. Everything below runs against the Praxis sandbox — no real credentials required.

v1 merchant journey

  1. Sign in with email or Google.
  2. Create a merchant — business name, country, MCC, vertical, est. monthly volume.
  3. Submit KYB — company docs, UBO IDs, bank statement, gambling licence if applicable.
  4. Test mode unlocks immediately. Live mode unlocks after admin review.
  5. Enable Praxis Cashier in sandbox mode.
  6. Generate test API keys — keep your sk_test_… safe.
  7. Create a payment with the curl below.
  8. Open the returned session.url and pay with a test card.
  9. 3DS challenges redirect through /pay/3ds-complete and return to your return_url.
  10. Refund it via POST /v1/payments/:id/refund.
  11. Register a webhook endpoint, pick events, copy the signing secret.
  12. Inspect deliveries — payload, response code, retry attempts.
  13. See every state transition in the dashboard with CSV export.
  14. Going-live checklist appears once your first capture lands.

Create your first payment

curl https://4xx.io/api/public/v1/payments \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -d '{
    "amount_minor": 1999,
    "currency": "GBP",
    "capture": "automatic",
    "customer": { "email": "alice@example.com", "country": "GB" },
    "return_url": "https://your-site.example/return"
  }'

Full reference: /docs/api. Postman collection: docs/4xx.postman_collection.json.

Sandbox test cards

PANOutcome
4111 1111 1111 1111Success — captured
4000 0000 0000 0002Declined (card_declined)
4000 0000 0000 32203DS challenge, then success
4000 0000 0000 0341Success, then chargeback after 60s

Any future expiry and any 3-digit CVC are accepted in sandbox.