Payment Session memungkinkan Anda menyimpan channel pembayaran pengguna dengan aman untuk transaksi di masa mendatang. Fitur ini memastikan kepatuhan terhadap peraturan dan menyederhanakan proses integrasi. Setelah disimpan, channel pembayaran dapat digunakan untuk transaksi berikutnya, baik yang dimulai oleh sistem Anda ataupun langsung oleh pengguna akhir dalam aplikasi Anda.
Cara integrasi
Selama pendaftaran pengguna atau melalui opsi menu di mana pengguna dapat menyimpan channel pembayaran mereka, sistem Anda harus membuat Payment Session dengan Xendit menggunakan contoh payload yang disediakan di bawah ini.
Request - POST /sessions
{ "reference_id": "{{$randomUUID}}", "session_type": "SAVE", "mode": "PAYMENT_LINK", "amount": 0, "currency": "IDR", "country": "ID", "customer": { "reference_id": "{{$randomUUID}}", "type": "INDIVIDUAL", "email": "test@yourdomain.com", "mobile_number": "+6212345678", "individual_detail": { "given_names": "Lorem", "surname": "Ipsum" } }, "channel_properties": { "cards":{ "card_on_file_type":"RECURRING" } }, "success_return_url":"https://yourcompany.com/example_item=my_example_item", "cancel_return_url":"https://yourcompany.com/example_item=my_example_item" }
response - POST /sesi
{ "payment_session_id": "ps-67527107dda8b2513acdaef0", "created": "2024-12-06T03:35:36.032Z", "updated": "2024-12-06T03:35:36.032Z", "status": "ACTIVE", "reference_id": "b767f88f-b5bc-4836-9c47-c14261909dec", "currency": "IDR", "amount": 0, "country": "ID", "customer_id": "cust-fe8743c3-f554-4d25-a0e9-9980226c4b1b", "expires_at": "2024-12-06T04:05:35.049Z", "session_type": "SAVE", "mode": "PAYMENT_LINK", "locale": "en", "business_id": "62440e322008e87fb29c1fd0", "channel_properties": { "cards":{ "card_on_file_type":"RECURRING" } }, "success_return_url": "https://yourcompany.com/example_item=my_example_item", "cancel_return_url": "https://yourcompany.com/example_item=my_example_item", "payment_link_url": "https://dev.xen.to/qZx5RD_7" }
Untuk pembayaran dengan Kartu, kami untuk menentukan
channel_properties.cards.card_on_file_type
selama pembuatan Payment Session. Kolom ini menunjukkan tujuan penggunaan token pembayaran untuk transaksi berikutnya—baik RECURRING, MERCHANT_UNSCHEDULED, atau CUSTOMER_UNSCHEDULED. Menetapkan nilai ini dengan benar dapat meningkatkan tingkat keberhasilan transaksi secara signifikan.
Setelah Payment Session dibuat, arahkan pengguna akhir Anda ke halaman yang dihosting Xendit menggunakan
payment_link_url
dari respons tersebut.Pengguna akhir Anda akan menyelesaikan proses linking mereka di halaman yang dihosting Xendit
Setelah linking berhasil, Xendit akan mengirimkan webhook
payment_session.completed
ke sistem Anda. Webhook ini berisipayment_token_id
yang harus Anda simpan dengan aman untuk digunakan di masa mendatang.Anda dapat menggunakan
payment_token_id
untuk:Transaksi one-off payment di masa mendatang: Lihat panduan Pembayaran dengan Token .
Transaksi Subscriptions: Lihat panduan tentang fixed amount Subscriptions atau usage-based Subscriptions.