URL and Path Path /ordersnap/api/v1.0/qr/qr-mpm-generate HTTP Method POST Version v1.0 Service Code 47
Field Name Field Type Field Description Content-Type String (Required) Type of the content Authorization String (Required) Represents access_token of a request; string starts with keyword “Bearer ” followed by access_token. Can get this token from Access Token B2B response. X-TIMESTAMP String (Required) Using ISO 8601 as timestamp format.
Transaction date time, in format YYYYMMDDTHH:mm:ss+07:00.
Time must be in GMT+7 (Jakarta time). X-SIGNATURE String (Required) Created using symmetric signature HMAC_SHA512 algorithm. X-PARTNER-ID String (Required) Unique ID for a partner (client_id). X-EXTERNAL-ID String (Required) Merchant’s unique ID per transaction request. CHANNEL-ID String (Required) PJP’s channel id.
Example Header
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6It9pE72h1M4cdIEkoG0xSuNSJGptEMnlG2GgifWhWDpLDeGvcUh
X-TIMESTAMP: 2022-08-24 11:14:17
X-SIGNATURE: tmVw6o0TJRQCiEjuOdf6/jaX261ronRwMBNGzfoW7K2ERS52sFlVnaE2MtgDS/UpMtGSbIpC+gQv0j72HWb0iA==
X-PARTNER-ID: p00cb12g-w04q-42bb-l2de-e3enf4f487ce3
X-EXTERNAL-ID: 23456789012345
CHANNEL-ID: 98765
Field Name Field Type Field Description partnerReferenceNo String(36) (Required) Unique Transaction ID from Merchant. amount Object (Required) Object data amount. amount.value String(16,2) (Required) Transaction Amount. amount.currency String(3) (Required) Transaction Currency. merchantId String(64) (Optional) Merchant identifier that is unique per each merchant storeId String(16) (Optional) Merchant terminal id validityPeriod String(25) (Required) The time when the QRIS will automatically expire. The time when the payment will be automatically expired. The format is defined by ISO 8601. (Max 3 hours from request time). additionalInfo Object (Required) Additional information. additionalInfo.acquirer Integer (Required) Usable ID Acquirer. Read here additionalInfo.items Object of Array (Required) Items Object. additionalInfo.items.id String (Required) ID Items. additionalInfo.items.name String (Required) Items Name. additionalInfo.items.quantity String (Required) Quantity of items. additionalInfo.items.price Object (Required) Price Object. additionalInfo.items.price.value String (Required) Price value. additionalInfo.items.price.currency String (Required) Transaction currency additionalInfo.customerDetails Object (Required) Object Costumer Details. additionalInfo.customerDetails.email String (Required) Email Customer. additionalInfo.customerDetails.firstName String (Required) First name customer. additionalInfo.customerDetails.lastName String (Required) Last name customer. additionalInfo.customerDetails.phone String (Required) Phone number customer.
Example Request Body
{
"partnerReferenceNo": "TestPartNo0002",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"merchantId": "",
"storeId": "",
"validityPeriod": "2025-12-04T11:00:00+07:00",
"additionalInfo": {
"acquirer": 3,
"items": [
{
"id": "idasd1239aks001",
"name": "Qris",
"quantity": "1",
"price": {
"value": 10,
"currency": "IDR"
}
}
],
"customerDetails": {
"email": "[email protected] ",
"firstName": "John.",
"lastName": "Doe",
"phone": "085688983935"
}
}
}
Field Name Field Type Field Description additionalInfo Object (Required) Additional information. additionalInfo.acquirer Integer (Required) Usable ID Acquirer. additionalInfo.amount Object of Array (Required) Amount Object additionalInfo.amount.currency String (Required) Amount currency additionalInfo.amount.value String (Required) Amount value additionalInfo.createdAt Object (Required) Object transaction created additionalInfo.createdAt.dateTime String (Required) Datetime transaction created merchantName String (Optional) Merchant Name. partnerReferenceNo String (36) (Optional) partnerReferenceNo from the request body qrContent String(512) (Conditional) QR String MPM.
If qrContent is null, then qrUrl or qrImage must be filled. qrImage String (Optional) base64 from image QRIS.
Max length is unlimited. qrUrl String (Optional) QR URL for download QR Image referenceNo String(64) (Optional) Transaction identifier on service provider system. responseCode String(7) (Required) Response Code (HTTP status code + service code + case code) responseMessage String(150) (Required) Description of charge result response. storeId String (Optional) unique shop id on the merchant side. terminalId String (Optional) Merchant terminal id
{
"additionalInfo": {
"acquirer": 3,
"amount": {
"currency": "IDR",
"value": "10000.00"
},
"createdAt": {
"dateTime": "2025-12-04T11:23:11+07:00",
"offset": {
"totalSeconds": 0
},
"zone": {
"totalSeconds": 0
}
},
"merchantCrossRefId": "",
"recurring": false,
"transactionType": "MERCHANT_TRANSACTION"
},
"merchantName": "",
"partnerReferenceNo": "TestPartNo0002",
"qrContent": "00020101021226580011id.qoin.www01189360084202020002110210Q2023002110303UME51370014ID.CO.QRIS.WWW0215ID0000202300211520458125303360540410005802ID5914Qoin Hub Store6007Jakarta61051321062200112QD00000005810700630459B2",
"qrImage": "",
"qrUrl": "",
"referenceNo": "T25120000152183",
"responseCode": "2004700",
"responseMessage": "Successful",
"storeId": "",
"terminalId": ""
}
Response Code HTTP Status Description 2004700 200 Successful 4004700 400 X-TIMESTAMP is not valid 4004701 400 Invalid Field Format 4004702 400 Invalid Mandatory Field 4014700 401 Unauthorized. [Invalid Signature] 4044708 404 Invalid Merchant 4044717 404 Invalid Terminal 4094701 409 Duplicate partnerReferenceNo 5004701 500 Internal server error