Multi-provider checkout, usage top-ups, billing portal, and on-chain wallet integration. Stripe primary, Square backup, crypto optional.
Primary payment provider. Subscription billing via Checkout Sessions, Customer Portal for self-service, and webhook lifecycle management.
Backup checkout provider. Creates payment links via Square Orders API. Auto-fallback on landing when Stripe is unavailable.
On-chain payments via NOMA/OPC tokens. Verify transactions, stake for tier unlock, and check balances on Sepolia.
POST /api/checkout with their API key.checkout.session.completed → Worker verifies HMAC → upgrades tier in D1.?checkout=success with "Manage Billing" button active.Payment successful. Upgrade user to Pro/Enterprise. Increase daily/monthly limits. Send welcome email.
Card declined. Mark subscription past_due. Email user with update link. Grace period: 3 days.
Card retry successful. Reactivate subscription. Remove past_due status.
Plan changed (upgrade/downgrade). Sync new tier and limits in D1 automatically.
Subscription canceled. Downgrade to Free tier. Reset limits. Send cancellation notice.
Every webhook verified with Stripe-Signature header. Invalid signatures rejected with 401.
Hit your daily limit? Buy extra requests without upgrading your subscription tier. Instant activation via Stripe one-time payment.
| Pack | Requests | Price | Best For |
|---|---|---|---|
| Small | +100 | $4.99 | Quick burst, testing |
| Medium | +500 | $19.99 | Day of heavy usage |
| Large | +1,000 | $34.99 | Best value — extended work |
Self-service billing management powered by Stripe Customer Portal.
Add new payment method, set default, remove expired cards.
Download PDF invoices, view payment history, check upcoming charges.
Switch from Pro to Free at end of billing period. No immediate cutoff.
Immediate cancellation with prorated refund (configurable in Stripe).
If Stripe is not configured or unavailable, the landing page auto-detects and shows a "Pay with Square" button. Creates a Square payment link via the Orders API.