Fixed Amount Subscriptions adalah jenis langganan yang paling umum, di mana pembayaran dilakukan pada interval tetap dan jumlahnya tetap sama untuk setiap siklus. Kasus penggunaan umum termasuk langganan media, premi asuransi, biaya keanggotaan, atau pembayaran pinjaman.
Cara integrasi
Fixed Amount Subscriptions pada dasarnya hanya memerlukan satu penyiapan di muka selama pembuatan Subscription dan Xendit kemudian akan secara otomatis mempertahankan penjadwal hingga Subscriptionmencapai siklus akhir yang Anda inginkan.
Aplikasi Anda harus menampilkan Subscription agar pengguna akhir dapat memilih opsi tersebut. Langkah ini seharusnya hanya duduk di sistem Anda, belum ada interaksi ke lingkungan Xendit. Anda dapat melakukan hal serupa seperti ini
Setelah pengguna akhir memilih paket yang diinginkan, Anda dapat membuat paket Subscription ke Xendit.
Contoh payload:
Request - POST /berulang/rencana
{ "reference_id": "ref-{{$timestamp}}", "customer_id": "cust-7e34f507-808d-44f8-a4a6-aea89a14a89c", "recurring_action": "PAYMENT", "currency": "IDR", "amount": 13579, "schedule": { "reference_id": "test-{{$timestamp}}", "interval": "MONTH", "interval_count": 1, "total_recurrence": 6, "anchor_date": "2025-02-15T09:44:19.546Z", "retry_interval": "DAY", "retry_interval_count": 1, "total_retry": 3, "failed_attempt_notifications": [ 1,3 ] }, "notification_config": { "locale": "en", "recurring_created": [ "WHATSAPP", "EMAIL" ], "recurring_succeeded": [ "WHATSAPP", "EMAIL" ], "recurring_failed": [ "WHATSAPP", "EMAIL" ] }, "failed_cycle_action": "STOP", "immediate_action_type": "FULL_AMOUNT", "payment_link_for_failed_attempt": true, "metadata": null, "description": "Xendit Recurring Test", "success_return_url": "https://www.xendit.co/", "failure_return_url": "https://www.xendit.co/" }
Response - POST /berulang/rencana
{ "id": "repl_c87f3312-a9c1-4eee-932c-38479f911830", "reference_id": "ref-1733299168", "customer_id": "cust-7e34f507-808d-44f8-a4a6-aea89a14a89c", "recurring_action": "PAYMENT", "failed_cycle_action": "STOP", "recurring_cycle_count": 0, "currency": "IDR", "amount": 13579, "status": "REQUIRES_ACTION", "created": "2024-12-04T07:59:28.553Z", "updated": "2024-12-04T07:59:28.553Z", "schedule_id": "resc_07d3197d-f860-47dc-bc6e-b87deaf34735", "payment_methods": [], "schedule": { "id": "resc_07d3197d-f860-47dc-bc6e-b87deaf34735", "reference_id": "test-1733299168", "business_id": "62440e322008e87fb29c1fd0", "interval": "MONTH", "interval_count": 1, "total_recurrence": 6, "anchor_date": "2025-02-15T09:44:19.546Z", "retry_interval": "DAY", "retry_interval_count": 1, "total_retry": 3, "failed_attempt_notifications": [ 1, 3 ], "created": "2024-12-04T07:59:28.545Z", "updated": "2024-12-04T07:59:28.545Z" }, "immediate_action_type": "FULL_AMOUNT", "notification_config": { "locale": "en", "recurring_created": [ "WHATSAPP", "EMAIL" ], "recurring_succeeded": [ "WHATSAPP", "EMAIL" ], "recurring_failed": [ "WHATSAPP", "EMAIL" ] }, "metadata": null, "description": "Xendit Recurring Test", "actions": [ { "url": "https://linking-dev.xendit.co/pali_a757f019-19b9-4522-91fe-03b6dc00368a", "action": "AUTH", "method": "GET", "url_type": "WEB" } ], "success_return_url": "https://www.xendit.co/", "failure_return_url": "https://www.xendit.co/", "items": null, "payment_link_for_failed_attempt": true, "failure_code": null }
Setelah membuat Subscription, arahkan pengguna Anda ke halaman yang dihosting Xendit menggunakan objek dari
actions
respons API. Langkah ini memungkinkan pengguna akhir untuk menautkan metode pembayaran mereka ke paket Subscription.Setelah pengguna akhir berhasil menautkan metode pembayaran mereka, Xendit akan mengirimkan
recurring.plan.activation
webhook untuk mengonfirmasi aktivasi paket Subscription.Dengarkan webhook siklus (
recurring.cycle
) untuk melacak status setiap siklus Subscription. Lanjutkan pemantauan hingga semua siklus selesai untuk memastikan eksekusi dan visibilitas yang mulus ke dalam proses Subscription.
Untuk Fixed Amount Subscription, penyiapan minimal diperlukan di pihak Anda. Setelah Subscription dibuat, Xendit akan secara otomatis memproses setiap siklus sesuai dengan jadwal yang ditentukan hingga semua siklus selesai.