API PEMBAYARAN KELUAR
Sekitar 5 menit
Permintaan
API Pembayaran Keluar memungkinkan pedagang untuk memulai transaksi pencairan dana kepada penerima.
Metode pencairan yang didukung meliputi:
Transfer bank
Dompet digital
Rekening virtual
Saluran pembayaran elektronik lainnya
Jalur Permintaan:
sandbox:
https://sandbox-gateway.smilepayz.com/v2.0/disbursement/pay-out
production:https://gateway.smilepayz.com/v2.0/disbursement/pay-out
Parameter Header
Field | Required | Type | Description |
---|---|---|---|
Content-Type | M | String | Spesifikasi tipe konten HTTP Nilai tetap: application/json Diperlukan untuk parsing permintaan yang tepat |
X-TIMESTAMP | M | String | Format datetime ISO 8601 dengan offset timezone Format: yyyy-MM-ddTHH:mm:ss±HH:mm Contoh: 2020-12-17T10:55:00+07:00 Catatan: Harus waktu server saat ini dalam ±5 menit |
X-SIGNATURE | M | String | Tanda tangan digital untuk autentikasi permintaan. Lihat Pembuatan Tanda Tangan |
X-PARTNER-ID | M | String | Pengidentifikasi pedagang unik yang ditugaskan oleh platform Format: String alfanumerik Digunakan untuk autentikasi pedagang dan routing transaksi Silakan masukkan merchantID |
Parameter Body
Field | Required | Type | Description |
---|---|---|---|
orderNo | M | String(32) | Pengidentifikasi transaksi unik untuk pelacakan pedagang Format: Hanya karakter alfanumerik Panjang: 6-32 karakter Harus unik dalam lingkup pedagang |
purpose | M | String(64) | Deskripsi transaksi yang dapat dibaca manusia Format: String yang dikodekan UTF-8 Panjang: 1-64 karakter Digunakan untuk riwayat transaksi dan pelaporan |
merchant | M | Object | Kontainer identifikasi pedagang dan informasi bisnis Berisi detail pedagang utama dan sub-pedagang Diperlukan untuk routing transaksi dan penyelesaian |
merchantId | M | String | Pengidentifikasi pedagang utama yang ditugaskan oleh platform Format: String alfanumerik Digunakan untuk routing transaksi dan pemrosesan penyelesaian |
merchantName | O | String | Nama bisnis terdaftar dari pedagang Format: String yang dikodekan UTF-8 Ditampilkan dalam catatan transaksi |
subMerchantId | O | String | Pengidentifikasi sub-pedagang untuk struktur pedagang multi-level Format: String alfanumerik Diperlukan untuk pemrosesan transaksi sub-pedagang |
subMerchantName | O | String | Nama bisnis sub-pedagang untuk tujuan tampilan Format: String yang dikodekan UTF-8 Ditampilkan dalam catatan transaksi |
money | M | Object | Kontainer spesifikasi jumlah dan mata uang transaksi Mendefinisikan nilai pencairan dan unit moneter Diperlukan untuk pemrosesan pembayaran dan penyelesaian |
currency | M | String | Spesifikasi kode mata uang ISO 4217 Nilai tetap: IDR (Rupiah Indonesia) Menentukan aturan pemrosesan pembayaran dan mata uang penyelesaian |
amount | M | Number | Jumlah transaksi dalam unit mata uang terkecil (sen) Format: Nilai integer Contoh: 20000 mewakili IDR 20000 Rentang: 10000-999999999 |
paymentMethod | M | String(6) | Spesifikasi metode pencairan Format: Kode metode pembayaran yang telah ditentukan Contoh: BRI, BCA, DANA, OVO Menentukan saluran pencairan yang digunakan |
cashAccount | M | String(32) | Pengidentifikasi akun penerima untuk pencairan dana Format: Nomor rekening bank atau akun e-wallet Contoh: Rekening bank (78120011629261665), dompet DANA (8xxxxxxx) Harus akun yang valid dan aktif untuk transfer yang berhasil |
callbackUrl | O | String(256) | URL endpoint notifikasi webhook Format: URL HTTP/HTTPS yang valid Panjang maksimum: 256 karakter Menerima pembaruan status transaksi waktu nyata |
Persyaratan Format Penting
Format Akun Dompet DANA: Untuk pencairan dompet DANA, pastikan cashAccount mengikuti format 8xxxxxxx
Contoh Body – Permintaan Pencairan:
POST {Base URL}/v2.0/disbursement/pay-out HTTP/1.2
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+07:00
X-SIGNATURE: 7MHd9v5/m9JeqmDZVwWBZUZ5J5...7120QnFEny7Qm7uQR1G0TWCh10fsU6nVxiRoeoQ==
X-PARTNER-ID: 20001
{
"additionalParam": {},
"cashAccount": "78120011629261665",
"merchant": {
"merchantId": "20001"
},
"money": {
"amount": 10000,
"currency": "IDR"
},
"orderNo": "2000102900000000000001",
"paymentMethod": "BRI",
"purpose": "Tujuan Untuk Pencairan dari Java SDK"
}
Respons
Permintaan HTTP
Field | Required | Type | Description |
---|---|---|---|
Content-Type | M | String | Spesifikasi tipe konten respons HTTP Nilai tetap: application/json Menunjukkan format respons JSON |
X-TIMESTAMP | M | String | Format datetime ISO 8601 dengan offset timezone Format: yyyy-MM-ddTHH:mm:ss±HH:mm Contoh: 2020-12-17T10:55:00+07:00 |
Parameter Body
Field | Required | Type | Description |
---|---|---|---|
code | M | String | Kode status respons API yang menunjukkan hasil operasi Format: String dua digit Sukses: "00", Error: Kode lainnya Digunakan untuk penanganan respons programatik |
message | M | String | Deskripsi status respons yang dapat dibaca manusia Format: String yang dikodekan UTF-8 Memberikan informasi terperinci tentang hasil operasi Dilokalisasi berdasarkan bahasa permintaan |
orderNo | M | String | Pengidentifikasi transaksi pedagang asli untuk referensi Format: Sama dengan orderNo permintaan Digunakan untuk pelacakan dan rekonsiliasi transaksi |
tradeNo | O | String | Nomor referensi transaksi internal untuk pelacakan sistem Format: String alfanumerik yang dibuat sistem Digunakan untuk manajemen transaksi internal dan dukungan |
merchant | M | Object | Kontainer informasi pedagang dengan detail akun Berisi identifikasi pedagang dan informasi akun Lihat Model Pedagang |
merchantId | M | String | Pengidentifikasi pedagang utama yang ditugaskan oleh platform Format: String alfanumerik Digunakan untuk routing transaksi dan pemrosesan penyelesaian |
merchantName | O | String | Nama bisnis terdaftar dari pedagang Format: String yang dikodekan UTF-8 Ditampilkan dalam antarmuka pembayaran dan catatan transaksi |
subMerchantId | O | String | Pengidentifikasi sub-pedagang untuk struktur multi-level Format: String alfanumerik Diperlukan untuk pemrosesan transaksi sub-pedagang |
subMerchantName | O | String | Nama bisnis sub-pedagang untuk tujuan tampilan Format: String yang dikodekan UTF-8 Ditampilkan dalam antarmuka pembayaran dan catatan transaksi |
money | M | Object | Detail jumlah transaksi dengan spesifikasi mata uang Berisi jumlah pencairan yang dikonfirmasi dan mata uang Lihat Model Uang |
currency | M | String | Spesifikasi kode mata uang ISO 4217 Nilai tetap: IDR (Rupiah Indonesia) Menentukan aturan pemrosesan pembayaran dan mata uang penyelesaian |
amount | M | Number | Jumlah transaksi dalam unit mata uang terkecil Format: Nilai integer Contoh: 20000 mewakili IDR 20000 Rentang: 10000-999999999 |
disbursementTime | M | String | Format datetime ISO 8601 (yyyy-MM-ddTHH:mm:ss±HH:mm) Contoh: 2020-12-17T10:55:00+07:00 Timestamp ketika pencairan diproses oleh sistem |
channel | M | Object | Detail saluran pemrosesan pencairan Berisi metode pembayaran, informasi akun, dan detail penerima Digunakan untuk pelacakan transaksi dan verifikasi penerima |
paymentMethod | O | String | Spesifikasi metode pembayaran yang disukai Format: Kode metode pembayaran yang telah ditentukan Contoh: QRIS, W_DANA, CIMB, BCA Jika dihilangkan, halaman pemilihan metode pembayaran ditampilkan |
cashAccount | O | String | Nomor akun penerima untuk pemrosesan pencairan Format: String alfanumerik Digunakan untuk transfer dana ke akun penerima Contoh: 78120011629261665 |
accountName | O | String | Nama pemegang akun penerima untuk verifikasi Format: String yang dikodekan UTF-8 Digunakan untuk identifikasi dan verifikasi penerima Contoh: Betty |
status | O | String | Status pemrosesan transaksi saat ini Format: Kode status yang telah ditentukan Contoh: PROCESSING, SUCCESS, FAILED Lihat Model Status |
Contoh Body – Respons Transaksi:
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+07:00
{
"code": "00",
"message": "successful",
"orderNo": "2000102900000000000001",
"tradeNo": "1022000109e998347483949",
"status": "PROCESSING",
"disbursementTime": "2020-12-17T10:55:00+07:00",
"merchant": {
"merchantId": "20001",
"merchantName": "test",
"accountNo": "2000124234782342"
},
"money": {
"currency": "IDR",
"amount": 10000
},
"channel": {
"paymentMethod": "BRI",
"cashAccount": "78120011629261665",
"accountName": "Betty"
}
}
Notifikasi/Callback
Permintaan HTTP
Field | Required | Type | Description |
---|---|---|---|
Content-Type | M | String | Spesifikasi tipe konten notifikasi HTTP Nilai tetap: application/json Menunjukkan format payload JSON |
X-TIMESTAMP | M | String | Format datetime ISO 8601 dengan offset timezone Format: yyyy-MM-ddTHH:mm:ss±HH:mm Contoh: 2020-12-17T10:55:00+07:00 |
X-SIGNATURE | M | String | Tanda tangan digital untuk verifikasi notifikasi Format: Tanda tangan yang dikodekan Base64 Digunakan untuk memverifikasi keaslian notifikasi Lihat cara memeriksa nilai ini |
Parameter Body
Field | Required | Type | Description |
---|---|---|---|
orderNo | M | String | Pengidentifikasi transaksi pedagang asli untuk referensi Format: Sama dengan orderNo permintaan Digunakan untuk rekonsiliasi dan pelacakan transaksi |
tradeNo | M | String | Nomor referensi transaksi internal untuk pelacakan sistem Format: String alfanumerik yang dibuat sistem Digunakan untuk manajemen transaksi internal dan dukungan |
merchantId | M | String | Pengidentifikasi pedagang utama untuk routing transaksi Format: String alfanumerik Digunakan untuk identifikasi pedagang dan pemrosesan penyelesaian |
merchantName | M | String | Nama bisnis pedagang terdaftar untuk tampilan Format: String yang dikodekan UTF-8 Ditampilkan dalam catatan transaksi dan laporan |
subMerchantId | O | String | Pengidentifikasi sub-pedagang untuk struktur multi-level Format: String alfanumerik Disertakan ketika sub-pedagang terlibat dalam transaksi |
subMerchantName | O | String | Nama bisnis sub-pedagang untuk tujuan tampilan Format: String yang dikodekan UTF-8 Disertakan ketika sub-pedagang terlibat dalam transaksi |
paymentMethod | M | String | Metode pencairan yang digunakan untuk pemrosesan transaksi Format: Kode metode pembayaran yang telah ditentukan Contoh: BRI, BCA, DANA, OVO Menunjukkan saluran pencairan aktual yang digunakan |
transactionTime | M | String | Format datetime ISO 8601 dengan offset timezone Format datetime (yyyy-MM-ddTHH:mm:ss±HH:mm) Timestamp ketika pencairan selesai oleh penyedia pembayaran |
money | M | Object | Detail jumlah transaksi akhir dengan mata uang Berisi jumlah pencairan yang dikonfirmasi dan mata uang Mungkin berbeda dari jumlah permintaan karena biaya atau penyesuaian Lihat Model Uang |
currency | M | String | Spesifikasi kode mata uang ISO 4217 Nilai tetap: IDR (Rupiah Indonesia) Menentukan aturan pemrosesan pembayaran dan mata uang penyelesaian |
amount | M | Number | Jumlah transaksi dalam unit mata uang terkecil Format: Nilai integer Contoh: 20000 mewakili IDR 20000 Rentang: 10000-999999999 |
status | M | String | Status pemrosesan transaksi akhir Format: Kode status yang telah ditentukan Contoh: SUCCESS, FAILED Menunjukkan hasil akhir dari pencairan Lihat Model Status |
Kembalian
Penting
Notifikasi silakan kembalikan hanya string SUCCESS
{
"merchantId": "20001",
"merchantName": "test",
"money": {
"amount": 10000.0000,
"currency": "IDR"
},
"orderNo": "2000102900000000000001",
"status": "SUCCESS",
"tradeNo": "1022000109e998347483949",
"transactionTime": "2020-12-17T10:55:00+07:00"
}
SUCCESS