Skip to main content

Test Everything. Break Nothing.

Build and test your entire integration without real transactions. No real charges. No real payouts. Just safe experimentation.

Safe

No real money moves.

Full Features

Everything works like Live Mode.

Test vs Live

Switch modes: Dashboard header toggle or X-Environment header in API calls.
Always verify you’re in the correct mode before sharing payment links.

API Keys by Environment

API Keys are created for a specific environment (test or production). When creating an API key in the Dashboard, you select which environment the key belongs to.
API Keys use key pair authentication, not prefixed secret keys. See Authentication for details.

Test Cards

Successful Payments

Declined Payments

Any future expiry date. Any 3-digit CVC.

Test Payment Methods

Digital Wallets

Test Mode shows simulated UI:
  • Apple Pay — Safari/iOS
  • Google Pay — Chrome/Android

Test Webhooks

Webhooks fire normally in Test Mode. To test your webhook endpoints:
  1. Register your webhook endpoint in Dashboard —> API & Development
  2. Switch to Test Mode
  3. Perform actions that trigger events (create orders, complete payments)
  4. Your endpoint receives webhook events just like in Live Mode

Test Subscriptions

Test the full lifecycle:
  1. Create — Subscribe via test checkout
  2. Bill — Renewals bill on the real schedule. You can also advance one period yourself with the simulation buttons below
  3. Update — Change plans via the Customer Portal or API
  4. Cancel — Test cancellation flow
  5. Expire — Verify expired subscription behavior

Simulate a Renewal

Open a test subscription in Dashboard —> Subscriptions and use the two buttons in the detail drawer to advance one billing period without waiting for the real due date:
  • Simulate renewal success — charges the next period as paid. A new successful payment appears, the next billing date moves forward one period, and your endpoint receives subscription.payment_succeeded (plus subscription.renewed). On a past due subscription the recovery also emits subscription.recovered.
  • Simulate renewal failure — charges the next period as failed. An active subscription becomes past due and your endpoint receives subscription.past_due.
Simulated failures accumulate: active —> past_due —> canceled. A second failure on an already past due subscription terminates it for good — the subscription becomes canceled, emits subscription.canceled, and cannot be restored. The Dashboard asks for confirmation before every simulated failure.
Both buttons only exist in Test Mode, and the API rejects the request for live subscriptions regardless of what the UI shows. Each click advances exactly one period — there is no rewind, no reset and no “advance N periods”.Results arrive asynchronously from the payment provider: a successful click means “triggered”, not “already applied”. Refresh the page after a moment to see the new payment, the new status and the webhook delivery.
Expiry has no self-service equivalent: to exercise one without waiting a full cycle, send the test order ID to support and we advance the subscription for you. Send Test Events under Dashboard → Webhooks delivers one sample payload only; it is not tied to any of your real test orders.

Test Data

Isolation

Test data is completely separate:
  • Test products don’t appear in Live Mode
  • Test customers are separate
  • Test transactions don’t affect live reports

Environment Sync

When ready to go live, sync your products from test to production: The example below uses API Key authentication — the three signature headers, not a Bearer token. See API Key Authentication for how X-Signature is computed, or let the SDK sign for you.
The publish-product endpoint is a one-way operation from test to production. It does not require an X-Environment header.

Going Live Checklist

Before accepting real payments:
  • Complete end-to-end testing in test mode
  • Test edge cases (declined cards, failures)
  • Verify webhook handling
  • Test checkout on mobile devices
  • Add a payout account (Payout Accounts)
  • Complete business details (Settings —> Business Details)
  • Review product pricing
  • Sync products from test to production using publish-product

Quickstart

Full going-live checklist.