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

Test ModeLive Mode
TransactionsSimulatedReal charges
MoneyFakeReal funds
DataIsolatedProduction
WebhooksFully functionalFully functional
API BehaviorIdenticalIdentical
Switch modes: Dashboard header toggle or X-Environment header in API calls.
Header ValueMode
X-Environment: testTest Mode
X-Environment: prodLive Mode
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.
EnvironmentPurpose
TestDevelopment and testing
ProductionReal payments
API Keys use key pair authentication, not prefixed secret keys. See Authentication for details.

Test Cards

Successful Payments

CardBrand
4242 4242 4242 4242Visa
5555 5555 5555 4444Mastercard
3782 822463 10005Amex

Declined Payments

CardError
4000 0000 0000 0002Declined
4000 0000 0000 9995Insufficient funds
4000 0000 0000 0069Expired card

3D Secure

CardBehavior
4000 0027 6000 3184Requires authentication
4000 0000 0000 3220Authentication fails
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 —> Developers
  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 — Billing occurs on schedule (use short intervals for faster testing)
  3. Update — Change plans via the Customer Portal or API
  4. Cancel — Test cancellation flow
  5. Expire — Verify expired subscription behavior

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:
curl -X POST https://waffo-pancake-auth-service.vercel.app/v1/actions/onetime-product/publish-product \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY_TOKEN" \
  -d '{
    "id": "product-uuid"
  }'
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
  • Connect bank account (Finance —> Payout Setup)
  • Complete business details (Settings —> Business Details)
  • Review product pricing
  • Sync products from test to production using publish-product

Quickstart

Full going-live checklist.