# Decode QRIS

## **Method and URL**

`POST` \[BASE\_URL]/wallet-backend/snap/v1.0/qr/qr-mpm-decode

Purpose:  Endpoint to decode qr content to get QRIS detail. Use this if you want to use your own UI.<br>

Authorization:

* B2B Token&#x20;
* B2B2C Token

## **Request**

**Request Header**

<table><thead><tr><th>Header</th><th width="124.7080078125">Requirement</th><th>Description</th></tr></thead><tbody><tr><td>Content-Type</td><td>Mandatory</td><td>application/json</td></tr><tr><td>Authorization</td><td>Mandatory</td><td>Bearer {B2B_access_token}</td></tr><tr><td>Authorization-Customer</td><td>Mandatory</td><td>Bearer {B2B2C_access_token}</td></tr><tr><td>X-SIGNATURE</td><td>Mandatory</td><td><p>HMAC signature generated as per SNAP specification</p><p><br></p><p>HMAC_SHA512 (clientSecret, stringToSign) </p><p>stringToSign = HTTPMethod +”:“+ EndpointUrl +":"+ AccessToken +":“+ Lowercase(HexEncode(SHA-256(minify(RequestBody))))+ ":“ + TimeStamp</p></td></tr><tr><td>X-TIMESTAMP</td><td>Mandatory</td><td>Request timestamp in yyyy-MM-dd'T'HH:mm:ssXXX (ISO 8601 with offset)</td></tr><tr><td>X-PARTNER-ID</td><td>Mandatory</td><td>Partner ID assigned by Pivot</td></tr><tr><td>X-EXTERNAL-ID</td><td>Mandatory</td><td>Unique ID per request for idempotency / tracing</td></tr><tr><td>CHANNEL-ID</td><td>Mandatory</td><td>Channel identifier (e.g., 12345)</td></tr></tbody></table>

**Request Body**

```json
{
    "qrContent": "00020101021126660014ID.LINKAJA.WWW011893600911000000000802152103124400000080303UMI51440014ID.CO.QRIS.WWW0215ID20210652077750303UMI5204839853033605802ID5922YAY BAKTI KAMAJAYA IND6006SLEMAN61055528162070703A016304FA4D",
    "scanTime": "2025-12-18T15:27:11+07:00",
    "additionalInfo": {}
}
```

**Request Parameter Detail**&#x20;

<table><thead><tr><th>Parameter</th><th width="102.7744140625">Data Type</th><th width="122.5576171875">Character Limit</th><th width="128.8486328125">Requirement</th><th>Description</th></tr></thead><tbody><tr><td>qrContent</td><td>String</td><td>512</td><td>Mandatory</td><td>QR String MPM</td></tr><tr><td>scanTime</td><td>String</td><td>25</td><td>Mandatory</td><td><p>The time when the QRIS scanned by the User</p><p>ISO 8601</p></td></tr><tr><td>additionalInfo</td><td>Object</td><td><br></td><td>Optional</td><td>Additional information for custom use that are not provided by SNAP</td></tr></tbody></table>

## **Response**

**Response Body**

```json
{
    "additionalInfo": {
        "merchantId": "210312440000008",
        "qrisId": "028e52ff-4427-42be-9b91-f0b9d0ad9a23",
        "qrisType": "ISSUING_STATIC"
    },
    "merchantCategory": "8398",
    "merchantInfos": [
        {
            "acquirerName": "LINKAJA",
            "merchantPAN": "9360091100000000080"
        }
    ],
    "merchantLocation": "SLEMAN        55281 ID",
    "merchantName": "YAY BAKTI KAMAJAYA IND",
    "responseCode": "2004800",
    "responseMessage": "Successful"
}

```

**Response Parameter Detail**

<table><thead><tr><th>Parameter</th><th width="102.935546875">Data Type</th><th width="135.7998046875">Character Limit</th><th width="122.0859375">Requirement</th><th>Description</th></tr></thead><tbody><tr><td>responseCode</td><td>String</td><td>7</td><td>Mandatory</td><td>Response code. 2005500 indicates success.</td></tr><tr><td>responseMessage</td><td>String</td><td>100</td><td>Mandatory</td><td>Description of the result, e.g., Successful.</td></tr><tr><td>merchantCategory</td><td>String</td><td>32</td><td>Mandatory</td><td>Merchant category Mandatory if H2H mode</td></tr><tr><td>merchantInfos</td><td>Object</td><td><br></td><td>Mandatory</td><td><br></td></tr><tr><td>merchantInfos.acquirerName</td><td>String</td><td>50</td><td>Mandatory</td><td>Acquirer Name , Mandatory if using Host to Host mode for transaction</td></tr><tr><td>merchantInfos.merchantPAN</td><td>String</td><td>19</td><td>Mandatory</td><td>Merchant location Mandatory if H2H mode</td></tr><tr><td>merchantLocation</td><td>String</td><td>25</td><td>Mandatory</td><td>Merchant location Mandatory if H2H mode</td></tr><tr><td>merchantName</td><td>String</td><td>25</td><td>Mandatory</td><td>Reference name Mandatory if H2H mode</td></tr><tr><td>additionalInfo</td><td>Object</td><td><br></td><td>Optional</td><td>Additional information for custom use that are not provided by SNAP</td></tr><tr><td>additionalInfo.merchantId</td><td>String</td><td>20</td><td>Mandatory</td><td><br></td></tr><tr><td>additionalInfo.qrisId</td><td>String</td><td>32</td><td>Mandatory</td><td><br></td></tr><tr><td>additionalInfo.qrisType</td><td>String</td><td>20</td><td>Mandatory</td><td><br></td></tr></tbody></table>

\ <br>
