Introduction
Accept QR Code Payments Effortlessly with our API Integration. Simplify the process of accepting QR code-based payments using our API. Streamline your payment operations and provide a secure, convenient, and contactless payment option for your customers. Seamlessly integrate QRIS technology to expand your payment capabilities and stay ahead of the trend.
Request
You need to authenticate your requests to access any endpoint in the 98Pays API.
Request
- Name
reference- Type
- mandatory
- Description
A unique reference number or identifier for the transaction. all transaction references should be unique.
- Name
amount- Type
- mandatory
- Description
Amount your user should paid to complete the transaction
- Name
expiryMinutes- Type
- opsional
- Description
If you want the transaction to last for 1 hour, you would set the value of the expiryMinutes parameter to 60.
- Name
viewName- Type
- mandatory
- Description
The name or identifier of the receiver for the transaction.
- Name
additionalInfo.callback- Type
- mandatory
- Description
The callback URL where notifications or updates related to the transaction will be sent.
You need to authenticate your Headers request to access any endpoint in the 98Pays API, to see the authentication documentation please read the Authentication section.
Request Json
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '{{HOST}}/qris',
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 =>'{
"reference": "REFF012",
"amount": 10000,
"expiryMinutes": 30,
"viewName": "Merchant Name",
"additionalInfo": {
"callback": "http://your-site-callback.com/notify"
}
}',
CURLOPT_HTTPHEADER => array(
'X-Client-Key: ',
'X-Client-Token: ',
'X-Signature: '
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Response Details
- Name
responseCode- Description
The HTTP response code indicating the status of the request. See the Error Codes section for details.
- Name
responseMessage- Description
A descriptive message indicating the status of the request.
- Name
responseData- Description
An object containing the data related to the transaction response.
- Name
responseData.id- Description
98Pays unique identifier for the transaction.
- Name
responseData.status- Description
The current status of the transaction.
success,pending,expired,failed.
- Name
responseData.feePayer- Description
The party responsible for paying the transaction fee.
customerormerchant.
- Name
responseData.amount- Description
The original amount associated with the transaction.
- Name
responseData.fee- Description
The fee charged for the transaction.
- Name
responseData.totalAmount- Description
The total amount (original amount + fee) for the transaction.
- Name
responseData.expiredDate- Description
The date and time when the transaction will expire.
- Name
responseData.additionalInfo.callback- Description
The callback URL where notifications or updates related to the transaction will be sent.
- Name
responseData.qris.content- Description
The code representing the generated barcode for users to scan.
- Name
responseData.qris.image- Description
Barcode generated and converted to base64 image.
- Name
responseData.qris.url- Description
The url for redirect to the success page or failed page after the user scan the barcode.
If you want to see the error code status, please read the Extras >> Error Code section.
Response Json
{
"responseCode": 200,
"responseMessage": "success",
"responseData": {
"id": "66e934f6-f5d6-4f1c-bb3d-450ec2873782",
"merchantRef": "REFF012",
"status": "pending",
"feePayer": "customer",
"amount": 10000,
"fee": 85,
"totalAmount": 10085,
"expiredDate": "2025-03-23T10:24:58+07:00",
"additionalInfo": {
"callback": "http://your-site-callback.com/notify"
},
"qris": {
"content": "00020101021226640017ID.CO.DANAMON.WWW0118936000110000274394021010319543930303UME51440014ID.CO.QRIS.WWW0215ID10243618787380303UME627601161757471499309912051666e934f6f5d64f1c07091540393439919000200010931546444853033605405194776014BANDAR LAMPUNG520489995907TopUpKu5802ID610535122630436F3",
"image": "data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAe8AAAHvCAYAAAB9iVfNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAANrklEQVR4nO3cwW7jyhVF0Sjw\/\/8yMwt6YLww7aLr7uJaY4OSqLI2ODmf67r+BQB0\/Hv3GwAA\/j\/iDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMV9PXfjz+VxPXbvsuq7Pnb+7e\/+mX++uu6+72in3Zfr3sev3YNf\/x3TTz\/0pnjwvnrwBIEa8ASBGvAEgRrwBIEa8ASBGvAEgRrwBIEa8ASBGvAEg5rGFtbvetlg0\/XV3LU2dsvj0tkW0Xf+\/08\/BLqd8b9NNOFeevAEgRrwBIEa8ASBGvAEgRrwBIEa8ASBGvAEgRrwBIEa8ASBm+8LaXdMXs3bZtay1eslp+uLTKZ\/3runfx+rrrT73q00\/L6u5z\/+bJ28AiBFvAIgRbwCIEW8AiBFvAIgRbwCIEW8AiBFvAIgRbwCIySys8b3VS0S7FttWm76UtOu+3LVree6U6023+r7w+zx5A0CMeANAjHgDQIx4A0CMeANAjHgDQIx4A0CMeANAjHgDQIyFtaF2LUi9zSmLWautvi\/Tl84su1HjyRsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBiMgtrb1sI27Ugtcsp3+\/q+7zrvuw6L9PP6a5Fw1P+P+562+f9G568ASBGvAEgRrwBIEa8ASBGvAEgRrwBIEa8ASBGvAEgRrwBIGb7wtr0RaXp7i4RrV6Gcr3fud5d05e\/Tvk+XO9n\/N6v48kbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYj7XZfDmDVYvG61eXrpr1+c4ZeHqLktYP3PKOWAuT94AECPeABAj3gAQI94AECPeABAj3gAQI94AECPeABAj3gAQ8\/XUhacveu1akJr+OVYvQ602\/f2tdsrnuGv6otz093fX9M9xyv\/5k\/fZkzcAxIg3AMSINwDEiDcAxIg3AMSINwDEiDcAxIg3AMSINwDEPLawtsv0JaJTFtF23ZfpS1irWZr63upzsPo+73rdu6b\/Hqx2yv\/Rnzx5A0CMeANAjHgDQIx4A0CMeANAjHgDQIx4A0CMeANAjHgDQMznuvYOyuxazNq1pDN9aWq10mLRCtOXnE75P7rLuf+Z6ed5telLcX\/y5A0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAxX09dePXy1ymLVKudspg1fXnu7vVW37\/p\/x+nmP697breLs79\/+bJGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGIeW1hbveAzfXHnlIWm1aYvOd01fclu+nmZ\/v971677corp5\/SuCe\/PkzcAxIg3AMSINwDEiDcAxIg3AMSINwDEiDcAxIg3AMSINwDEfK7rmUGjCQs0\/2TX+3vbgtSuJbFdpn+\/p5i+2Db9\/+gu9\/lnLKwBAP8l3gAQI94AECPeABAj3gAQI94AECPeABAj3gAQI94AEPO1+w28bZln+kLYdLsWkKYv8p1yru5+3tX3Zdfv0PTfv+mLY9Pf35M8eQNAjHgDQIx4A0CMeANAjHgDQIx4A0CMeANAjHgDQIx4A0DMYwtrpaWaFaYvOU1f\/tp1X+7atcQ2\/f\/olAW46ctf002\/f9PP39\/w5A0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAxn+tqDAFNX9w5ZVFp+hLbLrsW5XYt1O36Pk45L3e97VztcuL\/kSdvAIgRbwCIEW8AiBFvAIgRbwCIEW8AiBFvAIgRbwCIEW8AiNm+sLZrUam0pDPR9CUs5+pnpi9r7VocO8X07\/euNy9CevIGgBjxBoAY8QaAGPEGgBjxBoAY8QaAGPEGgBjxBoAY8QaAmK+nLvy2hatTXne1Xedg+gLX9HO12vTzfMr\/765zetfqz7v6\/3fCctpdnrwBIEa8ASBGvAEgRrwBIEa8ASBGvAEgRrwBIEa8ASBGvAEg5rGFtbctXK2+3vSFutIS0T+Zfk7v8n38zvXumv7+VvP+vvfk\/6UnbwCIEW8AiBFvAIgRbwCIEW8AiBFvAIgRbwCIEW8AiBFvAIh5bGFtl+mLSruc8nmnL4ntui\/Tz99d08\/V9CW21U45Vyfy5A0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAxmYW1XUtE05eNVt+XXffZMtn3pp+\/1dfbda7uvu707+Ntv3+r7Vra+xuevAEgRrwBIEa8ASBGvAEgRrwBIEa8ASBGvAEgRrwBIEa8ASBm+8LargWf1aYvIE1YBFph9ec4ZUFq+vlbbdfnXW3XQuJqbzt\/E3jyBoAY8QaAGPEGgBjxBoAY8QaAGPEGgBjxBoAY8QaAGPEGgJjHFtZOWfS6a\/rSz66Fpredg12mn7+3edv\/0SlLe6XlPk\/eABAj3gAQI94AECPeABAj3gAQI94AECPeABAj3gAQI94AEPO5rmeGe3Yt3\/Azu5aIdi0bOVe\/45RzMP1z3OXc\/44nv19P3gAQI94AECPeABAj3gAQI94AECPeABAj3gAQI94AECPeABDztfsNrF76mb6ANH3ZaNd92bU0tcv0z3vKOX3b6+46V9OX4k5c8vTkDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMeINADGf69o7KFNatPlNu5bd3rb8dcrnnb5wddf0c3\/K75XP2+fJGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGK2L6zdtWvJafpC0ymvu2tZ6663LX9Nf11+5pTzcteJ58qTNwDEiDcAxIg3AMSINwDEiDcAxIg3AMSINwDEiDcAxIg3AMQ8trC2a1nrLks\/33vb8tfbvo9drzt9ie2U34NTPscu08\/pnzx5A0CMeANAjHgDQIx4A0CMeANAjHgDQIx4A0CMeANAjHgDQMz2hbXV3rb0M32hyfv7ndddzX3+HdMXCFezqLmOJ28AiBFvAIgRbwCIEW8AiBFvAIgRbwCIEW8AiBFvAIgRbwCI+XrqwruWfqYvk9193enLUG97f6ecq1OWye6avmC263dy+nmZ\/nkn8OQNADHiDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMY8trL1tIWf68tKuxaxT3t\/0151+rqYvV51y\/nYtPU7\/vd\/1\/p7kyRsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBiPtf1zPDR9GWtu6YvQ602fTFr+hLW287z6s9rKe53nLKctuv83fXk74EnbwCIEW8AiBFvAIgRbwCIEW8AiBFvAIgRbwCIEW8AiBFvAIj52v0Gpi8WnbKYtfpz7Fpomr6ANP397XrdUxbq3nZfVv+f7\/q9n96Zv+HJGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGI+13Xc8Mwtq5eNdl3vrl2fY7Vd72\/6606369zfdcr3Nv3\/fPp9KfHkDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMeINADFfu9\/A2xakdr3u25bTVl9v+kKTJcBZ1zvlvEw3\/Zw+yZM3AMSINwDEiDcAxIg3AMSINwDEiDcAxIg3AMSINwDEiDcAxHyu65mBs12LXtMXn3aZ\/jmmL7vxvVMW\/t7mlHM\/\/XfjyffnyRsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBiHltY42dOWTqbsET0m3Yt\/K02\/Xtb\/f52Xe+u6a+72vSFzgm\/V568ASBGvAEgRrwBIEa8ASBGvAEgRrwBIEa8ASBGvAEgRrwBIOaxhbVdC2HTvW0R6JSluNVOWQh727m6y\/n7netN9+Q58OQNADHiDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMV+738D0JaK7Vi8C7Vq4Wv05pi96WXL6mV3nZbq3LQtOf91T\/s\/\/5MkbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYrYvrN31tsWiu1Yvk61eLJq+bLRrAe5t9++uty38TTf9\/L35e\/PkDQAx4g0AMeINADHiDQAx4g0AMeINADHiDQAx4g0AMeINADGZhbW3sVw163q77DoHu76P6d\/b9Pu3y\/Tv7a5dv5N\/w5M3AMSINwDEiDcAxIg3AMSINwDEiDcAxIg3AMSINwDEiDcAxFhYi5u+0DR9GWq11QtN0xep3rYAd\/d60z\/H9N+DXee+9HvlyRsAYsQbAGLEGwBixBsAYsQbAGLEGwBixBsAYsQbAGLEGwBiMgtrpeWbFaYvp01fkFq90DT9c+y6L9PP6erXnf47tOvc3zV9MXD6ef6TJ28AiBFvAIgRbwCIEW8AiBFvAIgRbwCIEW8AiBFvAIgRbwCI2b6wNn1xh++dsujl\/H1v+tLU9AW91aYv8t293q7Ftum\/Q3\/DkzcAxIg3AMSINwDEiDcAxIg3AMSINwDEiDcAxIg3AMSINwDEfK7LwBQAlHjyBoAY8QaAGPEGgBjxBoAY8QaAGPEGgBjxBoAY8QaAGPEGgBjxBoAY8QaAGPEGgBjxBoAY8QaAGPEGgBjxBoAY8QaAGPEGgBjxBoAY8QaAGPEGgBjxBoCY\/wBM8zc4uTf\/rgAAAABJRU5ErkJggg==",
"url": "",
"rrn": "1234566" //callback if transaction succces
}
}
}
