Ringkasan Dokumentasi
Aturan
Transaction API
Uang Elektronik Order API
Uang Elektronik Status Inquiry
Uang Elektronik Notification
Generate Virtual Account (VA)
VA Status Inquiry
VA Notification URL
Create Credit Card Order
Credit Card Status Inquiry
Credit Card Notification URL
Generate QRIS
QRIS Order Status Inquiry
QRIS Notification
Create HTML5 URL
Asynchronous Notification Parameters
Calculation Tool
Kode Error
Ringkasan Dokumentasi

Log Perubahan

Doc Vers.Change DateChange Description
4.0.02022-03-221.API adjustment
4.0.12022-04-221.paymentParams, paymentActions disertakan dalam proses signing
4.0.22022-05-191.Tambah field "qrisUrl" pada QRIS
4.0.32022-05-261.Tambah field non-mandatory "payer" pada H5
2.Ganti nama "merchantTradeNoUsed" menjadi "duplicateMerchantTradeNo" pada ErrorCode
4.0.42022-06-101.Perbaikan URL H5
4.0.52023-02-201.Tambahkan Metode Pembayaran Baru

Target Pembaca

Target pembaca utama dokumen ini adalah developer serta sebagian isinya dapat dijadikan referensi oleh manajemen dan pelaku bisnis.
Aturan

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&notifyUrl=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

JenisPenjelasan
Submission MethodPakai metode POST, Content-Type "application/json;charset=utf-8"
Data FormatData Request dan response dalam format JSON
Character EncodingMenggunakan UTF-8 character encoding
Amount FormatRupiah Indonesia dengan dua desimal
Hash MethodSHA256
Signing RequestWajib untuk memverifikasi signature pada saat mengirim request and menerima response. Silahkan cek Aturan Data Signature
Verification StepsPertama tentukan protokol respons, kemudian business respons dan terakhir status transaksi
Transaction API

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.

Uang Elektronik Order API

Request Address

${ROOT_URL}/ewallet/create

Uang Elektronik Order Request Parameters

Field NameVariabelTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Merchant IDmerchantIdString(20)YesID unik yang disediakan oleh payment gateway ke merchant
Payment TypepaymentTypeString(20)YesTipe Pembayaran, lihat Tipe Pembayaran pada tabel di bawah
Order AmountamountDecimal(12,2)YesNominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
Notification URLnotifyUrlString(200)NoURL yang diakses oleh payment gateway jika pembayaran berhasil untuk mengirim data callback API
Channel ParameterspaymentParamsObjectNoParameter tambahan channel khusus. Silakan cek bagian Parameter Pembayaran pada tabel di bawah
Names of goodsgoodsInfoString(100)NoNama barang atau layanan transaksi
SignaturesignString(64)YesSignature. Mohon cek bagian Aturan Data Signature

Tipe Pembayaran

Payment TypeCode
DANA Uang ElektronikDANABALANCE
ShopeeSHOPEEBALANCE
LinkajaLINKAJABALANCE

Parameter Pembayaran

DANABALANCE,SHOPEEBALANCE,LINKAJABALANCE

Field NameVariabelTypeMandatoryDescription
Callback URLredirectUrlString(200)YesKetika Transaksi berhasil ataupun gagal akan diarahkan ke URL ini

Uang Elektronik Order Response Parameters

Field NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Error CodeerrCodeString(32)Nountuk detailnya, silahkan lihat bagian Kode Error
Error DescriptionerrCodeDesString(128)NoInformasi detail error berdasarkan kode error
Merchant IDmerchantIdString(20)NoID unik yang disediakan oleh payment gateway ke merchant
Payment TypepaymentTypeString(20)YesTipe Pembayaran, lihat Tipe Pembayaran
Transaction AmountamountDecimal(12,2)YesNominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
Transaction TimecreateTimeString(16)YesyyyyMMddHHmmss
Payment informationpaymentActionsObjectNoInformasi link Url untuk melakukan pembayaran, dapat berupa URL PC, URL Web dan sebagainya.
Platform Order NumberplatformTradeNoString(32)NoNomor Transaksi Paylabs
Time of paymentsuccessTimeString(16)NoyyyyMMddHHmmss
Status of the transactionstatusString(32)No01:PENDING
09:FAILED
02:SUCCEEDED
The name of goodsgoodsInfoString(100)YesNama barang atau layanan transaksi
SignaturesignString(64)YesSignature. Mohon cek bagian Aturan Data Signature

paymentActions

Field NameVariableTypeMandatoryDescription
PC Payment URLpcPayUrlString(200)No
Mobile Payment URLmobilePayUrlString(200)No
App Payment URLappDeeplinkString(200)NoUrl ini memungkinkan untuk membuka Aplikasi secara langsung

paymentActions yang disupport

ChannelpcPayUrlmobilePayUrlappDeeplink
DanaYYN
ShopeeYYY
LinkajaYYN

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"
}
Uang Elektronik Status Inquiry

Request URL

${ROOT_URL}/ewallet/query

Uang Elektronik Status Inquiry Parameters

Field NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Merchant IDmerchantIdString(10)YesID unik yang disediakan oleh payment gateway ke merchant
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
SignaturesignString(64)YesSignature. Mohon cek bagian Aturan Data Signature

Uang Elektronik Status Inquiry Response

Silahkan cek bagian Uang Elektronik Response Parameter

Uang Elektronik Notification

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

Generate Virtual Account (VA)

Request URL

${ROOT_URL}/va/create

Generate VA Request Parameters

Field NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Merchant IDmerchantIdString(20)YesID unik yang disediakan oleh payment gateway ke merchant
Payment TypepaymentTypeString(20)YesTipe Pembayaran, lihat Tipe Pembayaran pada tabel di bawah
AmountamountDecimal(12,2)YesNominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
Notification URLnotifyUrlString(200)NoURL yang diakses oleh payment gateway jika pembayaran berhasil untuk mengirim data callback API. Untuk detailnya silahkan cek bagian Order Inquiry
PayerpayerString(60)YesNama pembayar
Goods' NamegoodsInfoString(100)YesNama barang atau layanan transaksi
SignaturesignString(64)YesSignature. Mohon cek bagian Aturan Data Signature

Tipe Pembayaran

Payment TypeCode
VABNCVA,INAVA,PermataVA,MuamalatVA,MandiriVA, BNIVA,DanamonVA,MaybankVA,SinarmasVA

Generate VA Response Parameters

Field NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Error CodeerrCodeString(32)Yes0:success,selebihnya silahkan lihat pada bagian Kode Error
Error DescriptionerrCodeDesString(128)NoInformasi detail error berdasarkan kode error
Merchant IDmerchantIdString(20)YesID unik yang disediakan oleh payment gateway ke merchant
Payment TypepaymentTypeString(20)YesTipe Pembayaran, lihat Tipe Pembayaran
AmountamountDecimal(12,2)YesNominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
VA's created timecreateTimeString(16)NoyyyyMMddHHmmss
Virtual Account NumbervaCodeString(32)NoNomor Virtual Account
Platform Order NumberplatformTradeNoString(32)NoPaylabs' platform order number
Payment TimesuccessTimeString(16)NoyyyyMMddHHmmss
Expire TimeexpiredTimeString(16)NoyyyyMMddHHmmss
StatusstatusString(32)No01:PENDING
09:FAILED
02:SUCCEEDED
Goods' NamegoodsInfoString(100)YesNama barang atau layanan transaksi
SignaturesignString(64)NoSignature. 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"
}
VA Status Inquiry

Request

${ROOT_URL}/va/query

VA Status Inquiry Request Parameters

Field NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Merchant IDmerchantIdString(10)YesID unik yang disediakan oleh payment gateway ke merchant
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
SignaturesignString(64)YesSignature. Mohon cek bagian Aturan Data Signature

VA Status Inquiry Response Parameters

Silahkan cek bagian Generate VA Response Parameters

VA Notification URL

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

Create Credit Card Order

Request URL

${ROOT_URL}/cc/create

Create Credit Card Order Request Parameters

Field NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Merchant IDmerchantIdString(20)YesID unik yang disediakan oleh payment gateway ke merchant
Payment TypepaymentTypeString(20)YesTipe Pembayaran, lihat Tipe Pembayaran
AmountamountDecimal(12,2)YesNominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
Notification URLnotifyUrlString(200)NoURL yang diakses oleh payment gateway jika pembayaran berhasil untuk mengirim data callback API. Untuk detailnya silahkan cek bagian Order Inquiry
Channel ParameterspaymentParamsObjectNoParameter tambahan channel khusus. Silakan cek bagian Parameter Pembayaran pada tabel di bawah
Goods' NamegoodsInfoString(100)YesNama barang atau layanan transaksi
SignaturesignString(64)YesSignature. Mohon cek bagian Aturan Data Signature

Tipe Pembayaran

Payment TypeCode
Credit CardCreditCard

Parameter Pembayaran

Field NameVariableTypeMandatoryDescription
Callback URLredirectUrlString(200)YesKetika Transaksi berhasil ataupun gagal akan diarahkan ke URL ini

Create Credit Card Order Response Parameters

Field NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Error CodeerrCodeString(32)Yes0:success,selebihnya silahkan lihat pada bagian Kode Error
Error DescriptionerrCodeDesString(128)NoInformasi detail error berdasarkan kode error
Merchant IDmerchantIdString(20)YesID unik yang disediakan oleh payment gateway ke merchant
Payment TypepaymentTypeString(20)YesTipe Pembayaran, lihat Tipe Pembayaran
AmountamountDecimal(12,2)YesNominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
Create Order TimecreateTimeString(16)NoyyyyMMddHHmmss
Payment informationpaymentActionsObjectNoInformasi link Url untuk melakukan pembayaran, dapat berupa URL PC, URL Web dan sebagainya.
Platform Order NumberplatformTradeNoString(32)NoNomor Transaksi Paylabs
Payment TimesuccessTimeString(16)NoyyyyMMddHHmmss
Order StatusstatusString(32)No01:PENDING
09:FAILED
02:SUCCEEDED
Goods' NamegoodsInfoString(100)YesNama barang atau layanan transaksi
SignaturesignString(64)NoSignature. Mohon cek bagian Aturan Data Signature

paymentActions

Field NameVariableTypeMandatoryDescription
Payment URLpayUrlString(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"
}
Credit Card Status Inquiry

Request URL

${ROOT_URL}/cc/query

Credit Card Status Inquiry Request Parameters

Field NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Merchant IDmerchantIdString(10)YesID unik yang disediakan oleh payment gateway ke merchant
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
SignaturesignString(64)YesSignature. Mohon cek bagian Aturan Data Signature

Credit Card Status Inquiry Response Parameters

Silahkan cek Create Credit Card Order Response Parameters

Credit Card Notification URL

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

Generate QRIS

Request URL

${ROOT_URL}/qris/create

Generate QRIS Request Parameters

FieldVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Merchant IDmerchantIdString(20)YesID unik yang disediakan oleh payment gateway ke merchant
Payment TypepaymentTypeString(20)YesTipe Pembayaran, lihat Tipe Pembayaran
AmountamountDecimal(12,2)YesNominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
Notification URLnotifyUrlString(200)NoURL yang diakses oleh payment gateway jika pembayaran berhasil untuk mengirim data callback API. Untuk detailnya silakhan cek bagian Order Inquiry
Goods' NamegoodsInfoString(100)YesNama barang atau layanan transaksi
SignaturesignString(64)YesSignature. Mohon cek bagian Aturan Data Signature

Tipe Pembayaran

Payment TypeCode
QRISQRIS
Shopee QRISSHOPEEQRIS

Generate QRIS Response Parameters

Field NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Error CodeerrCodeString(32)Yes0: success, Untuk detailnya, silakan lihat bagian Kode Error
Error DescriptionerrCodeDesString(128)NoInformasi detail error berdasarkan kode error
Merchant IDmerchantIdString(20)YesID unik yang disediakan oleh payment gateway ke merchant
Payment TypepaymentTypeString(20)YesTipe Pembayaran, lihat Tipe Pembayaran
AmountamountDecimal(12,2)YesNominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
Order Create TimecreateTimeString(16)NoyyyyMMddHHmmss
QRISqrCodeString(300)Nokode QR pembayaran yang dapat dikonversi ke QRIS
QRIS URLqrisUrlString(300)NoLink gambar QRIS
NMIDnmidString(32)NoNational Merchant ID
Platform Order NumberplatformTradeNoString(32)NoNomor Transaksi Paylabs
Payment TimesuccessTimeString(16)NoyyyyMMddHHmmss
QRIS Expire TimeexpiredTimeString(16)NoyyyyMMddHHmmss
Order StatusstatusString(32)No01:PENDING
09:FAILED
02:SUCCEEDED
Goods' NamegoodsInfoString(100)YesNama barang atau layanan transaksi
SignaturesignString(64)NoSignature. 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"
}
QRIS Order Status Inquiry

Request URL

${ROOT_URL}/qris/query

QRIS Order Status Inquiry Request Parameters

Field NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Merchant IDmerchantIdString(10)YesID unik yang disediakan oleh payment gateway ke merchant
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
SignaturesignString(64)YesSignature. Mohon cek bagian Aturan Data Signature

QRIS Order Status Inquiry Response Parameters

Silahkan cek bagian Generate QRIS Response Parameters

QRIS Notification

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

Create HTML5 URL

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 NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Merchant IDmerchantIdString(20)YesID unik yang disediakan oleh payment gateway ke merchant
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
AmountamountDecimal(12,2)Yesdalam satuan Rupiah, harus lebih dari Rp 10.000
Payer's namepayerString(60)NoNama dari pembayar
Phone NumberphoneNumberString(20)YesNomor HP customer
Goods' NamegoodsInfoString(100)YesNama barang atau layanan transaksi
Notification URLnotifyUrlString(200)NoURL yang diakses oleh payment gateway jika pembayaran berhasil untuk mengirim data callback API. Untuk detailnya silahkan cek bagian Order Inquiry
Callback URLredirectUrlString(200)Yesketika Transaksi berhasil ataupun gagal akan diarahkan ke URL ini
LanguagelangString(10)NoBahasa default adalah bahasa Indonesia, untuk mengganti bahasa ke inggris, gunakan "en"
Payment TypepaymentTypeString(20)NoTipe Pembayaran, lihat Tipe Pembayaran. Jika dikosongkan maka halaman akam menampilkan semua opsi tipe pembayaran.
SignaturesignString(64)YesSignature. Mohon cek bagian Aturan Data Signature

HTML5 Response Parameters

Field NameVariableTypeMandatoryDescription
Error CodeerrCodeString(32)No0: success, Untuk detailnya, silakan lihat bagian Kode Error
Error DescriptionerrCodeDesString(128)NoInformasi detail error berdasarkan kode error
Request IDrequestIdString(64)YesID unik untuk setiap request
Merchant IDmerchantIdString(20)NoID unik yang disediakan oleh payment gateway ke merchant
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
HTML5 URLurlString(200)NoTipe Pembayaran, lihat Tipe Pembayaran. Jika dikosongkan maka halaman akam menampilkan semua opsi tipe pembayaran.
SignaturesignString(64)YesSignature. 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.

Asynchronous Notification Parameters
Field NameVariableTypeMandatoryDescription
Request IDrequestIdString(64)YesID unik untuk setiap request
Error CodeerrCodeString(32)Yes0: success, Untuk detailnya, silakan lihat bagian Kode Error
Error DescriptionerrCodeDesString(128)NoInformasi detail error berdasarkan kode error
Merchant IDmerchantIdString(20)YesID unik yang disediakan oleh payment gateway ke merchant
Payment TypepaymentTypeString(20)YesTipe Pembayaran, lihat Tipe Pembayaran.
AmountamountDecimal(12,2)YesNominal dalam Rupiah Indonesia dan lebih besar sama dengan dari Rp 10.000
Merchant Order NumbermerchantTradeNoString(32)YesID transaksi unik yang ditentukan oleh Merchant
Platform Order NumberplatformTradeNoString(32)NoNomor Transaksi Paylabs
Create Order TimecreateTimeString(16)NoyyyyMMddHHmmss
Payment TimesuccessTimeString(16)NoyyyyMMddHHmmss
Order StatusstatusString(32)No01:PENDING
09:FAILED
02:SUCCEEDED
SignaturesignString(64)NoSignature. Mohon cek bagian Aturan Data Signature
Calculation Tool

secretKey:
Request Parameter(JSON)
Signature String:
Kode Error
Kode ErrorDescription
noauthMerchant tidak memiliki hak untuk mengakses API
paramErrorParameter salah
duplicateMerchantTradeNoTerjadi duplikat pada nomor order transaksi milik merchant
signErrorSignature Salah
systemErrorSistem bermasalah
mchInvalidMerchant tidak valid
postDataEmptyData yang diposting kosong
paymentTypeIsErrorTipe Pembayaran salah
amountSetERRORFormat Nominal salah
merchantFreezingAkun Merchant diblokir
orderExpiredPesanan kadaluwarsa