Cara Integrasi

Siapkan akun Anda

Untuk menggunakan API Pembayaran kami, daftarkan akun xendit. Setelah pendaftaran, Anda dapat mulai menguji pembayaran pada mode uji.

Checklist Integrasi

Ambil Kunci API Anda

Kami menyediakan kunci API unik untuk lingkungan Pengembangan dan Produksi. Anda dapat mengambil ini dari Dasbor Anda. Kunci API Anda harus dirahasiakan, jadi jangan bagikan kunci API rahasia Anda. Agar berhasil mengautentikasi dengan API Xendit, Anda harus menambahkan titik dua dan Base 64 menyandikan kunci API. Semua permintaan API harus dilakukan melalui HTTPS, bukan HTTP (semua panggilan yang dilakukan melalui HTTP biasa akan gagal).

Setel URL Callback

Anda harus selalu menyiapkan URL callback pembayaran untuk menggunakan Pembayaran. Setelah eksekusi pembayaran, kami mengirimi Anda callback dengan status yang diperbarui. Jika pembayaran berhasil dilakukan, kami mengirimi Anda callback yang memberi tahu Anda bahwa pembayaran telah selesai. Jika pembayaran tidak berhasil dilakukan, kami mengirimi Anda callback yang memberi tahu Anda bahwa pembayaran telah gagal bersama dengan kode kegagalan yang sesuai, untuk memfasilitasi keputusan Anda apakah akan mengirimkan permintaan lain kepada kami untuk membuat pembayaran atau mengembalikan hasil kegagalan kepada pelanggan Anda.

Untuk mengatur ini, Anda dapat mengatur URL Callback di pengaturan dasbor Anda. Nominasikan URL Callback untuk Pembayaran produk V2.

Autentikasi

Untuk memastikan bahwa permintaan HTTP yang kami terima benar-benar dari Anda, otentikasi dasar menggunakan kunci API Anda harus diterapkan pada setiap permintaan yang dikirimkan kepada kami.

Kunci API individual Anda harus disediakan oleh AM Anda. Kunci ini juga akan digunakan oleh Xendit untuk mengidentifikasi pedagang mana yang menggunakan API. Pastikan untuk menyimpan kunci ini dengan aman.

Gateway API Xendit menggunakan otentikasi akses dasar. Gunakan format {{username}}:{{password}}; masukkan kunci API Anda sebagai nama pengguna dan biarkan kata sandi kosong. Kemudian encode string ke Base64. String yang dihasilkan harus disertakan dalam header HTTP Otorisasi untuk setiap panggilan API yang dilakukan.

Contoh string otentikasi (dalam teks biasa) - perhatikan titik dua: xnd_development_P4qDfOss0OCpl8RtKrROHjaQYNCk9dN5lSfk+R1l9Wbe+rSiCwZ3jw==:

Sample base64 encoded string: eG5kX2RldmVsb3BtZW50X1A0cURmT3NzME9DcGw4UnRLclJPSGphUVlOQ2s5ZE41bFNmaytSMWw5V2JlK3JTaUN3WjNqdz09Og==

Sample HTTP Authorization header: Authorization: Basic eG5kX2RldmVsb3BtZW50X1A0cURmT3NzME9DcGw4UnRLclJPSGphUVlOQ2s5ZE41bFNmaytSMWw5V2JlK3JTaUN3WjNqdz09Og==

Semua permintaan API harus dilakukan melalui HTTPS, bukan HTTP (semua panggilan yang dilakukan melalui HTTP biasa akan gagal). Perhatikan bahwa semua permintaan yang dibuat di lingkungan pengujian tidak akan diteruskan ke jaringan perbankan dan karenanya tidak akan dikenakan biaya apa pun.

Mohon izinkan kami untuk menekankan: Demi keamanan dana Anda, kunci API Anda harus dirahasiakan, jadi jangan bagikan kunci API rahasia Anda dalam keadaan apa pun.

Untuk membantu memandu Anda melalui pengujian, berikut ini adalah panduan lengkap tentang langkah-langkah yang direkomendasikan dan praktik terbaik.

Dana untuk Pengujian

Setelah menerima kredensial sandbox dan menyiapkan URL panggilan balik, Anda dapat segera memulai pengujian! Setiap akun sandbox telah dimuat sebelumnya dengan saldo percobaan sebesar Rp1.000.000.000 atau PHP 1.000.000 untuk digunakan dalam simulasi transaksi.

Jika Anda membutuhkan lebih banyak dana untuk pengujian, jangan ragu untuk menghubungi manajer akun Anda untuk meningkatkan saldo akun pengujian Anda.

Koleksi Postman

Untuk mempermudah mengenal API kami, kami telah memublikasikan Koleksi Postman sehingga Anda dapat mencoba semua API kami. Cukup impor link ini ke Postman: https://www.getpostman.com/collections/7a0843280dde5141d213

Tip & Praktik Terbaik

Langkah-langkah yang harus diambil sebelum live

Pelanggan didorong untuk mengambil semua langkah berikut sebelum melakukan siaran langsung untuk mencegah kerugian dan memastikan bahwa pembayaran tidak tertunda. 1. Siapkan URL Callback Anda untuk melihat dan merespons acara pembayaran 2. Sertakan kunci idempotensi di setiap pembayaran untuk percobaan ulang yang aman 3. Beri tahu penerima Anda tentang transfer masuk 4. Siapkan pemberitahuan pembayaran ke penerima Anda 5. Sesuaikan dan uji tanda terima email untuk memastikannya terlihat seperti yang Anda inginkan 6. Arahkan pengguna untuk mendapatkan dukungan

Menggunakan Callback untuk melacak pembayaran

Anda harus selalu menyiapkan URL panggilan balik pembayaran untuk menggunakan Pembayaran. Siapkan URL panggilan balik Anda di Dasbor > Setelan > Pengembang > Callback dan tentukan URL untuk v2/pembayaran. Setelah eksekusi pembayaran, kami mengirimi Anda panggilan balik dengan status yang diperbarui. Jika pembayaran berhasil dilakukan, kami mengirimkan panggilan balik yang memberi tahu Anda bahwa pembayaran berhasil. Jika pembayaran tidak berhasil dilakukan, kami mengirimkan panggilan balik yang memberi tahu Anda bahwa pembayaran telah gagal bersama dengan kode kegagalan yang sesuai, untuk memfasilitasi keputusan Anda apakah akan mengirimkan permintaan pembayaran lain kepada kami atau mengembalikan hasil kegagalan kepada pelanggan Anda.

Gunakan kunci idempotensi dalam setiap permintaan untuk percobaan ulang yang aman

Kami telah membangun idempotensi ke dalam API Pembayaran kami untuk memungkinkan Anda mencoba kembali permintaan yang sama dengan aman tanpa mempertaruhkan pembayaran duplikat.

Pastikan untuk menyertakan ID unik (“kunci idempotensi”) di setiap permintaan pembayaran. Jika terjadi kegagalan pembayaran yang ambigu (yaitu karena kesalahan dalam proses, Anda tidak tahu apakah pembayaran berhasil atau tidak), Anda dapat mencoba lagi panggilan API dengan kunci idempotensi yang sama hingga pembayaran berhasil diverifikasi atau gagal. Jika server kami menerima panggilan yang merupakan duplikat karena kunci idempotensi sudah ada di sistem kami, sistem kami akan mengabaikan permintaan duplikat, memastikan jumlah pembayaran hanya dipotong sekali.

Bagaimana penerima dapat mengidentifikasi pembayaran dari Anda

Kami mencairkan dana atas nama Anda dari rekening bank kami. Untuk membantu penerima Anda mengidentifikasi dana dari Anda,

  • Cantumkan nama bisnis Anda dalam deskripsi pencairan - jika bank penerima mendukung bidang ini, penerima akan melihatnya di laporan mutasi bank mereka.
  • Untuk Indonesia, minta penerima untuk mencari "PT SINAR DIGITAL TERDEPAN" atau "PT SYAFTRACO" di rekening koran mereka.
  • Untuk Filipina, minta penerima untuk melihat “Xendit Philippines” atau indikasi transfer antar bank

Harap perhatikan bahwa format dan isi deskripsi pencairan dalam pertanyaan rekening bank atau laporan e-wallet mereka dapat bervariasi tergantung pada UI bank atau e-wallet.

Siapkan pemberitahuan pembayaran ke penerima Anda

Setelah pembayaran selesai, kami mengirimkan callback API kepada Anda dengan semua detail transaksi, termasuk yang berikut:

  • jumlah
  • kode saluran tujuan
  • nama pemegang rekening tujuan
  • keterangan
  • status transaksi

Anda dapat menyesuaikan UI konfirmasi pembayaran Anda sendiri dengan informasi panggilan balik yang disediakan.

Sesuaikan dan atur tanda terima email Anda

Kami menyediakan tanda terima email otomatis yang dapat Anda kirim ke penerima Anda sebagai pemberitahuan transfer. Lihat kuitansi pencairan.

Kami menampilkan logo dan detail bisnis Anda di setiap tanda terima. Sebelum mengirim pembayaran pertama Anda, Anda dapat menyesuaikan tampilan tanda terima di Dasbor > Pengaturan > Pemberitahuan Pencairan.

Anda juga dapat menyesuaikan alamat email pengirim tanda terima sehingga penerima tahu bahwa pembayaran berasal dari Anda. Untuk menyesuaikan alamat email Pengirim dan pesan footer untuk tanda terima pembayaran, silakan buka Dasbor > Pengaturan > Pemberitahuan Pembayaran.

Pastikan untuk menguji tanda terima dengan memasukkan alamat email Anda dalam permintaan pembayaran. Anda kemudian dapat melihat seperti apa tanda terima email di kotak masuk Anda.

Memantau pembayaran

Anda dapat memantau status setiap pembayaran melalui Dasbor dan melalui callback. Kami mengembalikan Anda panggilan balik ketika pembayaran berhasil atau gagal. Atau, lacak status setiap pembayaran melalui Dasbor > Pencairan.

Arahkan penerima Anda untuk mendapatkan dukungan

Karena Anda mengontrol sebagian besar pengalaman pembayaran, sebaiknya penerima menghubungi Anda terlebih dahulu jika ada pertanyaan.

Jika Anda telah menyesuaikan alamat email pengirim tanda terima, penerima Anda akan dapat menanggapi email tersebut untuk menghubungi tim dukungan Anda jika ada pertanyaan. Untuk menyesuaikan alamat email Pengirim dan pesan footer untuk tanda terima pembayaran, silakan buka Dasbor > Pengaturan > Pemberitahuan Pembayaran.

Namun, pelanggan Anda mungkin memiliki pertanyaan yang hanya dapat kami jawab. Untuk memberikan dukungan seefisien mungkin, kami menyarankan Anda menghubungi kami untuk topik berikut:

  • Pembayaran yang hilang atau penundaan pembayaran yang berkepanjangan (misalnya, ketika pembayaran telah selesai tetapi penerima belum menerima pembayaran setelah 1 hari kerja)
  • Pembayaran yang diterima dari “PT Sinar Digital Terdepan”, “PT Syaftraco” atau “Xendit Philippines Inc” yang tidak diharapkan oleh penerima Jika ada pertanyaan yang tidak dapat Anda jawab, hubungi kami untuk mendapatkan bantuan.

Last Updated on 2023-06-30