* Q3 e-commerce GMV rise 219 pct y/y (Adds details, outlook)
Nov 21 (Reuters) - Singapore-based online gaming and e-commerce firm Sea Ltd reported a 4 percent rise in third-quarter revenue and a wider loss as it boosted marketing spending, in its first earnings report since going public in the United States in October.
The company said its net loss widened to $132.8 million, or 75 cents per share in the quarter ended Sept. 30, from $65.6 million, or 38 cents per share, a year earlier. Adjusted net loss was $127.1 million.
Revenue at the company, which counts China’s Tencent Holdings as its biggest shareholder, rose to $94.1 million from $90.5 million. An average of three analysts’ revenue estimates was $93.9 million, according to Thomson Reuters data.
Cash revenue, a closely watched measure of performance, jumped 73 percent to $151.7 million.
The company operates in Indonesia, Taiwan, Vietnam, Thailand, the Philippines, Malaysia and Singapore.
It has three platforms - Garena for gaming, which accounts for the bulk of its revenues, Shopee for e-commerce and AirPay for digital financial services.
Shopee’s gross merchandise value (GMV) leapt 219 percent to $1.06 billion.
Sea expects 2017 cash revenue of $540 million to $550 million, a rise of 53 percent to 56 percent. It expects GMV for its e-commerce business to be between $3.8 billion and $4 billion, an increase of 230 percent to 248 percent.
Reporting by Aradhana Aravindan in SINGAPORE,; Arunima Banerjee and Parikshit Mishra in Bengaluru; Editing by Anil D’Silva and Stephen Coates
for-phone-onlyfor-tablet-portrait-upfor-tablet-landscape-upfor-desktop-upfor-wide-desktop-up
Ringkasan Dokumentasi Log Perubahan Target Pembaca Aturan Currency Unit 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: 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":"//www.merchant-domain.com/notify",
"email":""
}
Doc Vers.Change DateChange 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
Target pembaca utama dokumen ini adalah developer serta sebagian isinya dapat dijadikan referensi oleh manajemen dan pelaku bisnis.
Satuan mata uang dalam Rupiah Indonesia, dengan 2 desimal. Contoh seperti 10,25
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.
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=&merchantId=210001&merchantTradeNo=1562129320015¬ifyUrl=//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.0, "phoneNumber":"852698560233", "merchantTradeNo":"1562129320015", "merchantId":"210001", "paymentType":"CreditCard", "notifyUrl":"//www.merchant-domain.com/notify", "email":"", "sign":"cf6317c55f9d1d860492e3443667fdb776bf606d058fddd7395d2b3b560f7c72" }
Protokol & Standar API
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 |
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.
E-Money Order API
Request Address
${ROOT_URL}/ewallet/createE-Money Order Request Parameters
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
DANA E-Money | DANABALANCE |
Parameter Pembayaran
DANABALANCE
Callback URL | redirectUrl | String(200) | Yes | Ketika Transaksi berhasil ataupun gagal akan diarahkan ke URL ini |
E-Money Order Response Parameters
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
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
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, "goodsInfo":"Test", "paymentParams":{ "redirectUrl": "//google.com" } }
Response:
{ "amount":10000, "merchantTradeNo":"100100011649755299703", "sign":"1a9f31cef162d7460c0e03e609f64e231b96123874c45fd9962653ce5d97f2fa", "platformTradeNo":"2022041200000000022", "expiredTime":"20220412162641", "paymentType":"DANABALANCE", "paymentActions":{ "mobilePayUrl": "//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" }
E-Money Status Inquiry
Request URL
${ROOT_URL}/ewallet/queryE-Money Status Inquiry Parameters
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 |
E-Money Status Inquiry Response
Silahkan cek bagian E-Money Response Parameter
E-Money 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/createGenerate VA Request Parameters
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
VA | SinarmasVA,MaybankVA,DanamonVA |
Generate VA Response Parameters
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, "goodsInfo":"Test", "payer":"test" }
Response:
{ "amount":10000, "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/queryVA Status Inquiry Request Parameters
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
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/createCreate Credit Card Order Request Parameters
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
Credit Card | CreditCard |
Parameter Pembayaran
Callback URL | redirectUrl | String(200) | Yes | Ketika Transaksi berhasil ataupun gagal akan diarahkan ke URL ini |
Create Credit Card Order Response Parameters
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
Payment URL | payUrl | String(200) | No |
Example
Request:
{ "merchantId":"0010001", "merchantTradeNo":"100100011649751697607", "requestId":"100100011649751697607", "sign":"e36f70522a648db11a7d4369a13cbac73658aea5505168c00d9ffe791b0597ec", "paymentType":"CreditCard", "amount":10000, "goodsInfo":"Test", "paymentParams":{"redirectUrl": "//google.com"} }
Response:
{ "amount":10000, "merchantTradeNo":"T00100011649751697607", "sign":"5165fcfa985b28e928bf124726a69e1cb17e8aa9420558b6a06a65cd04890338", "platformTradeNo":"2022041200000000015", "expiredTime":"20220413152138", "paymentType":"CreditCard", "paymentActions":{ "payUrl": "//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/queryCredit Card Status Inquiry Request Parameters
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
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/createGenerate QRIS Request Parameters
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
Generate QRIS Response Parameters
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(32) | No | kode QR pembayaran yang dapat dikonversi ke QRIS |
QRIS URL | qrisUrl | String(200) | 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, "goodsInfo":"Test" }
Response:
{ "amount":10000, "merchantTradeNo":"100100011649756102739", "sign":"1260d123f31a2dd099257e5f7834f1b3c6da51fbdf99d661691604b8242012cf", "platformTradeNo":"2022041200000000026", "expiredTime":"20220412163603", "paymentType":"QRIS", "qrCode":"00020101021226610016ID.CO.DANAMON.WWW01189360091800200340760208200340760303UMI520467895303360540810000.005802ID5918Paylabs Test Store6015KOTA JAKARTA BA6105111116223051920220412000000000266304741E", "createTime":"20220412163504", "merchantId":"0010001", "errCode":"0", "requestId":"200100011649756102739", "goodsInfo":"Test", "status":"01" }
QRIS Order Status Inquiry
Request URL
${ROOT_URL}/qris/queryQRIS Order Status Inquiry Request Parameters
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
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
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
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":"//www.google.com", "lang":"en", "payer":"test" }
Response:
{ "merchantId":"0010001", "requestId":"21649757268000", "sign":"be2fca128a67104e750db52a9993fc640ededf9e8e7cd270c42474f4449d268b", "errCode":"0", "url":"//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
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
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 |