Qris Terminal
Generate Terminal
Service ini di gunakan untuk membuat terminalId
baru
info
limit terminalId
setiap merchant 65000 untuk qris dinamis
maupun statis
Service Info
HTTP Method | POST |
---|---|
Service Code | 92 |
Http Method | POST |
Path | .../v1.0/qr/qr-generate-terminal |
Authentication | OAuth 2.0 |
Header
Header Name | Tipe Data | Wajib | Deskripsi |
---|---|---|---|
Content-Type | String | Y | application/json |
X-TIMESTAMP | String | Y | Waktu lokal klien saat ini yyyy-MM-ddTHH:mm:ss.SSSTZD format |
X-PARTNER-ID | String | Y | Client’s client_id (diberikan pada saat onboarding ) |
X-CHANNEL-ID | String | Y | ID channel merchant |
X-SIGNATURE | String | Y | Dibuat dengan algoritma asymmetric with token : Signature Generation |
X-EXTERNAL-ID | String | Y | ID external merchant (tidak boleh sama di hari yang sama) |
Body
Parameter | Tipe Data | Wajib | Deskripsi |
---|---|---|---|
merchantId | String | Y | ID unik yang dimiliki oleh setiap merchant |
terminalId | String | Y | ID terminal |
description | String | Y | Deskripsi dari terminal |
- JSON
- CURL
- PHP
- NODE JS
- GO
{
"merchantId": "121xxxx",
"terminalId": "KASIR LANTAI 1",
"description" : "Untuk terminal di lantai 1"
}
curl --location --request POST '../v1.0/qr/qr-mpm-generate' \
--header 'x-client-key: 6c57db4e-9e11-4951-9bcf-d6f177dafbcc' \
--header 'x-timestamp: 2024-01-16T10:54:21+07:00' \
--header 'x-signature: SLzoCEi+vO0lQ7LfO1m/zQ2htg3C+yqA0g7C858477rYBoTNWnxdk4JqXKARCkFELN57Rhff9wVV888w2uHueA==' \
--header 'x-partner-id: 6c57db4e-9e11-4951-9bcf-d6f177dafbcc' \
--header 'channel-id: 23412' \
--header 'x-external-id: 2024-05-15T01:49:22.694Z' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer 6430fe8b-79d5-4e58-a337-6eb498e117a5' \
--data-raw '{
"merchantId": "121xxxx",
"terminalId": "KASIR LANTAI 1",
"description" : "Untuk terminal di lantai 1"
}'
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '../v1.0/qr/qr-mpm-generate',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"merchantId": "121xxxx",
"terminalId": "KASIR LANTAI 1",
"description" : "Untuk terminal di lantai 1"
}',
CURLOPT_HTTPHEADER => array(
'x-client-key: 6c57db4e-9e11-4951-9bcf-d6f177dafbcc',
'x-timestamp: 2024-01-16T10:54:21+07:00',
'x-signature: SLzoCEi+vO0lQ7LfO1m/zQ2htg3C+yqA0g7C858477rYBoTNWnxdk4JqXKARCkFELN57Rhff9wVV888w2uHueA==',
'x-partner-id: 6c57db4e-9e11-4951-9bcf-d6f177dafbcc',
'channel-id: 23412',
'x-external-id: 2024-05-15T01:41:13.420Z',
'Content-Type: application/json',
'Authorization: Bearer 6430fe8b-79d5-4e58-a337-6eb498e117a5'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'POST',
'url': '../v1.0/qr/qr-generate-terminal',
'headers': {
'x-timestamp': '2024-11-19T06:12:59.684Z',
'x-signature': 'xrfjIjo8LAL+Hp+/0BUu2uF/IalLDvTJi7okGCFeKdO2extJ8tWxeFHHE3M5Micx6/+ZXQZgiN3nnCsjaM/ucQ==',
'x-partner-id': '6c57db4e-9e11-4951-9bcf-d6f177dafbcc',
'channel-id': '0002',
'x-external-id': 'sjdkas091283123j123',
'Authorization': 'Bearer 950c7e34-6365-4359-90f2-9bfaf88c51f7',
'Content-Type': 'application/json'
},
body: JSON.stringify({
"merchantId": "121xxxx",
"terminalId": "KASIR LANTAI 1",
"description": "Untuk terminal di lantai 1"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "../v1.0/qr/qr-mpm-generate"
method := "POST"
payload := strings.NewReader(`{
"merchantId": "121xxxx",
"terminalId": "KASIR LANTAI 1",
"description": "Untuk terminal di lantai 1"
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("x-client-key", "6c57db4e-9e11-4951-9bcf-d6f177dafbcc")
req.Header.Add("x-timestamp", "2024-01-16T10:54:21+07:00")
req.Header.Add("x-signature", "SLzoCEi+vO0lQ7LfO1m/zQ2htg3C+yqA0g7C858477rYBoTNWnxdk4JqXKARCkFELN57Rhff9wVV888w2uHueA==")
req.Header.Add("x-partner-id", "6c57db4e-9e11-4951-9bcf-d6f177dafbcc")
req.Header.Add("channel-id", " 23412")
req.Header.Add("x-external-id", "2024-05-15T01:55:53.630Z")
req.Header.Add("Content-Type", " application/json")
req.Header.Add("Authorization", "Bearer 6430fe8b-79d5-4e58-a337-6eb498e117a5")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
Response
Parameter | Tipe Data | Deskripsi |
---|---|---|
responseCode | String | Kode response |
responseMessage | String | Pesan response |
terminalId | String | Id terminal |
description | String | Deskripsi terminal |
{
"responseCode": "2009200",
"responseMessage": "Successful",
"terminalId": "KASIR LANTAI 1",
"description": "Untuk terminal di lantai 1"
}
List Response Code
Response Code | Response Message | Description |
---|---|---|
2009200 | Success | |
4009201 | Invalid field format { field name } | |
4019200 | Unauthorized. Invalid Signature | X-Signature salah |
4099200 | Cannot use same X-EXTERNAL-ID in same day | X-External-ID sudah pernah digunakan di hari yang sama |
4049201 | Bad Request | Request header ada yang salah / kurang |
4049200 | Unauthorized. Client Forbidden Access API | Partner tidak dapat mengakses api terkait |
4039219 | Merchant Blacklisted | Merchant telah di blacklist |
4049208 | Invalid Merchant | MerchantId tidak valid |
5009201 | Internal Server Error | Terjadi kesalahan di sistem internal |