Generate QR MPM
Specification
The Following tabel is spesification for this API :
API Name | Generate QR MPM |
---|---|
Function | This API is used to create QRIS from merchant to Paydia as the acquirer |
Service Code | 47 |
Method | POST |
URL | /snap/v1.0/qr/qr-mpm-generate |
Accept | application/json |
Content Type | application/json |
Related Service | QRIS MPM (Acquirer) |
Request
The following part will be describe about parameter of request in this API:
Request Parameter
The following table is a list of request parameter in this API:
Header
The following table is Header of Request Parameters :
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | Content-Type | String | Variable, 127 max | Mandatory | - | Content type, value always application/json |
2 | Authorization | String | Variable | Mandatory | - | Contains B2B Bearer JWT Token, you've got it from Access Token B2B |
3 | X-TIMESTAMP | String | Fixed, 25 max | Mandatory | - | Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) |
4 | X-PARTNER-ID | String | Variable, 36 max | Mandatory | - | ID for partner was generated by Paydia. Unique ID for a partner |
5 | X-EXTERNAL-ID | String | Variable, 36 max | Mandatory | - | Unique messaging reference ID generated by merchant. Numeric String. Reference number that should be unique in the same day |
6 | CHANNEL-ID | String | Variable, 5 max | Mandatory | - | Device identification on which the API services is currently being accessed by the end user (customer) |
7 | X-SIGNATURE | String | Variable | Mandatory | - | Signature need to be generated with Symmetric Signature method |
Body
The following table is a body of request parameter:
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | merchantid | String | Variable, 64 max | Mandatory | - | Merchant identifier that is unique per each merchant |
2 | storeId | String | Variable, 64 max | Optional | - | Unique shop ID in merchant side |
3 | terminalId | String | Variable, 16 max | Optional | - | Identifier that is unique per each merchant |
4 | partnerReferenceNo | String | Variable, 64 max | Mandatory | - | Unique transaction identifier on partner system which assigned to each transaction |
5 | amount | Money | Variable | Mandatory | - | Contains two sub-fields:
|
6 | feeAmount | Money | Variable | Optional | - | Contains two sub-fields:
|
7 | validityPeriod | String | Fixed, 25 max | Optional | - | The time when the QRIS valid, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time) |
8 | additionalInfo | JSON Object | Variable | Optional | - | Additional information |
9 | additionalInfo.callback | String | Variable | Optional | - | URL to be able to receive payment notifications after payment is made by the customer |
Request Sample
The following script is a request sample of this API:
POST /snap/v1.0/qr/qr-mpm-generate
X-TIMESTAMP: 2024-08-05T12:02:26+07:00
X-PARTNER-ID: 4abbcb6ce30229994c76169006e0dc9c
X-SIGNATURE: QLrWsbDuUTp1FBJlM7UGtWb+S7DxqU1NfSa84D0dUmXqkl214D+TktLO7nEu7sqkq7zrmoCI6JCslocyDuLcMQ==
X-EXTERNAL-ID: 1722834154
CHANNEL-ID: 506
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJQYXlkaWEiLCJpYXQiOjE3MjI4MzEyODcsImV4cCI6MTcyMjkxNzY4NywiZGF0YSI6eyJlbnYiOiJwcm9kdWN0aW9uIn19.wFndHWrtUMYIdbTqOtXN1EQR1y2HgafWvu-wti8IIgk
{
"merchantId": "240327001000000",
"storeId": "12345",
"terminalId": "Device 1",
"partnerReferenceNo": "cdcc1c8d-ae4a-4da7-92f2-006aa4e8629d",
"amount": {
"value": "10000.00",
"currency": "IDR"
},
"feeAmount": {
"value": "0.00",
"currency": "IDR"
},
"validityPeriod": "2024-12-31T23:59:59+07:00",
"additionalInfo": {
"callback": "https://webhook.site/0b33c210-236d-4b68-8bdd-76ede4313e5e"
}
}
Response
The following part will be describe about parameter of response in this API:
Response Parameter
The following table is a list of response parameter in this API:
Body
The following table is a body of response parameter:
No | Name | Type | Length | Required | Condition | Remarks |
---|---|---|---|---|---|---|
1 | responseCode | String | Fixed, 7 max | Mandatory | - | Refer to response code list |
2 | responseMessage | String | Variable, 150 max | Mandatory | - | Refer to response code list |
3 | referenceNo | String | Variable, 64 max | Optional | - | Transaction identifier on Paydia |
4 | partnerReferenceNo | String | Variable, 64 max | Optional | - | Unique transaction identifier on partner system which assigned to each transaction |
5 | qrContent | String | Variable, 512 max | Mandatory | - | QR String MPM |
6 | merchantName | String | Variable, 25 max | Optional | - | Merchant name |
7 | storeId | String | Variable, 64 max | Optional | - | Unique shop ID in merchant side |
8 | terminalId | String | Variable, 16 max | Optional | - | Identifier that is unique per each merchant |
Response Sample
The following script is a response sample of this API:
{
"responseCode": "2004700",
"responseMessage": "Successful",
"referenceNo": "f8e564c5be464803973290754",
"partnerReferenceNo": "cdcc1c8d-ae4a-4da7-92f2-006aa4e8629d",
"qrContent": "00020101021226650013ID.PAYDIA.WWW011893600818024032700102152403270010000000303UBE5204829953033605405100005802ID5913 FIRMAN ZAIN6006BEKASI61051711162480125f8e564c5be4648039732907540708Device 10803api63048593",
"merchantName": " Firman Zain",
"storeId": "12345",
"terminalId": "Device 1"
}
Response Code and Message
The following table is the list response code and message of Generate QR MPM API:
No | Response Code | Response Message | Remarks |
---|---|---|---|
1 | 2004700 | Successful | Success to be processed |
2 | 4004701 | Invalid Field Format | Invalid format for certain field |
3 | 4004702 | Invalid Mandatory Field | Missing or invalid format on mandatory field |
4 | 4014700 | Unauthorized. [reason] | General unauthorized error |
5 | 4014701 | Invalid Token (B2B) | Invalid or Expired Access Token |
6 | 4034702 | Exceeds Transaction Amount Limit | Minimum or maximum amount limit |
7 | 4044708 | Invalid Merchant | Merchant does not exist or status abnormal |
8 | 4094700 | Conflict | Cannot use same X-EXTERNAL-ID in same day |
9 | 4094701 | Duplicate partnerReferenceNo | Duplicate partnerReferenceNo |
10 | 5004702 | Backend system failure | 500 internal server error |