GitHub Repository
Kode sumber lengkap dan panduan pengaturan
Pengaturan Cepat
1. Prasyarat
Anda memerlukan:- Akun Netlify
- Akun database Neon
- API key Dodo Payments dari Developer â API Keys di dashboard
2. Instal Dependensi
3. Penyiapan Database
- Daftar ke Neon dan buat proyek.
- Buka SQL Editor.
- Salin seluruh isi
schema.sqldan jalankan. - Salin connection string Anda dari Connection Details.
4. Atur Environment Variables Awal
Anda akan mengatur
DODO_PAYMENTS_WEBHOOK_KEY setelah deployment, setelah Anda memiliki URL webhook.5. Inisialisasi & Deploy
6. Dapatkan URL Webhook Anda
URL webhook Anda adalah:7. 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.
8. Atur Webhook Key & Deploy Ulang
Cara Kerjanya
Webhook handler memproses event subscription dan menyimpannya di PostgreSQL:subscription.activeâ Membuat atau memperbarui data customer dan subscriptionsubscription.cancelledâ Menandai subscription sebagai dibatalkansubscription.renewedâ Memperbarui tanggal penagihan berikutnya
Fitur Utama
- Verifikasi tanda tangan â 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 jejak audit - Penanganan error â Mencatat kegagalan dan menandai event untuk dicoba kembali
Contoh ini menangani tiga event subscription inti dengan field minimal. Anda dapat memperluasnya untuk mendukung jenis event dan field tambahan sesuai kebutuhan Anda.
File Konfigurasi
Skema Database
customersâ Email, nama, dan ID customer Dodo Paymentssubscriptionsâ Status, jumlah, tanggal penagihan berikutnya, ditautkan ke customerwebhook_eventsâ Log event dengan ID webhook untuk idempotensi
Kode Implementasi
Cara Kerjanya
Webhook handler:- Memverifikasi tanda tangan â 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 jejak audit - Memproses event â Membuat atau memperbarui customer dan subscription di Neon
- Menangani error â Mencatat kegagalan dan menandai event sebagai belum diproses untuk dicoba kembali
Pengujian
Pengembangan lokal:- Pilih situs Anda dan buka Functions.
- Klik function
webhook. - Lihat log real-time dan riwayat pemanggilan.
- Buka Developer â Webhooks.
- Tambahkan endpoint dengan URL Netlify Functions Anda.
- Pilih
subscription.active,subscription.cancelled, dansubscription.renewed.