GitHub Repository
Panduan lengkap kode sumber dan pengaturan
Pengaturan Cepat
1. Prasyarat
Anda memerlukan:- Akun Cloudflare
- Akun database Neon
- API key Dodo Payments dari Developer â API Keys di dashboard
2. Instal Dependensi
3. Penyiapan Database
- Daftar ke Neon dan buat project.
- Buka SQL Editor.
- Salin seluruh isi
schema.sqldan jalankan. - Salin connection string Anda dari Connection Details.
4. Konfigurasikan Secret Awal
Anda akan menetapkan
DODO_PAYMENTS_WEBHOOK_KEY setelah deployment, setelah Anda memiliki URL webhook.5. Perbarui wrangler.toml
Editwrangler.toml dan tetapkan nama worker Anda:
6. Deploy
7. Dapatkan URL Webhook Anda
URL webhook Anda adalah:8. Daftarkan Webhook di Dashboard DodoPayments
- Buka Developer â Webhooks di dashboard Dodo Payments.
- Klik Add endpoint.
- Masukkan URL webhook Anda.
- Pilih event berikut:
subscription.active,subscription.cancelled,subscription.renewed. - Klik Create endpoint dan salin signing secret.
9. Tetapkan Webhook Key & Deploy Ulang
Fungsinya
Webhook handler memproses event subscription dan menyimpannya di PostgreSQL:subscription.activeâ Membuat atau memperbarui record customer dan subscriptionsubscription.cancelledâ Menandai subscription sebagai dibatalkansubscription.renewedâ Memperbarui tanggal penagihan berikutnya
Fitur Utama
- Verifikasi signature â Menggunakan Dodo Payments SDK untuk memverifikasi keaslian webhook
- Idempotensi â Menggunakan header
webhook-iduntuk mencegah pemrosesan duplikat - Pencatatan event â Menyimpan semua event di tabel
webhook_eventsuntuk audit trail - Penanganan error â Mencatat kegagalan dan menandai event untuk dicoba kembali
Contoh ini menangani tiga event subscription utama dengan field minimal. Anda dapat memperluasnya untuk mendukung jenis event dan field tambahan sesuai kebutuhan Anda.
File Konfigurasi
Skema Database
customersâ Email, nama, dan customer ID Dodo Paymentssubscriptionsâ Status, jumlah, tanggal penagihan berikutnya, ditautkan ke customerwebhook_eventsâ Log event dengan webhook ID untuk idempotensi
Kode Implementasi
Cara Kerjanya
Webhook handler:- Memverifikasi signature â Menggunakan Dodo Payments SDK untuk memverifikasi request dengan HMAC-SHA256
- Memeriksa duplikat â Menggunakan header
webhook-iduntuk mencegah pemrosesan event yang sama dua kali - Mencatat event â Menyimpan webhook mentah di tabel
webhook_eventsuntuk audit trail - Memproses event â Membuat atau memperbarui customer dan subscription di database
- Menangani error â Mencatat kegagalan dan menandai event sebagai belum diproses untuk dicoba kembali
Pengujian
Pengembangan lokal:- Buka Developer â Webhooks.
- Tambahkan endpoint dengan URL Worker Anda.
- Pilih
subscription.active,subscription.cancelled, dansubscription.renewed.