Generate QRIS
Creates a QRIS payment transaction. The merchant will receive QR data that can be displayed to customers for scan and pay.
Endpoint
POST /api/v1/payin/qris/generate
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
| merchantTrxId | string | Yes | Unique transaction ID from merchant |
| amount | number | Yes | Payment amount (in Rupiah) |
| notifyUrl | string | Yes | Webhook URL to receive transaction status notifications |
| productName | string | Yes | Product/service name |
Example Request
{
"merchantTrxId": "{{requestId}}",
"amount": 10000,
"notifyUrl": "https://webhook.site/f793fdb2-3881-4a2f-99bc-50c8d4ffc54f",
"productName": "test aja"
}
Unique Transaction ID
Ensure merchantTrxId is always unique. Duplicate IDs will result in "Transaction ID duplicate" error.
Success Response
{
"logId": "BZPkFn1N7zJCOBOQNaWh",
"status": true,
"message": "QRIS created successfully",
"data": {
"merchantTrxId": "2026011422090788287851188",
"platformTrxId": "2026011415091972123",
"qrData": "00020101021226650013ID.NETZME.WWW01189360081401001086120215ID20240000003170303UKE51440014ID.CO.QRIS.WWW0215ID20240000003170303UKE5204413153033605405110005802ID5908LAVISKA16005DEPOK61051641162690703A010812qris_invoice994200020001323154d168e6d14afd981d420a52828bdc63049739",
"amount": 11000,
"expired": 900
}
}
Response Fields
| Field | Description |
|---|---|
| merchantTrxId | Merchant transaction ID |
| platformTrxId | KingsPay platform transaction ID |
| qrData | QRIS data string to generate QR code |
| amount | Final amount (may differ due to fee/admin) |
| expired | QR validity period in seconds |
Failed Response (Duplicate)
{
"status": false,
"message": "Transaction ID duplicate",
"logId": "HeKfJGECBgBCBJrDloEe"
}