Fitur Baru
1. Analitik Tingkat Produk
Setiap produk sekarang memiliki dasbor analitik khusus. Buka Products > [Select a Product] untuk mengakses metrik rinci khusus produk tersebut, yang diatur dalam lima tab:
| Tab | Apa yang Anda Dapatkan |
|---|
| Overview | Pendapatan total, jumlah pembayaran yang berhasil, grafik tren pendapatan 30 hari (harian atau kumulatif), dan tabel transaksi yang bisa difilter |
| Customers | 3 pelanggan teratas yang diurutkan berdasarkan pengeluaran dengan tampilan podium, serta tabel rincian pelanggan lengkap |
| Retention | Tingkat churn pelanggan, tingkat churn pendapatan, dan grafik tren garis ganda untuk mengidentifikasi pola |
| Subscribers | Semua langganan untuk produk tersebut dengan status, tanggal mulai, tanggal penagihan berikutnya, dan jumlah |
| MRR | Bagan batang bertumpuk Pendapatan Berulang Bulanan dengan rincian MRR Baru, Ekspansi MRR, Churned MRR, dan Net New MRR |
Semua tab mendukung filter tanggal (default Semua Waktu) sehingga Anda bisa menggali periode waktu mana pun.
Gunakan tab Retention untuk mengidentifikasi produk dengan churn tinggi lebih awal, dan tab MRR untuk melacak apakah pendapatan ekspansi melebihi pendapatan churn setiap bulan.
Pelajari selengkapnya: Product-Level Analytics
2. Dukungan Verifi RDR pada Dodo Payments
Dodo Payments kini mendukung Visa Rapid Dispute Resolution (RDR) yang didukung oleh Verifi — alat pencegahan sengketa otomatis yang menyelesaikan sengketa Visa yang memenuhi syarat sebelum menjadi chargeback formal. Ketika pemegang kartu memulai sengketa, RDR mencegahnya dan otomatis mengeluarkan pengembalian dana jika transaksi berada di bawah ambang USD yang sudah Anda konfigurasikan.
Mengapa Ini Penting
| Manfaat | Dampak |
|---|
| Tingkat sengketa lebih rendah | Sengketa yang diselesaikan RDR tidak dihitung terhadap ambang 0,9% Visa |
| Tanpa biaya sengketa | Hindari biaya tidak dapat dikembalikan 15−25 per sengketa |
| Tanpa beban operasional | Tidak perlu mengumpulkan bukti atau tenggat tanggapan |
| Pengalaman pelanggan lebih baik | Pemegang kartu mendapatkan pengembalian dana instan |
| Perlindungan akun | Tetap di luar Program Pemantauan Sengketa Visa (VDMP) |
Melebihi tingkat sengketa Visa sebesar 0,9% atau 100 sengketa/bulan memicu VDMP, dengan denda yang meningkat hingga lebih dari $50.000+/bulan. RDR membantu Anda tetap jauh di bawah ambang tersebut.
Cara Kerjanya
- Pemegang kartu memulai sengketa dengan bank mereka
- RDR mencegat sengketa sebelum menjadi chargeback formal
- Jika jumlah transaksi berada di bawah atau sama dengan ambang Anda, pengembalian dana dikeluarkan secara otomatis
- Sengketa diselesaikan secara instan dan tidak dihitung terhadap tingkat sengketa Anda
Transaksi yang dikembalikan dana secara otomatis melalui RDR muncul sebagai sengketa yang hilang di dasbor Dodo Payments Anda. Ini wajar — pengembalian dana dikeluarkan otomatis untuk mencegah chargeback formal.
Untuk mengaktifkan Verifi RDR di akun Anda, hubungi support@dodopayments.com untuk mengonfigurasi ambang Anda.
Pelajari selengkapnya: Visa RDR Documentation
3. DodoPayments CLI
Memperkenalkan DodoPayments CLI yang serba baru (dodopayments-cli) — kelola seluruh alur kerja Dodo Payments langsung dari terminal. Dibuat untuk pengembang yang lebih suka baris perintah, CLI memungkinkan Anda mengelola produk, pembayaran, pelanggan, diskon, lisensi, addon, pengembalian dana, dan bahkan membuat sesi checkout tanpa meninggalkan editor Anda.
Instalasi
npm install -g dodopayments-cli
Perintah Kunci
| Perintah | Deskripsi |
|---|
dodo login | Autentikasi dengan kunci API Anda (membuka browser) |
dodo products list | Daftar semua produk |
dodo payments list | Daftar semua pembayaran |
dodo customers create | Buat pelanggan baru |
dodo checkout new | Buat sesi checkout dan dapatkan URL |
dodo wh listen | Meneruskan webhook tes langsung ke server lokal Anda melalui WebSocket |
dodo wh trigger | Kirim data webhook tiruan ke endpoint mana pun |
Pengujian Webhook
CLI menyertakan dua alat ampuh untuk pengembangan:
dodo wh listen — Membuka koneksi WebSocket untuk meneruskan webhook tes waktu nyata ke server lokal Anda, tetap menjaga header asli untuk pengujian verifikasi tanda tangan
dodo wh trigger — Mengirim payload webhook tiruan secara interaktif, mendukung 22 jenis acara yang mencakup langganan, pembayaran, pengembalian dana, sengketa, dan lisensi
Pendengar webhook hanya berfungsi dengan kunci API mode tes. Pastikan Anda masuk dengan kunci mode tes sebelum menggunakan dodo wh listen.
Pelajari selengkapnya: CLI Documentation
4. Perombakan UI Portal Pelanggan
Portal Pelanggan telah dirancang ulang sepenuhnya dengan antarmuka bersih dan seragam. Portal yang diperbarui menampilkan navigasi bilah sisi kiri dan seksi yang terorganisir, memberikan pengalaman swalayan yang lebih intuitif bagi pelanggan.
Apa yang Baru
| Seksi | Fitur |
|---|
| Active Subscriptions | Lihat semua langganan aktif dengan detail paket, siklus penagihan, dan tanggal pembayaran berikutnya |
| Payment Methods | Kelola metode pembayaran tersimpan, tambahkan kartu baru, dan perbarui detail pembayaran |
| Billing History | Lihat faktur lampau dengan tanda terima PDF yang dapat diunduh |
| Billing Information | Edit nama, email, nomor telepon, dan alamat tagihan |
| Subscription Details | Lihat info langganan terperinci dengan opsi untuk membatalkan atau mengubah paket |
| Plan Changes | Tingkatkan atau turunkan melalui Product Collections langsung di portal |
Pelanggan juga bisa memperbarui metode pembayaran untuk langganan aktif atau mengaktifkan kembali langganan yang ditangguhkan karena pembayaran gagal — semuanya dari portal yang diperbarui.
Portal yang diperbarui tersedia di https://customer.dodopayments.com/login/{business_id} untuk mode langsung dan https://test.customer.dodopayments.com/login/{business_id} untuk mode tes.
Pelajari selengkapnya: Customer Portal
5. Perbarui Metode Pembayaran dalam Inline Checkout
inline checkout kini mendukung pembaruan metode pembayaran untuk langganan. Ketika pelanggan perlu memperbarui metode pembayaran (untuk langganan aktif atau mengaktifkan kembali langganan yang ditangguhkan), alur pembaruan metode pembayaran sekarang bisa dirender langsung di tata letak halaman Anda menggunakan checkout inline — memberikan pengalaman tertanam yang mulus.
Cara Kerjanya
- Panggil API Update Payment Method untuk mendapatkan
payment_link:
const response = await client.subscriptions.updatePaymentMethod('sub_123', {
type: 'new',
return_url: 'https://example.com/return'
});
- Gunakan
payment_link yang dikembalikan sebagai checkoutUrl di inline checkout:
DodoPayments.Checkout.open({
checkoutUrl: response.payment_link,
elementId: "dodo-inline-checkout"
});
Frame inline hanya merender formulir pengumpulan metode pembayaran, memungkinkan pelanggan memasukkan detail kartu baru atau memilih metode pembayaran tersimpan tanpa meninggalkan halaman Anda.
Untuk langganan yang ditangguhkan, alur pembaruan metode pembayaran secara otomatis membuat biaya untuk sisa tunggakan. Pantau webhook payment.succeeded dan subscription.active untuk memastikan reaktivasi.
Pelajari selengkapnya: Inline Checkout | Subscription Payment Method Updates
6. Dukungan Prefill Tax ID untuk Sesi Checkout
Anda kini bisa mengisi otomatis Tax ID (misalnya nomor VAT, nomor GST) saat membuat sesi checkout menggunakan parameter tax_id. Ini ideal untuk transaksi B2B di mana Anda sudah mengetahui nomor identifikasi pajak pelanggan. Saat Tax ID diisi otomatis, kolom tersebut sudah terisi dan dikunci di formulir checkout.
const session = await client.checkoutSessions.create({
product_cart: [{ product_id: 'prod_123', quantity: 1 }],
customer: { customer_id: 'cus_123' },
billing_address: { country: 'DE' },
tax_id: 'DE999999999',
return_url: 'https://yoursite.com/return'
});
Parameter tax_id memerlukan billing_address dengan setidaknya field country. Kelayakan pajak divalidasi secara waktu nyata, dan aturan reverse-charge diterapkan otomatis untuk transaksi B2B yang memenuhi syarat.
Gunakan flag fitur allow_customer_editing_tax_id untuk mengontrol apakah pelanggan bisa mengubah Tax ID yang diisi otomatis, dan allow_tax_id untuk mengalihkan visibilitas Tax ID di checkout.
Pelajari selengkapnya: Checkout Sessions - Tax ID | B2B Payments
7. Kunci Lisensi dan Email dalam Redirect URL Pengembalian
Setelah pelanggan menyelesaikan checkout, Dodo Payments kini menambahkan license_key dan email sebagai parameter kueri ke pengalihan return_url Anda, selain parameter payment_id/subscription_id dan status yang sudah ada.
Parameter Kueri yang Ditambahkan
| Parameter | Tipe | Kondisi |
|---|
payment_id | string | Selalu ada untuk pembayaran sekali |
subscription_id | string | Selalu ada untuk pembayaran langganan |
status | string | Selalu ada |
license_key | string | Ada jika produk memiliki kunci lisensi diaktifkan (dipisahkan koma untuk beberapa) |
email | string | Ada jika pelanggan memiliki email yang tercatat |
Contoh URL pengalihan:
# One-time payment with license key
https://yoursite.com/return?payment_id=pay_xxx&status=succeeded&license_key=LK-001&email=customer%40example.com
# Subscription with multiple license keys
https://yoursite.com/return?subscription_id=sub_xxx&status=active&license_key=LK-001,LK-002&email=customer%40example.com
Gunakan parameter kueri ini untuk menampilkan kunci lisensi atau mengirim email konfirmasi segera di halaman pengembalian Anda, tanpa perlu panggilan API tambahan.
Pelajari selengkapnya: Checkout Sessions - Return URL | License Keys in Return URL
8. Customer Email Update API
Endpoint PATCH /customers/{customer_id} kini mendukung pembaruan alamat email pelanggan secara program. Perbarui email bersama nama, nomor telepon, dan metadata dalam satu panggilan API.
await client.customers.update('cus_123', {
email: 'newemail@example.com',
name: 'Updated Name'
});
Bidang yang dapat diperbarui
| Bidang | Tipe | Deskripsi |
|---|
email | string | null | Alamat email pelanggan |
name | string | null | Nama tampilan pelanggan |
phone_number | string | null | Nomor telepon dalam format internasional |
metadata | object | null | Pasangan kunci-nilai khusus |
Pembaruan email pelanggan juga tersedia melalui Portal Pelanggan (swalayan), dasbor, dan CLI melalui dodo customers update.
Pelajari selengkapnya: Customer Update API | Customer Management
9. Rilis Adaptor Bun
Memperkenalkan @dodopayments/bun — adaptor framework khusus untuk server asli Bun (Bun.serve()). Integrasikan checkout, portal pelanggan, dan webhook dengan Bun hanya dalam beberapa baris kode.
Instalasi
bun add @dodopayments/bun
Pengaturan Cepat
import { Checkout, CustomerPortal, Webhooks } from "@dodopayments/bun";
Bun.serve({
routes: {
"/api/checkout": Checkout({
bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
returnUrl: process.env.DODO_PAYMENTS_RETURN_URL!,
environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
}),
"/api/customer-portal": CustomerPortal({
bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
}),
"/api/webhooks": Webhooks({
webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY!,
onPaymentSucceeded: async (payload) => {
console.log("Payment succeeded:", payload.data.payment_id);
},
onSubscriptionActive: async (payload) => {
console.log("Subscription active:", payload.data.subscription_id);
},
}),
},
});
Adaptor Bun mendukung ketiga alur checkout (statis, dinamis, dan berbasis sesi), pembuatan sesi portal pelanggan, dan penanganan webhook aman dengan verifikasi tanda tangan serta validasi Zod di 22 jenis acara.
Adaptor Bun bergabung dengan keluarga kami yang terdiri dari 11 adaptor framework termasuk Next.js, Nuxt, Express, Fastify, Hono, Astro, SvelteKit, Remix, TanStack Start, Better Auth, dan Convex.
Pelajari selengkapnya: Bun Adapter Documentation | Framework Adapters Overview