Going Live
A short, concrete checklist to harden your integration before you take real Pi. Work top to bottom — each item closes a gap that bites in production.
Production checklist
- 1
Use a dedicated production project & key
Create a separate project for production and retire any key used during development or shared in chat, tickets, or commits. The plaintext key is shown exactly once when you create or rotate it — capture it then. Store it in a secret manager, keep it server-side only, and never commit it. Rotating a key invalidates the old one immediately. - 2
Verify every webhook signature
Reject any webhook whoseX-Zyra-Signaturedoesn't verify against your project's webhook signing secret (from the project's webhook settings in the dashboard). Never trust a payload you haven't verified — see Webhooks. - 3
Handle every webhook event type
Your endpoint should accept and gracefully handlecheckout.paid,checkout.underpaid,checkout.overpaid,checkout.created,wallet.created, anddeposit— and return2xxfor any unrecognizedtyperather than erroring, so new event types never wedge delivery. Don't forget the under- and overpayment paths. - 4
Make your consumers idempotent
A webhook may be delivered more than once. De-duplicate ondata.transactionIdordata.checkoutIdand make fulfillment a no-op the second time. Likewise, send anIdempotency-Keyon every checkout and wallet request — see Advanced. - 5
Reconcile — don't rely on delivery alone
Webhook delivery is retried but not guaranteed to be exactly-once. For anything critical, if an expected event hasn't arrived, fetch the checkout's current status from the API (GET /v1/checkout/{checkoutId}) and reconcile, rather than assuming the webhook will always land. - 6
Monitor your endpoint
Log and alert on webhook handler failures and5xxspikes on your receiver. A failing endpoint silently delays fulfillment, so treat its health like any other critical dependency.
Ready to ship
Production key secured, signatures verified, all event types handled, consumers idempotent, and reconciliation in place — you're production-ready. Keep an eye on the error and rate-limit guidance in Advanced for the first week of live traffic.