- One-time payment — dynamic product + amount_etb + webhook marks order paid
- Subscription membership — fixed product + subscription.activated
- Webhook receiver — verify HMAC and route events
Demo app
The mattress-store project in this repo shows a complete integration: checkout, subscribe, membership status bar, and webhook handler.