---
title: QRIS - API Checkout
slug: en/nicepay-api-qris-payment-api-checkout
description: Information about API Checkout - Payment for QRIS payment method provided by NICEPAY
image: https://archbee-image-uploads.s3.amazonaws.com/ZHvSjR5ZrsoxwKbJa3xmo/gb-pTWM9xMJUZmdtdAmBB_microsoftteams-image.png
icon: {"faIcon":"fa-solid fa-credit-card"}
docTags: 
createdAt: 2022-12-19T10:11:50.000Z
---

# About QRIS - API Checkout&#x20;

***

This API uses by Merchant to requests a payment to the NICEPAY for QRIS payment method using Checkout API.



# Process Flow

***

![QRIS Process Flow](https://api.archbee.com/api/optimize/ZHvSjR5ZrsoxwKbJa3xmo/_wtkHu0TMt0wTFc0TglEl_nicepay-archbee-payment-qris-redirect-v2.png "QRIS Process Flow")

Steps description:

1. The Customer does checkout.
2. The Customer sends data checkout to Merchant.
3. The Merchant sends request checkout using API Registration to NICEPAY.
4. NICEPAY does checkout registration process.
5. NICEPAY redirects Merchant to NICEPAY payment page.
6. Merchant displays NICEPAY page to the Customer.
7. The Customer chooses payment method.
8. The Customer scan QR and send the process result to QRIS Partner.
9. QRIS Partner does payment process.
10. QRIS Partner sends payment note transaction result to the Customer.
11. QRIS Partner sends notification or payment message to NICEPAY.
12. NICEPAY updates payment status.
13. NICEPAY sends `dbProcessUrl` notification to Merchant.
14. Merchant receives notification.
15. Merchant request status inquiry to NICEPAY.
16. NICEPAY receives the request.
17. NICEPAY sends status inquiry response to Merchant.
18. Merchant receives final status.
19. Merchant sends result page transaction to the Customer.

:::hint{type="info"}
Before making an API calls for [Transaction Payment](docId\:o-4MmsbwXtZIb0ydniohw), execute the Transaction Registration first.
:::



# NICEPAY Secure Payment Page

***

![Secure Payment Page](https://api.archbee.com/api/optimize/ZHvSjR5ZrsoxwKbJa3xmo/5EARwUJAR5medSH9j-vpw_image-en-nicepay-secure-payment-page-main-dashboard.jpg "Secure Payment Page")

The image above is a sample of checkout payment procedures with the QRIS method using the NICEPAY Secure Payment Page.

:::hint{type="warning"}
The Customer can't go back to the Secure Payment page after choosing the QRIS payment method because the QR code transaction has already been generated successfully and is ongoing.

If the payment method needs to be changed, the Merchant must re-create the transaction starting from the initial transaction.
:::

![QRIS - Secure Payment Page](https://api.archbee.com/api/optimize/ZHvSjR5ZrsoxwKbJa3xmo/D7o3Py-o6BY5uK7jZ0W16_image-en-qris-secure-payment-page.jpg "QRIS - Secure Payment Page")

After choosing the QRIS method, the QR code will appear on the next page. The Customer can scan the code directly by following the [QRIS Payment Guide](docId\:M3uSaoOJR3CzlR0UUfIwb) or download the image firsthand through the `Download QR Image` button.

![Success - Secure Payment Page](https://api.archbee.com/api/optimize/ZHvSjR5ZrsoxwKbJa3xmo/8GaM-4gTPe2lzMdT7Raz4_image-en-qris-success-secure-payment-page.jpg "Success - Secure Payment Page")

:::hint{type="warning"}
If the QR code hasn't been used on the transaction but has already expired, the Customer must repeat the generated QR code process by returning to the checkout page first.
:::



# API Checkout Transaction Payment

***

| **API url**         | `/nicepay/redirect/v2/payment`&#xD;         |
| ------------------- | ------------------------------------------- |
| **Request Method**  | `Redirect-GET`                              |
| **Header**          | `Content-Type: application/Form-UrlEncoded` |



## Request Parameter for QRIS - API Checkout (CallbackUrl)

***

The following are Request Parameter lists for QRIS Payment API on Checkout API.

| **Parameter**                                             | **Tipe** | **Ukuran** | **Deskripsi**         | **Contoh / Catatan**                                                                                                |
| --------------------------------------------------------- | -------- | ---------- | --------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `paymentURL`  <br /><font color="#2166ae">Required</font> | URL      | 14         | Payment URL<br />     | [https://www.nicepay.co.id/nicepay/redirect/v2/payment](https://www.nicepay.co.id/nicepay/redirect/v2/payment)&#xD; |
| `tXid` <br /><font color="#2166ae">Required</font>        | AN       | 30         | Transaction ID	<br /> | IONPAYTEST00202103191252519205                                                                                      |



## Response Parameter for QRIS - API Checkout (CallbackUrl)

***



| **Parameter**    | **Tipe** | **Ukuran** | **Deskripsi**                                              | **Contoh / Catatan**                                                                                             |
| ---------------- | -------- | ---------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `resultCd`       | N        | 4          | [Result Code](docId:9eC3yH9CQqpb6cRWauWWO)                 | 0000                                                                                                             |
| `resultMsg`      | AN       | 255        | Result Message: [Error Code](docId\:FsX1GESJKxOp0T9rvUHp_) | Success                                                                                                          |
| `tXid`           | AN       | 30         | Transaction ID	<br />(Key from NICEPAY)                    | TESTTEST0300202008070951284276<br /><br />When success                                                           |
| `referenceNo`    | ANS      | 40         | Order Number                                               | ord20200807090809<br /><br />When success                                                                        |
| `amount`         | N        | 12         | Transaction Amount                                         | 1000<br /><br />When success                                                                                     |
| `transDt`        | N        | 8          | Registration Date (`YYYYMMDD`)	                            | 20200808<br /><br />When success                                                                                 |
| `transTm`        | N        | 6          | Registration Time (`HH24MISS`)	                            | 120000<br /><br />When success                                                                                   |
| `description`   | AN       | 100        | Transaction Description	                                   | This is Testing Transaction	<br /><br />When success                                                             |
| `authNo`        | N        | 10         | Approval Number	                                           | 1234567890<br /><br />When success – Only CC (Additional)                                                        |
| `recurringToken` | AN       | 255        | Recurring Token                                            | 5b949971aea6d468bebef20fec7b067abde88e52a4520925cd28dfa840ce5abc	<br /><br />When success – Only CC (Additional) |
| `cardNo`         | ANS      | 20         | Card Number with Masking	                                  | 420192\*\*2327<br /><br />When success – Only CC                                                                 |
| `acquBankCd`     | A        | -          | [Acquiring Bank Code](docId\:HlxvgrXVxWD90n8ohNKm0)        | BMRI<br /><br />When success – Only CC                                                                           |
| `issuBankCd`     | A        | -          | [Issuing Bank Code](docId\:HlxvgrXVxWD90n8ohNKm0)          | OTHR<br /><br />When success – Only CC                                                                           |
| `vat`           | N        | 12         | VAT Number                                                 | 0<br /><br />When success&#xD;, CC                                                                               |
| `fee`            | N        | 12         | Service Fee	                                               | 0<br /><br />When success&#xD;, CC                                                                               |
| `notaxAmt`       | N        | 12         | Tax Free Amount	                                           | 0<br /><br />When success&#xD;, CC                                                                               |
| `bankCd`         | A        | 4          | [Bank Code](docId\:HlxvgrXVxWD90n8ohNKm0)                  | BMRI                                                                                                             |
| `mitraCd`        | A        | 4          | [Mitra Code](docId:0luP35KfOWksiSrzKx6yZ)                  | OVOE<br /><br />When success Direct Debit, E-Wallet, Paylater                                                    |
| `bankVacctNo`    | N        | 20         | VA Number	                                                 | 447770956314286<br /><br />When success – VA                                                                     |
| `payNo`          | N        | 20         | Payment number                                             | 9041071059504308<br /><br />When success – CVS                                                                   |
| `currency`       | A        | 3          | Currency                                                   | IDR<br /><br />When success – E-Wallet, Paylater                                                                 |
| `goodsNm`        | AN       | 100        | Goods name                                                 | Testing Transaction NICEPAY <br /><br />When success – E-Wallet, Paylater                                        |
| `billingNm`      | A        | 100        | Billing Name                                               | IONPAY NETWORK TESTING<br /><br />When success – E-Wallet, Paylater                                              |
| `payMethod`      | N        | 2          | [Payment Method Code](docId\:NQ1y7vMa25ZtvQHN5He6W)        | 03<br /><br />When success – E-Wallet, Paylater                                                                  |

:::hint{type="info"}
Note: The response parameter will be sent through `callbackUrl` with Content-type: `application/json` and method: `POST Parameter`.
:::



## Sample Parameter for QRIS - API Checkout (CallbackUrl)

***

:::hint{type="success"}
On the payment in Checkout, the response from the request that gets hit is the Callback URL.
:::

### Request Parameter

:::CodeblockTabs
cURL

```curl
curl -X GET "https://www.merchant.com/callbackUrl?ccTransType=1&fee=0&tXid=IONPAYTEST00202212201540174369&amt=1000&notaxAmt=0&cardNo=46161111****1111&issuBankCd=BMRI&matchCl=1&preauthToken=null&cardExpYymm=2603&acquBankNm=Mandiri&payMethod=01&currency=IDR&instmntMon=1&cc_trans_type=1&issuBankNm=Mandiri&merchantToken=dc1dd9e57ff6c4db341654ae31e623cab4d4d8057b2d0b58bef43ccb0da3b494&goodsNm=Goods+For+Testing+Credit+Card&referenceNo=ordNo20221220151243&authNo=174300&transTm=154017&cpGuaranteeableStatus=null&recurringToken=null&vat=0&instmntType=1&billingNm=John+Doe&acquBankCd=BMRI&transDt=20221220&status=0"
```
:::

### Callback Parameter

:::CodeblockTabs
Response Callback

```curl
resultCd=0000
resultMsg=SUCCESS
tXid=IONPAYTEST00202212211103524783
referenceNo=ORDERKU345
payMethod=09
amt=12000
billingNm=John+Doe
authNo=150367
cardNo=62210082****0590
acquBankCd=ARTJ
issuBankCd=ARTJ
acquBankNm=Artajasa
issuBankNm=Artajasa
```
:::



## Callback Handling API Checkout Transaction Payment

***

:::hint{type="success"}
When Your Callback already received `callbackUrl`, we recommended the Merchant to do the status verification using the [Status Inquiry - API Checkout](docId\:RhH7PmISd6IHN99yWVJHm).
:::

:::hint{type="warning"}
`Callback Handling` is very important to minimize the Fraud act, we highly recommend the Merchant to do the verification using `Callback parameter`.
:::

::Image[]{src="https://app.archbee.com/api/optimize/ZHvSjR5ZrsoxwKbJa3xmo/OUMptNJjJPMmefkBqRpQS_nicepay-api-checkout-api-callback-handling-flow-1.png" size="50" width="370" height="361" position="center" caption="Callback Handling Flow" alt="Callback Handling Flow" showCaption="true"}

:::CodeblockTabs
URL Callback

```none
https://merchant.com/callback-nicepay?resultCd=0000&resultMsg=SUCCESS&tXid=IONPAYTEST00202212211103524783&referenceNo=ORDERKU345&payMethod=09&amt=12000&billingNm=John+Doe&authNo=150367&cardNo=62210082****0590&acquBankCd=ARTJ&issuBankCd=ARTJ&acquBankNm=Artajasa&issuBankNm=Artajasa
```

Response Callback

```json
resultCd=0000
resultMsg=SUCCESS
tXid=IONPAYTEST00202212211103524783
referenceNo=ORDERKU345
payMethod=09
amt=12000
billingNm=John+Doe
authNo=150367
cardNo=62210082****0590
acquBankCd=ARTJ
issuBankCd=ARTJ
acquBankNm=Artajasa
issuBankNm=Artajasa
```
:::



