xendit docs

Pengiriman Dana ( Disbursements )

Deskripsi

Pengiriman dana digunakan untuk mengirim uang ke rekening berbagai bank besar di Indonesia. Perusahaan Anda mungkin termasuk platform fintech yang menyalurkan pinjaman kepada peminjam, perusahaan besar yang mengirimkan gaji untuk ratusan karyawan di berbagai rekening bank, platform yang memberikan potongan harga kepada pengguna akhir atau bisnis eCommerce yang membayar pedagang Anda - pengiriman dana adalah cara terbaik untuk mengirimkan uang Anda kepada pengguna Anda.

Semua pembayaran kami dilakukan secara instan, tanpa memperhitungkan jumlah atau rekening bank. Transfer instan dapat dilakukan dari jam 8 pagi hingga jam 10 malam selama 1 minggu penuh. Akan tetapi, kami tidak dapat mengirimkan dana ketika server sedang tidak menyala atau mengalami gangguan. Untuk transaksi T + 1, transaksi akan dilakukan dari jam 8 pagi hingga 3 sore di hari Senin sampai Jumat. Jika Anda mengirim uang di luar waktu yang disebutkan sebelumnya, kami akan mengeksekusinya segera setelah server bank menyala kembali.

Fitur pengiriman dana kami bergantung pada sistem top up - Anda perlu menjaga saldo dana dalam sistem kami. Kami menyimpan dana ini dengan aman atas nama Anda sampai Anda memberi kami instruksi untuk mengirimnya ke tempat lain atau biaya akan dibebankan pada anda. Ketika Anda memulai pengiriman dana baru, Xendit akan langsung mengirimkan dana yang kami simpan sebelumnya (selama saldo Anda positif, kami akan tetap bisa untuk mengirimkan dana tersebut). Sistem kemudian akan memberitahukan apakah proses pengiriman telah diselesaikan melalui callback . Anda juga dapat menanyakan status transaksi kapan saja melalui API.

Coba Sekarang

Cobalah Xendit API di bawah ini. Buat pengiriman dana pertama Anda dan lihat bagaimana Anda dapat dengan mudah membayar karyawan Anda

DISBURSEMENT

Membuat Pengiriman Dana ( Create Disbursement )

Kami akan membuat pengiriman dana yang kemudian akan kami bayar sehingga Anda dapat melihat bagaimana alur kerja pengiriman dana kami.

Mari mulai dengan menjalankan curl request di terminal Anda. Jangan ragu untuk merubah salah satu parameter.

We will create an disbursement which we will then pay out so you can see how our disbursement flow works.

Let’s start by running the curl request in your terminal. Feel free to edit any of the parameters.

 curl https://api.xendit.co/disbursements -X POST \
	 -u xnd_development_O46JfOtygef9kMNsK+ZPGT+ZZ9b3ooF4w3Dn+R1k+2fT/7GlCAN3jg==: \
	 -d external_id=demo_1531960340689 \
	 -d bank_code=BCA \
	 -d account_holder_name='Bob Jones' \
	 -d account_number=1231241234 \
	 -d description='Reimbursement for shoes' \
     -d amount=26000 

Proses Pengiriman Dana

Implementasi Pengiriman Dana

Ikuti langkah-langkah di bawah ini untuk mengimplementasi API pengiriman dana kami

Anda harus melakukan POST request untuk tahap ini. Ini akan membuat request pengiriman dana yang akan dieksekusi segera setelah tersambung dengan server kami.

  • Curl
  • PHP
curl https://api.xendit.co/disbursements -X POST \
	 -u xnd_development_O46JfOtygef9kMNsK+ZPGT+ZZ9b3ooF4w3Dn+R1k+2fT/7GlCAN3jg==: \
	 -d external_id=demo_1475459775872 \
	 -d bank_code=BCA \
	 -d account_holder_name='Bob Jones' \
	 -d account_number='1231241231' \
	 -d description='Reimbursement for shoes' \
     -d amount=17000

Kami telah mengisi contoh di atas dengan sampel API key . Jika Anda sudah login , Anda akan melihat test key yang anda punya. Hanya Anda yang dapat melihat kunci ini.

Setelah request Anda tersambung dengan server kami, API kami akan memberikan respons. Penjelasan mengenari parameter dalam respons yang berhasil dapat dilihat di bawah. Jika Anda mendapatkan eror, silakan lihat dokumen untuk bagian eror .

Respons: 200

{
    "id":"57f1ca56bb1a631a65eee65e",
    "updated":"2016-10-03T03:02:46.239Z",
    "created":"2016-10-03T03:02:46.239Z",
    "user_id":"57b4e5181473eeb61c11f9b9",
    "external_id":"demo_1475459775872",
    "amount":17000,
    "bank_code":"BCA",
    "account_holder_name":"Bob Jones",
    "disbursement_description":"Reimbursement for shoes",
    "status":"PENDING"
}
PARAMETER DESKRIPSI
user_id

ID Xendit Anda, untuk keperluan internal

external_id

ID pilihan Anda (biasanya pengenal yang unik untuk invoice di dalam sistem Anda)

amount

Jumlah yang harus kami kirim ke penerima

bank_code

Kode untuk bank yang relevan. Anda dapat melihat semua kode bank di sini

account_holder_name

Nama akun sesuai dengan data dari bank. Digunakan untuk skenario verifikasi dan eror / customer support

account_number

Nomor rekening bank yang harus sesuai dan tepat. Kami akan mengirim ke akun ini dan kami tidak bertanggung jawab jika Anda yang mengirimkan nomor rekening yang salah kepada kami. Skenario eror dapat dilihat di sini

disbursement_description

Deskripsi dari Anda. Deskripsi secara bawaan dapat diatur di dasbor

status

PENDING - berarti kami telah melakukan transfer tetapi bank belum mengembalikan respons yang sukses

COMPLETED - bank telah mengatakan kepada kami bahwa mereka telah mengirim dana (Catatan: terkadang beberapa bank masih memiliki proses yang agak lambat saat eksekusi)

FAILED - berarti pengiriman kami gagal. Penjelasan mengenai skenario eror dapat dilihat di sini

Setelah pembayaran selesai, kami mengirimkan callback untuk memberi tahu Anda tentang keberhasilan pembayaran. Anda harus memberikan kami Callback URL . Di bawah ini kami menyertakan contoh implementasi dari callback client .

  • PHP
<?php
    if ($_SERVER["REQUEST_METHOD"] === "POST") {
        $data = file_get_contents("php://input");

        print_r("\n\$data contains the updated disbursement data \n\n");
        print_r($data);
        print_r("\n\nUpdate your database with the disbursement status \n\n");
    } else {
        print_r("Cannot ".$_SERVER["REQUEST_METHOD"]." ".$_SERVER["SCRIPT_NAME"]);
    }
?>

Selamat! Itu saja - Anda sekarang siap untuk mengirimkan dana dengan Xendit.

Langkah Selanjutnya

  • Siap melakukan beberapa pengujian? Anda dapat mengujinya di halaman pengujian kami untuk mengetahui alur implementasi yang benar
  • Pelajari lebih lanjut mengenai skenario eror dan apa yang kita lakukan

Pertanyaan?

Masih memiliki pertanyaan? Dengan senang hati kami akan membantu Anda. Kirimkan email atau pesan melalui live chat .

Description

Disbursements are used to send money to any major bank account in Indonesia. You may be a fintech platform disbursing loans to borrowers, a major company disbursing payroll for hundreds of employees across various bank accounts, a platform giving rebates to end users or an eCommerce business paying out your merchants - disbursements are the best way to get your money to your users.

All of our disbursements are done instantly, regardless of bank account or amount. Instant transfers can be executed from 8am to 10pm, 7 days a week. Unfortunately, we’re restricted by when the bank servers are awake and so can’t disburse funds when they’re asleep or when they fail (more often than you think). For T+1 transactions, they can be triggered from 8am to 3pm, Monday to Friday. If you send money outside these times, we will execute as soon as the banks open again.

Our disbursement product relies on a top up system - you will need to maintain a balance of funds within our system. We hold these funds securely on your behalf until you give us instructions to send them somewhere else or fees are charged. When you trigger a new disbursement, Xendit will directly disburse from the funds we hold (as long as your balance is positive, we will disburse the funds). The system will then notify whether the disbursement process has been completed via callback. You may also query the status of a transaction anytime via the API.

Try it now

Try out the Xendit API in seconds below. Create your first disbursement and see how you can easily you can pay your staff

DISBURSEMENT

Membuat Pengiriman Dana ( Create Disbursement )

Kami akan membuat pengiriman dana yang kemudian akan kami bayar sehingga Anda dapat melihat bagaimana alur kerja pengiriman dana kami.

Mari mulai dengan menjalankan curl request di terminal Anda. Jangan ragu untuk merubah salah satu parameter.

We will create an disbursement which we will then pay out so you can see how our disbursement flow works.

Let’s start by running the curl request in your terminal. Feel free to edit any of the parameters.

 curl https://api.xendit.co/disbursements -X POST \
	 -u xnd_development_O46JfOtygef9kMNsK+ZPGT+ZZ9b3ooF4w3Dn+R1k+2fT/7GlCAN3jg==: \
	 -d external_id=demo_1531960340700 \
	 -d bank_code=BCA \
	 -d account_holder_name='Bob Jones' \
	 -d account_number=1231241234 \
	 -d description='Reimbursement for shoes' \
	 -d amount=76000 

Disbursement process

Implementing disbursements

Follow the steps below to implement our disbursements API

You'll need to POST this request. It will create a disbursement which will execute as soon as it hits our servers.

  • Curl
  • PHP
curl https://api.xendit.co/disbursements -X POST \
	 -u xnd_development_O46JfOtygef9kMNsK+ZPGT+ZZ9b3ooF4w3Dn+R1k+2fT/7GlCAN3jg==: \
	 -d external_id=demo_1475459775872 \
	 -d bank_code=BCA \
	 -d account_holder_name='Bob Jones' \
	 -d account_number='1231241231' \
	 -d description='Reimbursement for shoes' \
     -d amount=17000
k

We have prefilled the above example with a sample API key. If you're logged in, you'll see your specific test key. Only you can see this key.

Once your call hits our servers, our API will then return a response. We explain the parameteres in a successful response below. If you get errors, please refer to our errors section.

Response: 200

{
    "id":"57f1ca56bb1a631a65eee65e",
    "updated":"2016-10-03T03:02:46.239Z",
    "created":"2016-10-03T03:02:46.239Z",
    "user_id":"57b4e5181473eeb61c11f9b9",
    "external_id":"demo_1475459775872",
    "amount":17000,
    "bank_code":"BCA",
    "account_holder_name":"Bob Jones",
    "disbursement_description":"Reimbursement for shoes",
    "status":"PENDING"
}
PARAMETER DESCRIPTION
user_id

Your Xendit ID as we see you - for internal purposes :P

external_id

An ID of your choice we append to all transactions. Often your unique ID like a phone number, email or transaction ID

amount

Amount we should send to the recipient

bank_code

Code for the relevant bank. Find more bank codes

account_holder_name

Bank account name as per the bank's records. Used for verification and error/customer support scenarios

account_number

Bank account number. This has to be exact. We will send to this account and we don't take liability for you sending us an incorrect account number. Find out more about error scenarios

disbursement_description

This is the description you give us :) The default can be set in dashboard

status

PENDING - means we have initiated the transfer but the bank has not returned a successful response yet

COMPLETED - the bank has told us they have sent the funds (Note: sometimes the banks are still a bit slow at execution)

FAILED - means our payment has failed. Find out more errors scenario

Once a disbursement is fulfilled, we initiate a callback to notify you of payment success. You'll need to provide us a callback URL. Below we've included an example of what a callback client may look like from your side.

  • PHP
<?php
    if ($_SERVER["REQUEST_METHOD"] === "POST") {
        $data = file_get_contents("php://input");

        print_r("\n\$data contains the updated disbursement data \n\n");
        print_r($data);
        print_r("\n\nUpdate your database with the disbursement status \n\n");
    } else {
        print_r("Cannot ".$_SERVER["REQUEST_METHOD"]." ".$_SERVER["SCRIPT_NAME"]);
    }
?>

Congrats! That's it - you're now set to disburse funds with xendit.

Next steps

  • Ready to do some testing? Our testing pages walks through some testing so you can test your impementation
  • Learn more about error scenarios and what we do

Questions?

Still have more questions? We're always happy to help however we can. Shoot us an email or chat to us in live chat.