---
title: Integrasi & Testing Payout
slug: integrasi-and-testing-payout
description: Informasi tentang cara integrasi dan testing layanan Payout dengan sistem NICEPAY
image: https://archbee-image-uploads.s3.amazonaws.com/ZHvSjR5ZrsoxwKbJa3xmo/bogLvuE_BQ8B-RuBcmrg8_rdrx9d8diazpgm07xfz2test-1.png
icon: {"faIcon":"fa-solid fa-book"}
docTags: 
createdAt: 2022-11-16T04:37:13.000Z
---

# Langkah Integrasi Beserta API yang Digunakan

***

1. Lakukan integrasi API Request Payout ([Registration - API Payout (Disbursement) SNAP](docId\:SgtN0VBKPUWVOV62EVREB)).
2. Lakukan integrasi API Approve Payout ([Approve Transaction - API Payout (Disbursement) SNAP](docId\:Q5UEc9-eqJxtmhVJtMbV7)) dan mempersiapkan *disburse&#x20;*&#x6B;e akun tujuan.
3. Menerima *callback&#x20;*&#x64;an *push notification&#x20;*&#x64;ari NICEPAY.
4. Lakukan integrasi API Inquiry Payout ([Inquiry - API Payout (Disbursement) SNAP](docId\:GkYB9CEm1x0EzRv_wCLre)) agar Merchant dapat memeriksa status pesanan menggunakan Inquiry API.
5. Tambahan: lakukan integrasi API Cancel Payout ([Cancel Transaction - API Payout (Disbursement) SNAP](docId:25Q_ooJlYAS8krNpg6bb3)) untuk membatalkan transaksi.

:::hint{type="info"}
Pastikan saldo Payout Anda cukup sebelum membuat transaksi Payout. Silakan kunjungi halaman [Deposit Saldo](docId\:VdIDXX3uGz0y1dGVucMGp) untuk informasi lebih lengkap mengenai deposit dana Payout.
:::



# Kredensial Untuk Tes Payout

***

| **Lingkungan** | **Deskripsi**                                                             |
| -------------- | ------------------------------------------------------------------------- |
| Development    | Akun Bank<br />* accountNo: 6030901753
* benefNm: John Doe
* bankCd: BDIN |



# Cara Uji Coba Payout

***

| **Langkah Tes**                                                                                                                                                                                                                       | **Pilihan Metode Payout**                                                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1. Menggunakan IMID asli atau Sandbox dengan IMID `IONPAYTEST`.
2. Masukkan akun Bank Anda ke dalam sisi Merchant dengan parameter `accountNo`.
3. Masukkan nama anggota Anda atau nama pemilik akun Bank dengan parameter `benefNm`. | Set nilai parameter `payoutMethod`:<br />* *Over Booking* -> `payoutMethod = 0`
* *Online Trans* -> `payoutMethod = 1`
* SKN -> `payoutMethod = 2`
* RTGS -> `payoutMethod = 3`
* Cashout ->  `payoutMethod = 4` |

****

# Alasan Peluang Transaksi Gagal

***

1. Terjadi *timeout* dari sisi Bank.
2. Akun Bank tidak valid.
3. Saldo tidak cukup.



# Integration Checklist dan Test Case

***

- [ ] Implementasi inquiry status setelah mendapatkan *callback*.
- [ ] Implementasi inquiry status setelah mendapatkan notifikasi apabila di-*setting&#x20;*&#x55;R&#x4C;*&#x20;notification* Merchant
- [ ] Meninjau *log* pembayaran.
- [ ] Meninjau pengaturan *firewall* (eg. Cloudflare untuk pengaturan URL notif ).
- [ ] Memeriksa implementasi `merchantToken`.
- [ ] Menjalankan tes skenario pada *Development Environment*.
- [ ] Menjalankan tes skenario pada *Production Environment*.
  [Get Sample Scenario](https://docs.google.com/spreadsheets/d/e/2PACX-1vQIaIMCM0vZ3L1cA-JkW3YxyIpjsB966fg1wTeT8qpFDowEvulIEWOoY6I4uJPL3A/pub?output=xlsx)****
- [ ] Meninjau *Error Handling* (*Timeout, Failed, Negative Case*).



# Best Practice

***

- Untuk uji coba pada sisi Merchant dapat menggunakan IMID `IONPAYTEST` dan opsi transfer atur parameter `payoutMethod`.
- `reserved_dt` `reserved_tm` untuk *scheduling*.
- *Request* dengan atau tidak dengan `reserved_dt` `reserved_tm` dapat Approve & Reject.
- Setelah *approve,* tidak bisa *cancel* kalau tidak ada `reserved_dt` `reserved_tm` atau bisa *cancel&#x20;*&#x6B;alau ada `reserved_dt` `reserved_tm` (selama belum lewat `reserved_dt` `reserved_tm`).
- Ketika notifikasi diterima pada notif URL Merchant, NICEPAY sangat merekomendasikan Merchant untuk melakukan verifikasi notifikasi menggunakan Inquiry API.
- `Notification Handling` berguna untuk meminimalisir aksi *Fraud*, NICEPAY sangat merekomendasikan Merchant untuk melakukan verifikasi `Notification Handling`.



# See also

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
Kunjungi halaman [Alur Pengiriman Dana Payout](docId\:L6lK9U1KCOmS-8PJZ6i4a) untuk mengetahui proses pada sistem Payout.
:::

:::VerticalSplitItem
Kunjungi halaman [Metode Payout](docId\:WBZdLVm1w_QrVjXtPZ_0J) untuk mengetahui metode pengiriman dana yang terdapat pada Payout.
:::
::::

