Subscriptions adalah solusi untuk mengelola pembayaran berulang menggunakan penjadwal Xendit. Ini menawarkan integrasi yang mudah dan fleksibel, memungkinkan Anda untuk mengonfigurasi dan mengotomatiskan siklus pembayaran berulang berdasarkan pengaturan Anda.
Dengan menggunakan produk Subscriptions, Anda menghilangkan kebutuhan untuk membuat sistem penjadwalan Anda sendiri, termasuk menangani pemulihan pembayaran yang gagal. Xendit mengoptimalkan tingkat keberhasilan pembayaran melalui fitur yang dirancang khusus untuk manajemen Subscriptions.
High level data objects
Nama data object | Deskripsi | Dibuat oleh |
---|---|---|
Plan | Objek data utama untuk mengelola logika Subscription Anda. Ini berisi detail seperti objek pelanggan, jumlah yang akan dipotong untuk setiap siklus, objek jadwal, dan konfigurasi paket Subscription dasar, termasuk fitur opsional. | Anda |
Schedule | Menentukan kapan tindakan Subscription harus terjadi. Ini mencakup detail waktu yang ditentukan penjual, seperti interval (misalnya, harian, bulanan, tahunan) dan logika coba lagi. Objek jadwal dapat dibuat bersamaan dengan paket Subscription untuk mengaktifkan penyesuaian paket untuk setiap pelanggan. | Anda |
Cycle | Dibuat secara otomatis berdasarkan objek paket Subscription. Setiap siklus Subscription mewakili instans penagihan individu (misalnya, paket bulanan selama setahun menghasilkan 12 siklus). Perubahan ad hoc dapat dilakukan pada siklus tertentu tanpa memengaruhi paket Subscription dasar. Paket Subscription memiliki hubungan satu-ke-banyak dengan siklusnya. | Xendit |
Attempt | Mewakili setiap tindakan yang diambil untuk menyelesaikan siklus Subscription (misalnya, pembayaran). Beberapa upaya dapat terjadi dalam satu siklus tergantung pada konfigurasi percobaan ulang (misalnya, siklus dengan dua percobaan ulang dapat memiliki hingga tiga percobaan). Semua upaya disimpan dalam objek siklus yang sesuai. Setiap siklus Subscription memiliki hubungan satu-ke-banyak dengan upayanya. Satu upaya dapat melibatkan beberapa | Xendit |
Alur integrasi
Contoh alur integrasi jika Anda akan menyiapkan pembayaran Subscription untuk pengguna akhir Anda
Setelah pengguna akhir memilih paket Subscription di sistem Anda, buat paket Subscriptionyang sesuai di Xendit.
Gunakan yang ada
customer_id
jika pelanggan sudah terdaftar di Xendit. Jika tidak, buat pelanggan baru pada langkah ini.Buat paket Subscription dengan detail dan
customer_id
yang disepakati (misalnya, jadwal, interval).Jika Anda sudah memiliki metode pembayaran tertaut pengguna akhir Anda, berikan saat
payment_method_id
membuat Subscription. Jika Anda tidak memasukkannya, Xendit akan mengembalikanREQUIRES_ACTION
status dan menghasilkanaction
objek yang akan dieksekusi. Iniaction.url
dapat dibagikan dengan pelanggan Anda, memungkinkan mereka untuk menautkan metode pembayaran mereka di halaman yang dihosting Xendit.Mengarahkan pelanggan ke halaman yang dihosting Xendit menggunakan .
action.url
Pelanggan menautkan metode pembayaran mereka di halaman yang dihosting Xendit.
Setelah metode pembayaran ditautkan, terima
recurring.plan_activation
webhook, dan paket menjadi aktif. Lihat Plan lifecycle di bawah ini.Xendit memproses siklus Subscription berdasarkan dan
anchor_date
interval
.Untuk setiap siklus, terima webhook yang menunjukkan pembaruan status:
recurring.cycle.created
: Siklus baru dibuat.recurring.cycle.retrying
: Upaya pembayaran gagal, tetapi percobaan ulang dijadwalkan padanext_retry_timestamp
.recurring.cycle.failed
: Semua upaya percobaan ulang gagal.recurring.cycle.succeeded
: Pembayaran untuk siklus berhasil.
Plan lifecycle
Status | Deskripsi | Event webhook |
---|---|---|
Requires Action | Paket Subscription dalam status Arahkan pengguna akhir ke | |
Pending | Jika | |
Active | Plan menjadi |
|
Inactive | Paket menjadi |
|
Cycle lifecycle
Status | Deskripsi | Event webhook |
---|---|---|
Created | Siklus telah dibuat dan siap dijalankan berdasarkan . |
|
Retrying | Jika upaya pertama gagal dan paket memiliki konfigurasi coba lagi, Anda akan menerima webhook. |
|
Succeeded | Pembayaran siklus berhasil. Anda akan menerima webhook |
|
Failed | Pembayaran siklus gagal. Anda akan menerima webhook |
|