Skip to main content

Generate QR MPM

Specification

The Following tabel is spesification for this API :

API NameGenerate QR MPM
FunctionThis API is used to create QRIS from merchant to Paydia as the acquirer
Service Code47
MethodPOST
URL/snap/v1.0/qr/qr-mpm-generate
Acceptapplication/json
Content Typeapplication/json
Related ServiceQRIS 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:

The following table is Header of Request Parameters :

NoNameTypeLengthRequiredConditionRemarks
1Content-TypeStringVariable, 127 maxMandatory-Content type, value always application/json
2AuthorizationStringVariableMandatory-Contains B2B Bearer JWT Token, you've got it from Access Token B2B
3X-TIMESTAMPStringFixed, 25 maxMandatory-Transaction date time, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
4X-PARTNER-IDStringVariable, 36 maxMandatory-ID for partner was generated by Paydia. Unique ID for a partner
5X-EXTERNAL-IDStringVariable, 36 maxMandatory-Unique messaging reference ID generated by merchant. Numeric String. Reference number that should be unique in the same day
6CHANNEL-IDStringVariable, 5 maxMandatory-Device identification on which the API services is currently being accessed by the end user (customer)
7X-SIGNATUREStringVariableMandatory-Signature need to be generated with Symmetric Signature method

Body

The following table is a body of request parameter:

NoNameTypeLengthRequiredConditionRemarks
1merchantidStringVariable, 64 maxMandatory-Merchant identifier that is unique per each merchant
2storeIdStringVariable, 64 maxOptional-Unique shop ID in merchant side
3terminalIdStringVariable, 16 maxOptional-Identifier that is unique per each merchant
4partnerReferenceNoStringVariable, 64 maxMandatory-Unique transaction identifier on partner system which assigned to each transaction
5amountMoneyVariableMandatory-Contains two sub-fields:
  1. Value: Transaction amount, including the cents
  2. Currency: Currency code based on ISO
6feeAmountMoneyVariableOptional-Contains two sub-fields:
  1. Value: Transaction amount, including the cents
  2. Currency: Currency code based on ISO
7validityPeriodStringFixed, 25 maxOptional-The time when the QRIS valid, in format YYYY-MM-DDTHH:mm:ss+07:00. Time must be in GMT+7 (Jakarta time)
8additionalInfoJSON ObjectVariableOptional-Additional information
9additionalInfo.callbackStringVariableOptional-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:

NoNameTypeLengthRequiredConditionRemarks
1responseCodeStringFixed, 7 maxMandatory-Refer to response code list
2responseMessageStringVariable, 150 maxMandatory-Refer to response code list
3referenceNoStringVariable, 64 maxOptional-Transaction identifier on Paydia
4partnerReferenceNoStringVariable, 64 maxOptional-Unique transaction identifier on partner system which assigned to each transaction
5qrContentStringVariable, 512 maxMandatory-QR String MPM
6merchantNameStringVariable, 25 maxOptional-Merchant name
7storeIdStringVariable, 64 maxOptional-Unique shop ID in merchant side
8terminalIdStringVariable, 16 maxOptional-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:

NoResponse CodeResponse MessageRemarks
12004700SuccessfulSuccess to be processed
24004701Invalid Field FormatInvalid format for certain field
34004702Invalid Mandatory FieldMissing or invalid format on mandatory field
44014700Unauthorized. [reason]General unauthorized error
54014701Invalid Token (B2B)Invalid or Expired Access Token
64034702Exceeds Transaction Amount LimitMinimum or maximum amount limit
74044708Invalid MerchantMerchant does not exist or status abnormal
84094700ConflictCannot use same X-EXTERNAL-ID in same day
94094701Duplicate partnerReferenceNoDuplicate partnerReferenceNo
105004702Backend system failure500 internal server error