Overview
An interactive playground that exercises every code path on the SKN Pay Payments API. Pick a scenario from the sidebar to see what it does, what code drives it, and what you should observe.
Scenarios
| Scenario | What it tests | |
|---|---|---|
| ✓ Standard checkout | Happy-path approval. Pay with 4111… | Open → |
| ⚡ 3DS frictionless | Silent 3DS. Pay with …2701 | Open → |
| 🔐 3DS challenge | Issuer OTP. Pay with …2420 | Open → |
| ✗ Declined card | Decline → payment.failed | Open → |
| ⊗ Cancel before pay | Create then cancel via API | Open → |
| 🔁 Idempotency-Key | Double-POST returns same id | Open → |
| ↩ Refund a payment | Refund a recent success | Open → |
Recent activity
No activity yet. Run a scenario from the sidebar.
About this playground
Per-session scoped. Your event log, recent payments, and webhooks are private to your browser session — set by an HttpOnly cookie. Other visitors hit the same site but see only their own activity. State resets if you clear cookies or after 24 hours of inactivity.
Test mode only. Every scenario runs against a sk_test_… key. No real cards charged, no real money moved.
Open and shareable. No login. Send the URL to anyone evaluating SKN Pay; they can run scenarios and see the code without an account.
Setup checklist
- Generate a
sk_test_…key at app.sknpay.com → Settings → API keys and put it in.envasSKNPAY_API_KEY. - Add a webhook endpoint at Settings → Webhooks pointing at
https://sknpay-test-integrator.fly.dev/webhooks/sknpay. Subscribe to all four events. - Copy the
whsec_…secret it shows once and put it in.envasWEBHOOK_SECRET. Restart this app.
Status: webhook secret configured