Checkout Sessions
Buat checkout yang aman dan di-host untuk pembayaran satu kali dan subscription.
Payment Links
Bagikan URL untuk mengumpulkan pembayaran tanpa kode.
Webhooks
Dengarkan payment events dan penuhi pesanan.
API Reference
Dokumentasi endpoint lengkap dan pengujian langsung.
Prasyarat
Sebelum memulai, Anda memerlukan:- Akun Dodo Payments.
- Setidaknya satu produk. Buat produk di Products pada dashboard. Produk subscription dengan harga non-nol harus memiliki harga minimal $1, atau nilai setara dalam mata uangnya. Subscription $0 juga didukung.
- API key. Buat di Developer → API Keys dan simpan di environment variable
DODO_PAYMENTS_API_KEY. Buat key dalam test mode saat mengembangkan: contoh di halaman ini menggunakan test mode, dan key test mode hanya berfungsi dengan test mode. Lihat Authentication.
Pilih Jalur Integrasi
Overlay dan inline checkout hanya berjalan di halaman web. Dalam aplikasi mobile native, buat checkout session di server Anda dan buka
checkout_url dengan mobile checkout SDK.
Untuk meminta coding agent membuat integrasi ini, instal Agent Plugin.
Checkout Sessions
Buat pengalaman checkout yang aman dan di-host. Anda membuat session di server, lalu mengarahkan customer kecheckout_url yang dikembalikan.
Buat Checkout Session
- Node.js SDK
- Python SDK
- cURL
Arahkan ke Checkout
Setelah membuat session, arahkan customer kecheckout_url:
Payment Links
Payment link adalah URL yang membuka checkout untuk suatu produk, sehingga Anda dapat mengumpulkan pembayaran tanpa menulis kode. Query parameters mengisi detail customer terlebih dahulu dan mengontrol formulir checkout. Saat customer membuka link, checkout menyimpan parameters dalam session dan mempersingkat URL menjadi parametersession, sehingga refresh halaman tetap mempertahankannya.
Static Payment Links
Static payment link adalah URL yang Anda buat sekali dan bagikan berkali-kali. Base URL-nya adalah:integer
default:"1"
Jumlah item yang akan dibeli.
string
wajib
Payment links menggunakan
redirect_url. Checkout Sessions API menggunakan return_url untuk tujuan yang sama.URL untuk mengarahkan setelah pembayaran. Dodo Payments menambahkan detail pembayaran sebagai query parameters, misalnya https://example.com/?payment_id=pay_ts2ySpzg07phGeBZqePbH&status=succeeded&email=customer%40example.com. Jika produk menerbitkan license keys, parameter license_key juga ditambahkan, dengan beberapa key dipisahkan oleh koma.string
Menentukan mata uang pembayaran. Default-nya adalah mata uang negara penagihan.
boolean
default:"true"
Menampilkan atau menyembunyikan pemilih mata uang.
boolean
default:"true"
Menampilkan atau menyembunyikan bagian diskon. Atur ke
false untuk mencegah customer memasukkan kode kupon.number
Menetapkan jumlah yang dikenakan, dalam unit utama mata uang, misalnya
12.5 untuk $12.50. Hanya berfungsi dengan produk Pay What You Want, dan diabaikan jika nilainya di bawah harga minimum produk.string
Field metadata kustom, misalnya
metadata_orderId=123.Isi Terlebih Dahulu Informasi Customer
Tambahkan field customer sebagai query parameters untuk memperlancar checkout:string
Nama lengkap customer (diabaikan jika firstName atau lastName diberikan).
string
Nama depan customer.
string
Nama belakang customer.
string
Alamat email customer.
string
Negara customer (kode ISO 3166-1 alpha-2).
string
Alamat jalan.
string
Kota.
string
Negara bagian atau provinsi.
string
Kode pos atau ZIP.
Nonaktifkan Field Formulir
Untuk mencegah customer mengubah informasi yang telah diisi, nonaktifkan field dengan memberikan nilainya dan mengatur flagdisable... yang sesuai ke true:
Contoh Static Payment Link
Dynamic Payment Links (Deprecated)
Untuk integrasi yang sudah ada dan menggunakan dynamic payment links, teruskanpayment_link: true ke Create One-Time Payment atau Create Subscription untuk membuat link. Contoh di bawah membuat one-time payment link. Untuk subscription, lihat Subscription Integration Guide.
- Node.js SDK
- Python SDK
- Go SDK
Webhooks
Webhooks memberi tahu server Anda saat pembayaran berhasil atau gagal, sehingga Anda dapat memenuhi pesanan.Buat Webhook Endpoint
Buka Developer → Webhooks di dashboard dan tambahkan URL endpoint Anda. Salin signing secret endpoint ke environment variableDODO_PAYMENTS_WEBHOOK_KEY.
Berikut contoh menggunakan Next.js:
app/api/webhooks/dodo/route.ts
Event yang Perlu Didengarkan
Minimal, dengarkan event berikut dalam alur pembayaran satu kali:
Jika Anda menjual produk dengan license keys, tangani juga
license_key.created. Untuk daftar lengkap event, termasuk event subscription, entitlement, credit, recovery, dan dunning, lihat Webhook Event Guide.
Untuk contoh Next.js dan TypeScript lengkap, lihat demo repository dan live deployment-nya.
Mata Uang dan Alamat Penagihan
Untuk mengenakan biaya dalam mata uang tertentu, teruskanbilling_currency dan billing_address.country saat membuat checkout session. Jika tidak menyertakannya, Adaptive Currency memilih mata uang dan negara dari alamat IP customer, yang mungkin bukan mata uang yang ingin Anda gunakan untuk penagihan.
Jumlah Pay What You Want menggunakan mata uang dasar produk, yang harus berupa USD, GBP, atau EUR. Untuk mengumpulkan jumlah tetap dalam mata uang lain, gunakan Adaptive Currency, yang mengonversi harga dasar Anda berdasarkan nilai tukar langsung, atau Localized Pricing, yang menetapkan harga tetap per mata uang. Localized Pricing tidak berfungsi dengan Pay What You Want.
Pembelian Ulang Sekali Klik
Untuk menagih customer yang kembali menggunakan metode pembayaran tersimpan, teruskanpayment_method_id bersama confirm: true. payment_method_id hanya diterima jika confirm adalah true, dan Anda juga harus meneruskan customer_id milik customer yang sudah ada. Karena confirm adalah true, Anda juga harus meneruskan billing_address yang lengkap. Session menagih metode pembayaran tersimpan secara langsung, sehingga tidak mengembalikan checkout_url. Gunakan webhooks untuk mengetahui apakah pembayaran berhasil.
Halaman Terkait
Checkout Sessions
Panduan lengkap dengan opsi kustomisasi lanjutan.
Overlay Checkout
Sematkan checkout sebagai overlay modal di halaman Anda.
Inline Checkout
Sematkan checkout langsung dalam tata letak halaman Anda.
Subscription Integration
Siapkan recurring billing.
Webhook Event Guide
Daftar lengkap semua webhook events.
API Reference
Dokumentasi Checkout Sessions API.