Extremely fast access, get complete online collection function as fast as you want
Customize the payment style as you like giving you maximum free personalization
The price is reasonable, can do batch processing, convenient to use and arrive …
Provide professional data analysis reports to support business operation decisions and …
Use the same security protection system and fraud prevention monitoring system as Visa …
PL ChannelPL Channel
Log Perubahan
Doc Vers. | Change Date | Change Description |
---|---|---|
4.0.0 | 2022-03-22 | 1.API adjustment |
4.0.1 | 2022-04-22 | 1.paymentParams, paymentActions disertakan dalam proses signing |
4.0.2 | 2022-05-19 | 1.Tambah field "qrisUrl" pada QRIS |
4.0.3 | 2022-05-26 | 1.Tambah field non-mandatory "payer" pada H5 2.Ganti nama "merchantTradeNoUsed" menjadi "duplicateMerchantTradeNo" pada ErrorCode |
4.0.4 | 2022-06-10 | 1.Perbaikan URL H5 |
4.0.5 | 2023-02-20 | 1.Tambahkan Metode Pembayaran Baru |
Target Pembaca
Target pembaca utama dokumen ini adalah developer serta sebagian isinya dapat dijadikan referensi oleh manajemen dan pelaku bisnis.
Currency Unit
Satuan mata uang dalam Rupiah Indonesia, dengan 2 desimal. Contoh seperti 10,25
Aturan Data Signature
Penyambungan data: Dengan asumsi bahwa semua data yang dikirim atau diterima diatur M, urutkan parameter nilai parameter dari data M sesuai dengan nama parameter kode ASCII dari kecil ke besar (urutan leksikografis), dan gunakan format pasangan URL key-value (ie key1=value1&key2 =value2...) digabungkan menjadi string stringA. Mohon diperhatikan aturan penting berikut:
Nama parameter kode ASCII dalam urutan menaik (urutan leksikografis);
Jika nilai parameternya kosong, maka tidak perlu diikutsertakan pada pembuatan Signature;
Saat panggilan verifikasi kembali atau secara aktif memberi tahu signature, yang ditransmisikan sign, paymentParams parameter tidak diikutsertakan pada pembuatan Signature, dan paymentActions yang dikembalikan tidak diikutsertakan pada pembuatan Signature, lalu signature yang dihasilkan diverifikasi terhadap nilai signature.
Data signature disambung dengan key di akhir stringContent untuk mendapatkan string stringSignTemp, dan stringSignTemp dienkripsi dengan menggunakan SHA256 untuk mendapatkan nilai tanda signValue.
Data signature disambung dengan key di akhir stringContent untuk mendapatkan string stringSignTemp, dan stringSignTemp dienkripsi dengan menggunakan SHA256 untuk mendapatkan nilai tanda signValue.
3.Contoh implementasi
Misalkan data parameter request sebagai berikut:
{
"amount":"10000.00",
"merchantId":"210001",
"phoneNumber":"852698560233",
"merchantTradeNo":"1562129320015",
"paymentType":"CreditCard",
"notifyUrl":"https://www.merchant-domain.com/notify",
"email":"cs@paylabs.id"
}
Langkah-1: Atur parameter menurut format key=value lalu urutkan dengan cara ASCII, sehingga hasilnya sebagai berikut:
//Untuk "paymentParams" di request, atau parameter "paymentActions" di response, format isinya harus JSON dan key dalam JSON harus diurutkan A-Z.
stringA="amount=10000.00&email=cs@paylabs.id&merchantId=210001&merchantTradeNo=1562129320015¬ifyUrl=https://www.merchant-domain.com/notify&paymentType=CreditCard&phoneNumber=852698560233"
Langkah-2: Gabungkan dengan API Keys, lalu enkripsi dengan menggunakan Sha256Hex sebagai berikut:
stringSignTemp="stringA&key=ddf14ae3423f4ee2b64b96ef3959ba0d"
sign=sha256Hex(stringSignTemp)
Masukan hasil enkripsi sign di atas pada paramater request sign seperti di bawah ini:
{
"amount":"10000.00",
"phoneNumber":"852698560233",
"merchantTradeNo":"1562129320015",
"merchantId":"210001",
"paymentType":"CreditCard",
"notifyUrl":"https://www.merchant-domain.com/notify",
"email":"cs@paylabs.id",
"sign":"cf6317c55f9d1d860492e3443667fdb776bf606d058fddd7395d2b3b560f7c72"
}
Protokol & Standar API
Jenis | Penjelasan |
---|---|
Submission Method | Pakai metode POST, Content-Type "application/json;charset=utf-8" |
Data Format | Data Request dan response dalam format JSON |
Character Encoding | Menggunakan UTF-8 character encoding |
Amount Format | Rupiah Indonesia dengan dua desimal |
Hash Method | SHA256 |
Signing Request | Wajib untuk memverifikasi signature pada saat mengirim request and menerima response. Silahkan cek Aturan Data Signature |
Verification Steps | Pertama tentukan protokol respons, kemudian business respons dan terakhir status transaksi |
ROOT_URL
Production: Setelah aktivasi akun, silahkan periksa inbox email saat registrasi atau hubungi CS untuk mendapatkan link production.
Testing: Setelah aktivasi akun testing, silahkan periksa inbox email saat registrasi atau hubungi CS untuk mendapatkan link testing.
Request Address
${ROOT_URL}/ewallet/create
Uang Elektronik Order Request Parameters
Field Name | Variabel | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Merchant ID | merchantId | String(20) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Payment Type | paymentType | String(20) | Yes | Tipe Pembayaran, lihat Tipe Pembayaran pada tabel di bawah |
Order Amount | amount | Decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000 |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Notification URL | notifyUrl | String(200) | No | URL yang diakses oleh payment gateway jika pembayaran berhasil untuk mengirim data callback API |
Channel Parameters | paymentParams | Object | No | Parameter tambahan channel khusus. Silakan cek bagian Parameter Pembayaran pada tabel di bawah |
Names of goods | goodsInfo | String(100) | No | Nama barang atau layanan transaksi |
Signature | sign | String(64) | Yes | Signature. Mohon cek bagian Aturan Data Signature |
Tipe Pembayaran
Payment Type | Code |
---|---|
DANA Uang Elektronik | DANABALANCE |
Shopee | SHOPEEBALANCE |
Linkaja | LINKAJABALANCE |
Parameter Pembayaran
DANABALANCE,SHOPEEBALANCE,LINKAJABALANCE
Field Name | Variabel | Type | Mandatory | Description |
---|---|---|---|---|
Callback URL | redirectUrl | String(200) | Yes | Ketika Transaksi berhasil ataupun gagal akan diarahkan ke URL ini |
Uang Elektronik Order Response Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Error Code | errCode | String(32) | No | untuk detailnya, silahkan lihat bagian Kode Error |
Error Description | errCodeDes | String(128) | No | Informasi detail error berdasarkan kode error |
Merchant ID | merchantId | String(20) | No | ID unik yang disediakan oleh payment gateway ke merchant |
Payment Type | paymentType | String(20) | Yes | Tipe Pembayaran, lihat Tipe Pembayaran |
Transaction Amount | amount | Decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000 |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Transaction Time | createTime | String(16) | Yes | yyyyMMddHHmmss |
Payment information | paymentActions | Object | No | Informasi link Url untuk melakukan pembayaran, dapat berupa URL PC, URL Web dan sebagainya. |
Platform Order Number | platformTradeNo | String(32) | No | Nomor Transaksi Paylabs |
Time of payment | successTime | String(16) | No | yyyyMMddHHmmss |
Status of the transaction | status | String(32) | No | 01:PENDING 09:FAILED 02:SUCCEEDED |
The name of goods | goodsInfo | String(100) | Yes | Nama barang atau layanan transaksi |
Signature | sign | String(64) | Yes | Signature. Mohon cek bagian Aturan Data Signature |
paymentActions
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
PC Payment URL | pcPayUrl | String(200) | No | |
Mobile Payment URL | mobilePayUrl | String(200) | No | |
App Payment URL | appDeeplink | String(200) | No | Url ini memungkinkan untuk membuka Aplikasi secara langsung |
paymentActions yang disupport
Channel | pcPayUrl | mobilePayUrl | appDeeplink |
---|---|---|---|
Dana | Y | Y | N |
Shopee | Y | Y | Y |
Linkaja | Y | Y | N |
Example
Request:
{
"merchantId":"0010001",
"merchantTradeNo":"100100011649755299703",
"requestId":"200100011649755299703",
"sign":"6d80364d80a09c8248784d601280feecfd4d9708af0fbfcd2fed0029b4ffacbc",
"paymentType":"DANABALANCE",
"amount":"10000.00",
"goodsInfo":"Test",
"paymentParams":{
"redirectUrl": "http://google.com"
}
}
Response:
{
"amount":"10000.00",
"merchantTradeNo":"100100011649755299703",
"sign":"1a9f31cef162d7460c0e03e609f64e231b96123874c45fd9962653ce5d97f2fa",
"platformTradeNo":"2022041200000000022",
"expiredTime":"20220412162641",
"paymentType":"DANABALANCE",
"paymentActions":{
"mobilePayUrl": "https://wsa.uat.wallet.airpay.co.id/universal-link/wallet/pay?deep_and_deferred=1&token=dFhkbmR1bTBIamhWkALJbE72qKeb2LpWAmThwGAMEXu0oo6lQWWCBMbH6JezjfA"
},
"createTime":"20220412162143",
"merchantId":"0010001",
"errCode":"0",
"requestId":"200100011649755299703",
"goodsInfo":"Test",
"status":"01"
}
Request URL
${ROOT_URL}/ewallet/query
Uang Elektronik Status Inquiry Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Merchant ID | merchantId | String(10) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Signature | sign | String(64) | Yes | Signature. Mohon cek bagian Aturan Data Signature |
Uang Elektronik Status Inquiry Response
Silahkan cek bagian Uang Elektronik Response Parameter
1.Server akan mengirimkan Request dengan POST Method dan JSON Format.
2.Merchant harus membalas dengan "SUCCESS" sebagai teks (tanpa tanda kutip), atau Server akan mengirimkan notifikasi beberapa kali dengan total 8 kali. Rentang waktu periode notifikasi yaitu 1s, 5s, 10s, 30s, 60s, 300s, 900s and 1800s.
Silahkan cek Asynchronous Notification Parameters
Request URL
${ROOT_URL}/va/create
Generate VA Request Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Merchant ID | merchantId | String(20) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Payment Type | paymentType | String(20) | Yes | Tipe Pembayaran, lihat Tipe Pembayaran pada tabel di bawah |
Amount | amount | Decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000 |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Notification URL | notifyUrl | String(200) | No | URL yang diakses oleh payment gateway jika pembayaran berhasil untuk mengirim data callback API. Untuk detailnya silahkan cek bagian Order Inquiry |
Payer | payer | String(60) | Yes | Nama pembayar |
Goods' Name | goodsInfo | String(100) | Yes | Nama barang atau layanan transaksi |
Signature | sign | String(64) | Yes | Signature. Mohon cek bagian Aturan Data Signature |
Tipe Pembayaran
Payment Type | Code |
---|---|
VA | BNCVA,INAVA,PermataVA,MuamalatVA,MandiriVA, BNIVA,DanamonVA,MaybankVA,SinarmasVA |
Generate VA Response Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Error Code | errCode | String(32) | Yes | 0:success,selebihnya silahkan lihat pada bagian Kode Error |
Error Description | errCodeDes | String(128) | No | Informasi detail error berdasarkan kode error |
Merchant ID | merchantId | String(20) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Payment Type | paymentType | String(20) | Yes | Tipe Pembayaran, lihat Tipe Pembayaran |
Amount | amount | Decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000 |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
VA's created time | createTime | String(16) | No | yyyyMMddHHmmss |
Virtual Account Number | vaCode | String(32) | No | Nomor Virtual Account |
Platform Order Number | platformTradeNo | String(32) | No | Paylabs' platform order number |
Payment Time | successTime | String(16) | No | yyyyMMddHHmmss |
Expire Time | expiredTime | String(16) | No | yyyyMMddHHmmss |
Status | status | String(32) | No | 01:PENDING 09:FAILED 02:SUCCEEDED |
Goods' Name | goodsInfo | String(100) | Yes | Nama barang atau layanan transaksi |
Signature | sign | String(64) | No | Signature. Mohon cek bagian Aturan Data Signature |
Example
Request:
{
"merchantId":"0010001",
"merchantTradeNo":"100100011649755895582",
"requestId":"200100011649755895582",
"sign":"5139134aa12b69f760139e9297cc4047e22f49151db4db1875c8aa1989e52fe2",
"paymentType":"SinarmasVA",
"amount":"10000.00",
"goodsInfo":"Test",
"payer":"test"
}
Response:
{
"amount":"10000.00",
"merchantTradeNo":"100100011649755895582",
"sign":"4c7198b1e1b15a468518938349aeb1579cb37e471857c7485999a604cc5254f8",
"vaCode":"94810003800000626",
"platformTradeNo":"2022041200000000025",
"expiredTime":20220413163136,
"paymentType":"SinarmasVA",
"createTime":"20220412163136",
"merchantId":"0010001",
"errCode":"0",
"requestId":"200100011649755895582",
"goodsInfo":"Test",
"status":"01"
}
Request
${ROOT_URL}/va/query
VA Status Inquiry Request Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Merchant ID | merchantId | String(10) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Signature | sign | String(64) | Yes | Signature. Mohon cek bagian Aturan Data Signature |
VA Status Inquiry Response Parameters
Silahkan cek bagian Generate VA Response Parameters
1.Server akan mengirimkan Request dengan POST Method dan JSON Format.
2.Merchant harus membalas dengan "SUCCESS" sebagai teks (tanpa tanda kutip), atau Server akan mengirimkan notifikasi beberapa kali dengan total 8 kali. Rentang waktu periode notifikasi yaitu 1s, 5s, 10s, 30s, 60s, 300s, 900s and 1800s.
Silahkan cek bagian Asynchronous Notification
Request URL
${ROOT_URL}/cc/create
Create Credit Card Order Request Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Merchant ID | merchantId | String(20) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Payment Type | paymentType | String(20) | Yes | Tipe Pembayaran, lihat Tipe Pembayaran |
Amount | amount | Decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000 |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Notification URL | notifyUrl | String(200) | No | URL yang diakses oleh payment gateway jika pembayaran berhasil untuk mengirim data callback API. Untuk detailnya silahkan cek bagian Order Inquiry |
Channel Parameters | paymentParams | Object | No | Parameter tambahan channel khusus. Silakan cek bagian Parameter Pembayaran pada tabel di bawah |
Goods' Name | goodsInfo | String(100) | Yes | Nama barang atau layanan transaksi |
Signature | sign | String(64) | Yes | Signature. Mohon cek bagian Aturan Data Signature |
Tipe Pembayaran
Payment Type | Code |
---|---|
Credit Card | CreditCard |
Parameter Pembayaran
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Callback URL | redirectUrl | String(200) | Yes | Ketika Transaksi berhasil ataupun gagal akan diarahkan ke URL ini |
Create Credit Card Order Response Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Error Code | errCode | String(32) | Yes | 0:success,selebihnya silahkan lihat pada bagian Kode Error |
Error Description | errCodeDes | String(128) | No | Informasi detail error berdasarkan kode error |
Merchant ID | merchantId | String(20) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Payment Type | paymentType | String(20) | Yes | Tipe Pembayaran, lihat Tipe Pembayaran |
Amount | amount | Decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000 |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Create Order Time | createTime | String(16) | No | yyyyMMddHHmmss |
Payment information | paymentActions | Object | No | Informasi link Url untuk melakukan pembayaran, dapat berupa URL PC, URL Web dan sebagainya. |
Platform Order Number | platformTradeNo | String(32) | No | Nomor Transaksi Paylabs |
Payment Time | successTime | String(16) | No | yyyyMMddHHmmss |
Order Status | status | String(32) | No | 01:PENDING 09:FAILED 02:SUCCEEDED |
Goods' Name | goodsInfo | String(100) | Yes | Nama barang atau layanan transaksi |
Signature | sign | String(64) | No | Signature. Mohon cek bagian Aturan Data Signature |
paymentActions
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Payment URL | payUrl | String(200) | No |
Example
Request:
{
"merchantId":"0010001",
"merchantTradeNo":"100100011649751697607",
"requestId":"100100011649751697607",
"sign":"e36f70522a648db11a7d4369a13cbac73658aea5505168c00d9ffe791b0597ec",
"paymentType":"CreditCard",
"amount":"10000.00",
"goodsInfo":"Test",
"paymentParams":{"redirectUrl": "http://google.com"}
}
Response:
{
"amount":"10000.00",
"merchantTradeNo":"T00100011649751697607",
"sign":"5165fcfa985b28e928bf124726a69e1cb17e8aa9420558b6a06a65cd04890338",
"platformTradeNo":"2022041200000000015",
"expiredTime":"20220413152138",
"paymentType":"CreditCard",
"paymentActions":{
"payUrl": "http://192.168.0.119:8081/en-credit-index.html?k=c2b2da7c8ce8b00691a68c38d77e000eeec0f030655f06a93eeeee051ca3235024591ab3207f9a39e58e4082d2b6f922"
},
"createTime":"20220412152138",
"merchantId":"0010001",
"errCode":"0",
"requestId":"R00100011649751697607",
"goodsInfo":"Test",
"status":"01"
}
Request URL
${ROOT_URL}/cc/query
Credit Card Status Inquiry Request Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Merchant ID | merchantId | String(10) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Signature | sign | String(64) | Yes | Signature. Mohon cek bagian Aturan Data Signature |
Credit Card Status Inquiry Response Parameters
Silahkan cek Create Credit Card Order Response Parameters
1.Server akan mengirimkan Request dengan POST Method dan JSON Format.
2.Merchant harus membalas dengan "SUCCESS" sebagai teks (tanpa tanda kutip), atau Server akan mengirimkan notifikasi beberapa kali dengan total 8 kali. Rentang waktu periode notifikasi yaitu 1s, 5s, 10s, 30s, 60s, 300s, 900s and 1800s.
Silahkan cek bagian Asynchronous Notification
Request URL
${ROOT_URL}/qris/create
Generate QRIS Request Parameters
Field | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Merchant ID | merchantId | String(20) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Payment Type | paymentType | String(20) | Yes | Tipe Pembayaran, lihat Tipe Pembayaran |
Amount | amount | Decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000 |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Notification URL | notifyUrl | String(200) | No | URL yang diakses oleh payment gateway jika pembayaran berhasil untuk mengirim data callback API. Untuk detailnya silakhan cek bagian Order Inquiry |
Goods' Name | goodsInfo | String(100) | Yes | Nama barang atau layanan transaksi |
Signature | sign | String(64) | Yes | Signature. Mohon cek bagian Aturan Data Signature |
Tipe Pembayaran
Payment Type | Code |
---|---|
QRIS | QRIS |
Shopee QRIS | SHOPEEQRIS |
Generate QRIS Response Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Error Code | errCode | String(32) | Yes | 0: success, Untuk detailnya, silakan lihat bagian Kode Error |
Error Description | errCodeDes | String(128) | No | Informasi detail error berdasarkan kode error |
Merchant ID | merchantId | String(20) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Payment Type | paymentType | String(20) | Yes | Tipe Pembayaran, lihat Tipe Pembayaran |
Amount | amount | Decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000 |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Order Create Time | createTime | String(16) | No | yyyyMMddHHmmss |
QRIS | qrCode | String(300) | No | kode QR pembayaran yang dapat dikonversi ke QRIS |
QRIS URL | qrisUrl | String(300) | No | Link gambar QRIS |
NMID | nmid | String(32) | No | National Merchant ID |
Platform Order Number | platformTradeNo | String(32) | No | Nomor Transaksi Paylabs |
Payment Time | successTime | String(16) | No | yyyyMMddHHmmss |
QRIS Expire Time | expiredTime | String(16) | No | yyyyMMddHHmmss |
Order Status | status | String(32) | No | 01:PENDING 09:FAILED 02:SUCCEEDED |
Goods' Name | goodsInfo | String(100) | Yes | Nama barang atau layanan transaksi |
Signature | sign | String(64) | No | Signature. Mohon cek bagian Aturan Data Signature |
Example
Request:
{
"merchantId":"0010001",
"merchantTradeNo":"100100011649756102739",
"requestId":"200100011649756102739",
"sign":"e2c0dd95ffbeabfc4728c1aa845ae668a682f4039bce38486abb8d43b137631b",
"paymentType":"QRIS",
"amount":"10000.00",
"goodsInfo":"Test"
}
Response:
{
"amount":"10000.00",
"merchantTradeNo":"100100011649756102739",
"sign":"1260d123f31a2dd099257e5f7834f1b3c6da51fbdf99d661691604b8242012cf",
"platformTradeNo":"2022041200000000026",
"expiredTime":"20220412163603",
"paymentType":"QRIS",
"qrCode":"00020101021226610016ID.CO.DANAMON.WWW01189360091800200340760208200340760303UMI520467895303360540810000.005802ID5918Paylabs Test Store6015KOTA JAKARTA BA6105111116223051920220412000000000266304741E",
"qrisUrl":"https://sit-payer.paylabs.co.id/payer-api/qr?0a22e3bdbcb9c687fe7344fab5b73344MOCK-QRIS%3A2023030730200000002",
"createTime":"20220412163504",
"merchantId":"0010001",
"errCode":"0",
"requestId":"200100011649756102739",
"goodsInfo":"Test",
"status":"01"
}
Request URL
${ROOT_URL}/qris/query
QRIS Order Status Inquiry Request Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Merchant ID | merchantId | String(10) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Signature | sign | String(64) | Yes | Signature. Mohon cek bagian Aturan Data Signature |
QRIS Order Status Inquiry Response Parameters
Silahkan cek bagian Generate QRIS Response Parameters
1.Server akan mengirimkan Request dengan POST Method dan JSON Format.
2.Merchant harus membalas dengan "SUCCESS" sebagai teks (tanpa tanda kutip), atau Server akan mengirimkan notifikasi beberapa kali dengan total 8 kali. Rentang waktu periode notifikasi yaitu 1s, 5s, 10s, 30s, 60s, 300s, 900s and 1800s.
Silahkan cek bagian Asynchronous Notification
Request URL: ${ROOT_URL}/h5/createLink
HTML5 adalah halaman pembayaran dari Paylabs. Kelebihan metode Create Order HTML5 dibandingkan dengan metode Create Order API adalah Merchant tidak perlu untuk membuat halaman pembayaran. Paylabs menyediakan halaman pembayaran terpadu untuk membantu pengguna menyelesaikan pembayaran. Jadi Anda dapat memilih salah satu dari dua cara untuk membuat pesanan (HTML5 atau API). Untuk Query detail order, notifikasi sukses (notifyUrl) dan callback (redirectUrl) semuanya diimplementasikan menggunakan metode yang sama yakni API.
HTML5 Request Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Merchant ID | merchantId | String(20) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Amount | amount | Decimal(12,2) | Yes | dalam satuan Rupiah, harus lebih dari Rp 10.000 |
Payer's name | payer | String(60) | No | Nama dari pembayar |
Phone Number | phoneNumber | String(20) | Yes | Nomor HP customer |
Goods' Name | goodsInfo | String(100) | Yes | Nama barang atau layanan transaksi |
Notification URL | notifyUrl | String(200) | No | URL yang diakses oleh payment gateway jika pembayaran berhasil untuk mengirim data callback API. Untuk detailnya silahkan cek bagian Order Inquiry |
Callback URL | redirectUrl | String(200) | Yes | ketika Transaksi berhasil ataupun gagal akan diarahkan ke URL ini |
Language | lang | String(10) | No | Bahasa default adalah bahasa Indonesia, untuk mengganti bahasa ke inggris, gunakan "en" |
Payment Type | paymentType | String(20) | No | Tipe Pembayaran, lihat Tipe Pembayaran. Jika dikosongkan maka halaman akam menampilkan semua opsi tipe pembayaran. |
Signature | sign | String(64) | Yes | Signature. Mohon cek bagian Aturan Data Signature |
HTML5 Response Parameters
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Error Code | errCode | String(32) | No | 0: success, Untuk detailnya, silakan lihat bagian Kode Error |
Error Description | errCodeDes | String(128) | No | Informasi detail error berdasarkan kode error |
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Merchant ID | merchantId | String(20) | No | ID unik yang disediakan oleh payment gateway ke merchant |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
HTML5 URL | url | String(200) | No | Tipe Pembayaran, lihat Tipe Pembayaran. Jika dikosongkan maka halaman akam menampilkan semua opsi tipe pembayaran. |
Signature | sign | String(64) | Yes | Signature. Mohon cek bagian Aturan Data Signature |
Example
Request:
{
"merchantId":"0010001",
"merchantTradeNo":"11649757268000",
"requestId":"21649757268000",
"sign":"apple",
"amount":"10200",
"phoneNumber":00000000,
"goodsInfo":"apple",
"redirectUrl":"https://www.google.com",
"lang":"en",
"payer":"test"
}
Response:
{
"merchantId":"0010001",
"requestId":"21649757268000",
"sign":"be2fca128a67104e750db52a9993fc640ededf9e8e7cd270c42474f4449d268b",
"errCode":"0",
"url":"http://paylabs-dev.com/payer/en-home-index.html?k=c2b2da7c8ce8b00691a68c38d77e000e9f412199770e6b1adf72bbc6c2914ee808f93e627825ecb4679cd31eea1c5114"
}
Follow-Up
Pelanggan akan mendapatkan URL, lalu buka dengan browser, masuk ke halaman pembayaran HTML5 Paylabs. Halaman tersebut akan memandu pelanggan untuk membayar sampai selesai. Jika pembayaran berhasil, Merchant akan mendapatkan notifikasi sukses melalui "notifyUrl", dan pelanggan akan dialihkan ke redirectUrl.
Field Name | Variable | Type | Mandatory | Description |
---|---|---|---|---|
Request ID | requestId | String(64) | Yes | ID unik untuk setiap request |
Error Code | errCode | String(32) | Yes | 0: success, Untuk detailnya, silakan lihat bagian Kode Error |
Error Description | errCodeDes | String(128) | No | Informasi detail error berdasarkan kode error |
Merchant ID | merchantId | String(20) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
Payment Type | paymentType | String(20) | Yes | Tipe Pembayaran, lihat Tipe Pembayaran. |
Amount | amount | Decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000 |
Merchant Order Number | merchantTradeNo | String(32) | Yes | ID transaksi unik yang ditentukan oleh Merchant |
Platform Order Number | platformTradeNo | String(32) | No | Nomor Transaksi Paylabs |
Create Order Time | createTime | String(16) | No | yyyyMMddHHmmss |
Payment Time | successTime | String(16) | No | yyyyMMddHHmmss |
Order Status | status | String(32) | No | 01:PENDING 09:FAILED 02:SUCCEEDED |
Signature | sign | String(64) | No | Signature. Mohon cek bagian Aturan Data Signature |
Kode Error | Description |
---|---|
noauth | Merchant tidak memiliki hak untuk mengakses API |
paramError | Parameter salah |
duplicateMerchantTradeNo | Terjadi duplikat pada nomor order transaksi milik merchant |
signError | Signature Salah |
systemError | Sistem bermasalah |
mchInvalid | Merchant tidak valid |
postDataEmpty | Data yang diposting kosong |
paymentTypeIsError | Tipe Pembayaran salah |
amountSetERROR | Format Nominal salah |
merchantFreezing | Akun Merchant diblokir |
orderExpired | Pesanan kadaluwarsa |