OTC
Over the Counter (OTC) Order
Panduan membuat pesanan OTC (Indomaret/Alfamart/POS) melalui API Paylabs.
Request URL
URL: ${ROOT_URL}/payment/v2.3/store/create
HTTPMethod: POST
EndpointUrl: /payment/v2.3/store/create
Generate OTC Request Parameters
Header
| Field Name | Type | Value | Required |
|---|---|---|---|
| Content-Type | String(30) | Isi dengan nilai "application/json;charset=utf-8" | Yes |
| X-TIMESTAMP | String(29) | Waktu saat ini, dengan format 2022-09-16T16:58:47.964+07:00 | Yes |
| X-SIGNATURE | String(64) | Signature. Untuk selengkapnya cek | Yes |
| X-PARTNER-ID | String(20) | Merchant ID | Yes |
| X-REQUEST-ID | String(64) | ID unik merepresentasikan setiap request yang dikirim | Yes |
Body
| Parameter | Type | Required | Remarks |
|---|---|---|---|
| requestId | String(64) | Yes | Kode unik untuk setiap request |
| merchantId | String(20) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
| paymentType | String(20) | Yes | Nama tipe pembayaran, cek tabel Tipe Pembayaran |
| amount | decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia, with 2 decimal places |
| merchantTradeNo | String(32) | Yes | Kode unik yang dibuat oleh Merchant untuk setiap transaksi |
| notifyUrl | String(200) | No | URL yang akan ditembak saat terjadi pembayaran. Untuk parameter-parameternya cek di bagian Inquiry Order |
| payer | String(60) | Yes | Nama pembayar |
| productName | String(100) | Yes | Nama layanan atau produk |
| +productInfo | Array<Object>(30) | No | Informasi detil atas produk atau layanan dalam transaksi |
| a?Oid | String(10) | Yes | Product ID |
| a?Oname | String(32) | Yes | Product Name |
| a?Oprice | decimal(12,2) | Yes | Nilai dalam Rupiah, mendukung dua angka belakang koma |
| a?Otype | String(20) | Yes | Product Type |
| a?Ourl | String(200) | No | Product URL |
| a?Oquantity | Number(4) | Yes | Product Quantity |
| feeType | String(3) | No | Jenis pengurangan biaya layanan:BEN�OUR. Standarnya BEN. Ketika OUR dipilih, biaya layanan akan ditambahkan otomatis ke nominal order. |
paymentType
| Payment Type | Code |
|---|---|
| Convenience Store | Indomaret,Alfarmart,POS |
OTC Order Response Parameters
Header
| Field Name | Type | Value | Required |
|---|---|---|---|
| Content-Type | String(30) | Isi dengan nilai "application/json;charset=utf-8" | Yes |
| X-TIMESTAMP | String(29) | Waktu saat ini, dengan format 2022-09-16T16:58:47.964+07:00 | Yes |
| X-SIGNATURE | String(64) | Signature. Untuk selengkapnya cek | Yes |
| X-PARTNER-ID | String(20) | Merchant ID | Yes |
| X-REQUEST-ID | String(64) | ID unik merepresentasikan setiap request yang dikirim | Yes |
Body
| Parameter | Type | Required | Remarks |
|---|---|---|---|
| requestId | String(64) | Yes | Kode unik untuk setiap request |
| errCode | String(32) | Yes | 0 adalah sukses, untuk lainnya bisa lihat tabel |
| errCodeDes | String(128) | No | Deskripsi terkait error |
| merchantId | String(20) | Yes | ID unik yang disediakan oleh payment gateway ke merchant |
| storeId | String(30) | No | Jika Merchant memiliki cabang dan ingin membuat order dengan ID cabang |
| paymentType | String(20) | Yes | Nama tipe pembayaran, cek tabel Tipe Pembayaran |
| requestAmount | Decimal(12,2) | No | Nominal pada saat permintaan |
| amount | decimal(12,2) | Yes | Nominal dalam Rupiah Indonesia, with 2 decimal placesJenis pengurangan biaya layanan:Ketika OUR dipilih, biaya layanan akan ditambahkan ke nominal order. Ketika biaya layanan yang dihitung mengandung desimal, biaya layanan akan otomatis +1 setelah menghilangkan desimal. Misalnya, 10.000,11 akan secara otomatis +1 untuk mendapatkan 10.001,00. |
| merchantTradeNo | String(32) | Yes | Kode unik yang dibuat oleh Merchant untuk setiap transaksi |
| createTime | String(16) | No | yyyyMMddHHmmss |
| paymentCode | String(32) | No | Kode Pembayaran |
| platformTradeNo | String(32) | No | Nomor order di platform Paylabs |
| successTime | String(16) | No | yyyyMMddHHmmss |
| expiredTime | String(16) | No | yyyyMMddHHmmss |
| status | String(32) | No | 01 PENDING 09 FAILED 02 SUCCEEDED |
| productName | String(100) | Yes | Nama layanan atau produk |
| +productInfo | Array<Object>(30) | No | Informasi detil atas produk atau layanan dalam transaksi |
| a?Oid | String(10) | Yes | Product ID |
| a?Oname | String(32) | Yes | Product Name |
| a?Oprice | decimal(12,2) | Yes | Nilai dalam Rupiah, mendukung dua angka belakang koma |
| a?Otype | String(20) | Yes | Product Type |
| a?Ourl | String(200) | No | Product URL |
| a?Oquantity | Number(4) | Yes | Product Quantity |
| transFeeRate | Decimal(6,6) | No | Rate Transaksi, mendukung enam angka belakang koma |
| transFeeAmount | Decimal(12,2) | No | Biaya, mendukung dua angka belakang koma |
| totalTransFee | Decimal(12,2) | No | Total rate biaya layanan transaksi (tidak termasuk vatFee), mendukung dua angka belakang koma |
| vatFee | Decimal(12,2) | No | Pajak, mendukung dua angka belakang koma |
| payer | String(60) | No | Nama payer sebenarnya (jika channel mendukung). Jika tidak, nilai null. Catatan: bukan nilai payer yang dikirim saat inisiasi. |
| accountNo | String(32) | No | Nomor rekening payer sebenarnya (jika channel mendukung). Jika tidak, nilai null. |
Example
Request
POST /payment/v2.3/store/create
# HTTP Header
Content-Type: application/json;charset=utf-8
X-TIMESTAMP: 2022-09-16T16:58:47.964+07:00
X-SIGNATURE: xxxxxxxxx
X-PARTNER-ID: 010001
X-REQUEST-ID: xxxxxxxxxxxxxxxxxxxxxxxx
# HTTP Body
{
"merchantId":"0010001",
"merchantTradeNo":"100100011649755895582",
"requestId":"200100011649755895582",
"paymentType":"Indomaret",
"amount":"10000.00",
"productName":"Test",
"payer":"test"
}Response
POST /payment/v2.3/store/create
# HTTP Header
Content-Type: application/json;charset=utf-8
X-TIMESTAMP: 2022-09-16T16:58:47.964+07:00
X-SIGNATURE: xxxxxxxxx
X-PARTNER-ID: 010001
X-REQUEST-ID: xxxxxxxxxxxxxxxxxxxxxxxx
# HTTP Body
{
"amount":"10000.00",
"merchantTradeNo":"100100011649755895582",
"paymentCode":"xxxxxxxxxxxx",
"platformTradeNo":"2022041200000000025",
"expiredTime":"20220413163136",
"paymentType":"BTNVA",
"createTime":"20220412163136",
"merchantId":"0010001",
"errCode":"0",
"requestId":"200100011649755895582",
"productName":"Test",
"status":"01",
"transFeeRate":"0",
"transFeeAmount":"0",
"totalTransFee":"0",
"vatFee":"0"
}