---
title: "Parse QR content"
method: POST
path: "/open-api/v3/scan2pay/common/qr/parse"
tags: ["Common"]
---

# Parse QR content

`POST /open-api/v3/scan2pay/common/qr/parse`

## Request

- Base URL: `https://api-sandbox.interlace.money`
- URL: `https://api-sandbox.interlace.money/open-api/v3/scan2pay/common/qr/parse`
- Auth: API key in header `x-access-token`

Parses raw QR payload content and returns a normalized representation
of the payment data. Optional customer and fiat currency inputs can be
supplied to apply country- or channel-specific parsing rules.

customerId is optional for parsing-only requests. It is required if the
returned qrToken will be used to create a payout order with qrMode set
to TOKEN, because the token is associated with the specified customer.

For the request structure, see the
[QR Parse Request Resource](https://developer.interlace.money/docs/scan-to-pay#qr-parse-request-resource).
For the response structure, see the
[QR Parse Response Resource](https://developer.interlace.money/docs/scan-to-pay#qr-parse-response-resource).

## Request body

- QrParseReqDTO
  - `qrContent` string: Raw QR payload content
  - `customerId` string: Numeric string representing a 64-bit Interlace customer identifier. Optional for parsing-only requests; required if the returned qrToken will be used to create a payout order with qrMode set to TOKEN, because the token is associated with the specified customer
  - `fiatCurrency` string: Optional transaction currency (ISO 4217) used to assist QR parsing

## Response `200`

Successful operation

- ApiResultQrParseRespDTO: Standard API response wrapper
  - `code` string: Business code, 000000 means success
  - `message` string: Message description
  - `data` QrParseRespDTO: Normalized QR parsing result.
    - `country` string: Country code extracted from the QR payload, if available.
    - `transactionCurrency` string: Transaction currency extracted from the QR payload, if available.
    - `transactionAmount` string: Transaction amount extracted from the QR payload, if available.
    - `bankCode` string: Bank or payment channel code extracted from the QR payload, if available.
    - `bankAccountNumber` string: Beneficiary bank account number extracted from the QR payload, if available.
    - `bankName` string: Beneficiary bank or payment institution name extracted from the QR payload, if available.
    - `merchantName` string: Merchant or beneficiary name extracted from the QR payload, if available.
    - `qrType` string: QR type identified by the parser.
    - `content` string: Original QR payload content. Depending on the QR standard, this may be an encrypted string, an EMV or TLV payload, or a payment URL.
    - `crc` string: CRC checksum extracted from the QR payload, if available.
    - `merchantCategoryCode` string: Merchant category code (MCC) extracted from the QR payload, if available.
    - `dynamic` boolean: Indicates whether the QR payload represents a dynamic QR code
    - `qrToken` string: QR parse token that can be reused when creating a payout order
    - `additionalData` object: Additional structured data returned by the parser for country- or channel-specific use cases

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/interlace/apis/scan-to-pay.md) - [All operations](https://skmtc.dev/interlace/apis/scan-to-pay/llms.txt) - [OpenAPI document](https://skmtc.dev/interlace/apis/scan-to-pay/revisions/81f4c583068b?raw)
