Checkout Handler
Integrasikan checkout Dodo Payments ke dalam Remix app Anda.
Customer Portal
Izinkan pelanggan mengelola langganan dan detail.
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
Semua contoh mengasumsikan Anda menggunakan Remix App Router.
- Checkout Handler
- Customer Portal Handler
- Webhook Handler
Gunakan handler ini untuk mengintegrasikan checkout Dodo Payments ke dalam Remix app 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 Anda, adaptor ini mendukung semua jenis alur pembayaran.
- 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: Buat 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 (misalnya,
?productId=pdt_nZuwz45WAs64n3l07zpQR).integer
Jumlah 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 pelanggan.
boolean
Nonaktifkan kolom nama lengkap.
boolean
Nonaktifkan kolom nama depan.
boolean
Nonaktifkan kolom nama belakang.
boolean
Nonaktifkan kolom email.
boolean
Nonaktifkan kolom negara.
boolean
Nonaktifkan kolom baris alamat.
boolean
Nonaktifkan kolom kota.
boolean
Nonaktifkan kolom negara bagian.
boolean
Nonaktifkan kolom kode pos.
string
Tentukan mata uang pembayaran (misalnya,
USD).boolean
Tampilkan pemilih mata uang.
number
Menetapkan jumlah yang ditagihkan dalam satuan utama mata uang (misalnya,
12.5 untuk $12.50). Hanya untuk produk Pay What You Want, dan diabaikan jika berada di bawah harga minimum produk.boolean
Tampilkan kolom diskon.
string
Parameter query apa pun yang diawali 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 body JSON dalam permintaan POST.
- Mendukung pembayaran sekali dan berulang.
- Untuk daftar lengkap field body POST yang didukung, lihat:
Format Respons
Dynamic checkout mengembalikan respons JSON dengan URL checkout:Checkout Sessions (POST)
Checkout Sessions (POST)
Checkout sessions menyediakan pengalaman checkout hosted yang lebih aman dan menangani seluruh alur pembayaran untuk pembelian satu kali maupun subscription, dengan kontrol kustomisasi penuh.Lihat Panduan Integrasi Checkout Sessions untuk detail lebih lanjut dan daftar lengkap field yang didukung.
Format Respons
Checkout sessions mengembalikan respons JSON dengan URL checkout:Customer Portal Route Handler
Customer Portal Route Handler memungkinkan Anda mengintegrasikan portal pelanggan Dodo Payments ke dalam aplikasi Remix dengan lancar.Query Parameters
string
wajib
ID pelanggan untuk sesi portal (misalnya,
?customer_id=cus_123).boolean
Jika diatur ke
true, email berisi tautan portal akan dikirim kepada pelanggan.Webhook Route Handler
- Method: Hanya request POST yang didukung. Method lainnya mengembalikan 405.
- Signature Verification: Memverifikasi signature webhook menggunakan
webhookKey. Mengembalikan 401 jika verifikasi gagal. - Payload Validation: Divalidasi dengan Zod. Mengembalikan 400 untuk payload yang tidak valid.
- Error Handling:
- 401: Signature tidak valid
- 400: Payload tidak valid
- 500: Error internal selama verifikasi
- Event Routing: Memanggil event handler yang sesuai berdasarkan tipe payload.