Welcome to Xendit’s latest documentation. For legacy content, access the previous documentation here or the previous API reference here.

Simpan detail pembayaran

Prev Next

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

  1. 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"
    }
    1. 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.

  2. Setelah Payment Session dibuat, arahkan pengguna akhir Anda ke halaman yang dihosting Xendit menggunakan payment_link_url dari respons tersebut.

  3. Pengguna akhir Anda akan menyelesaikan proses linking mereka di halaman yang dihosting Xendit

  4. Setelah linking berhasil, Xendit akan mengirimkan webhook payment_session.completed ke sistem Anda. Webhook ini berisi payment_token_id yang harus Anda simpan dengan aman untuk digunakan di masa mendatang.

    Anda dapat menggunakan payment_token_id untuk: