Checkout Handler
Integrasikan checkout Dodo Payments ke aplikasi Express Anda.
Customer Portal
Biarkan pelanggan mengelola langganan dan detail mereka.
Webhooks
Terima dan proses event webhook Dodo Payments.
Instalasi
1
Install the package
Jalankan perintah berikut di root proyek Anda:
2
Set up environment variables
Buat file
.env di root proyek Anda:Contoh Pengelola Rute
- Checkout Handler
- Customer Portal Handler
- Webhook Handler
Gunakan handler ini untuk mengintegrasikan checkout Dodo Payments ke aplikasi Express Anda. Mendukung alur pembayaran statis (GET), dinamis (POST), dan sesi (POST).
Pengelola Rute Checkout
Dodo Payments mendukung tiga jenis alur pembayaran untuk mengintegrasikan pembayaran ke situs web Anda; adaptor ini mendukung semua jenis alur tersebut.
- Tautan Pembayaran Statis: URL yang dapat dibagikan secara instan untuk pengumpulan pembayaran cepat tanpa kode.
- Tautan Pembayaran Dinamis: Menghasilkan tautan pembayaran secara programatis dengan detail kustom menggunakan API atau SDK.
- Sesi Checkout: Membuat pengalaman checkout yang aman dan dapat disesuaikan dengan keranjang produk dan detail pelanggan yang telah dikonfigurasi sebelumnya.
Static Checkout (GET)
Static Checkout (GET)
Parameter Query yang Didukung
string
wajib
Pengidentifikasi produk (mis.,
?productId=pdt_nZuwz45WAs64n3l07zpQR).integer
Kuantitas produk.
string
Nama lengkap pelanggan.
string
Nama depan pelanggan.
string
Nama belakang pelanggan.
string
Alamat email pelanggan.
string
Negara pelanggan.
string
Baris alamat pelanggan.
string
Kota pelanggan.
string
Negara bagian/provinsi pelanggan.
string
Kode pos/pakai pos pelanggan.
boolean
Nonaktifkan bidang nama lengkap.
boolean
Nonaktifkan bidang nama depan.
boolean
Nonaktifkan bidang nama belakang.
boolean
Nonaktifkan bidang email.
boolean
Nonaktifkan bidang negara.
boolean
Nonaktifkan bidang baris alamat.
boolean
Nonaktifkan bidang kota.
boolean
Nonaktifkan bidang negara bagian.
boolean
Nonaktifkan bidang kode pos.
string
Tentukan mata uang pembayaran (mis.,
USD).boolean
Tampilkan pemilih mata uang.
integer
Tentukan jumlah pembayaran (mis.,
1000 untuk $10.00).boolean
Tampilkan bidang diskon.
string
Setiap parameter kueri yang dimulai dengan
metadata_ akan diteruskan sebagai metadata.Format Respons
Checkout statis mengembalikan respons JSON dengan URL checkout:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- Kirim parameter sebagai tubuh JSON dalam permintaan POST.
- Mendukung pembayaran sekali pakai dan berulang.
- Untuk daftar lengkap field tubuh POST yang didukung, lihat:
Format Respons
Checkout dinamis mengembalikan respons JSON dengan URL checkout:Checkout Sessions (POST)
Checkout Sessions (POST)
Sesi checkout menyediakan pengalaman checkout yang lebih aman dan dihosting yang menangani alur pembayaran lengkap untuk pembelian sekali pakai maupun langganan dengan kontrol kustomisasi penuh.Lihat Panduan Integrasi Sesi Checkout untuk detail lebih lanjut dan daftar lengkap bidang yang didukung.
Format Respons
Sesi checkout mengembalikan respons JSON dengan URL checkout:Pengelola Rute Portal Pelanggan
Pengelola Rute Portal Pelanggan memungkinkan Anda untuk mengintegrasikan portal pelanggan Dodo Payments ke dalam aplikasi Express Anda dengan mulus.Parameter Kuery
string
wajib
ID pelanggan untuk sesi portal (mis.,
?customer_id=cus_123).boolean
Jika diatur ke
true, mengirim email kepada pelanggan dengan tautan portal.Pengelola Rute Webhook
- Metode: Hanya permintaan POST yang didukung. Metode lain mengembalikan 405.
- Verifikasi Tanda Tangan: Memverifikasi tanda tangan webhook menggunakan
webhookKey. Mengembalikan 401 jika verifikasi gagal. - Validasi Payload: Divalidasi dengan Zod. Mengembalikan 400 untuk payload yang tidak valid.
- Penanganan Kesalahan:
- 401: Tanda tangan tidak valid
- 400: Payload tidak valid
- 500: Kesalahan internal selama verifikasi
- Rute Acara: Memanggil pengelola acara yang sesuai berdasarkan jenis payload.