What you can test
Endpoint-by-endpoint coverage of the sandbox.
Fully supported with sk_test_
| Area | Endpoints |
|---|---|
| Checkout | POST /v1/checkout/sessions, retrieve, list, PATCH, expire |
| Products & prices | /v1/products, /v1/products/{id}/prices |
| Customers | /v1/customers (create, list, retrieve, update, delete) |
| Invoices | /v1/invoices, items, send, mark_paid, /installments, /payments |
| Subscriptions | /v1/subscriptions (create, list, retrieve, update, cancel) |
| Refunds | POST /v1/refunds, retrieve, list |
| Payments | GET /v1/payments (list, retrieve, status & source filters) |
| Events | GET /v1/events |
| Webhook endpoints | /v1/webhook_endpoints (CRUD, secret rotation, deliveries) |
| Balance | GET /v1/balance (test balance, always zero-settlement) |
Objects created with a test key carry "livemode": false.
Live-only (a test key is rejected)
| Area | Why |
|---|---|
/v1/subscription_links |
Hosted links always create live subscriptions |
| Payouts | There is no money to pay out in test mode |
Store API (/v1/store/*) |
Storefronts run against your live catalogue |
| Hosted invoice payment pages | Test invoices are settled via checkout sessions or mark_paid |
| Instant payouts, fee ledger, accounting exports | Live accounting only |
Disputes
Pay with 4000 0000 0000 0259. The payment succeeds, then turns into a dispute: the payment is flagged as disputed and you receive charge.dispute.created on your test webhook endpoint.