---
title: "Generate QR"
method: POST
path: "/v2/qr/generate"
---

# Generate QR

`POST /v2/qr/generate`

## Request

- Base URL: `https://api.paymongo.com`
- URL: `https://api.paymongo.com/v2/qr/generate`
- Auth: HTTP basic

Generate a static or dynamic QR to receive money into your PayMongo account

## Request body

- object
  - `merchant_globally_unique_identifier` 'com.p2pqrpay' | 'ph.ppmi.p2b' | 'ph.ppmi.p2m' | 'ph.ppmi.p2micro', required: Determines P2P/B/M/micro
  - `merchant_bic` string, required: BIC of the acquirer, the merchant that will receive funds
  - `merchant_credit_account` string, required: Account number of the merchant in the acquirer system
  - `merchant_name` string, required: Name of the merchant
  - `merchant_city` string, required: City name where merchant is located
  - `country_code` 'PH', required: ISO 3166-1 alpha 2 country code where merchant is located
  - `merchant_category_code` string, required: ISO 18245 MCC, this must be `6016` if merchant_globally_unique_identifier is `com.p2pqrpay`
  - `currency` integer, required: ISO 4217 currency code of 3 digit numeric value, e.g. `608` for PHP
  - `amount` number, float: Amount of transaction in pesos, determines generation of static or dynamic QR, in Pesos
  - `merchant_mobile_number` '\+[0-9]{1,3}-[0-9()+\-]{1,30}': Must match regex `\+[0-9]{1,3}-[0-9]()+\-]{1,30}`
  - `bill_number` string: Arbitrary string of 1-35 length, part of Additional Data Field
  - `mobile_number` '\+[0-9]{1,3}-[0-9()+\-]{1,30}': Must match regex, part of Additional Data Field
  - `store_label` string: Arbitrary string of 1-35 length, part of Additional Data Field
  - `loyalty_number` string: Arbitrary string of 1-35 length, part of Additional Data Field
  - `reference_label` string: Arbitrary string of 1-35 length, part of Additional Data Field
  - `customer_label` string: Arbitrary string of 1-35 length, part of Additional Data Field
  - `terminal_label` string: Arbitrary string of 1-35 length, part of Additional Data Field
  - `purpose_of_transaction` string: Arbitrary string of 1-35 length, part of Additional Data Field
  - `acquirer_flags` '000': A 3 digit flag signifying the type of merchant account identification type for the acquirer. This is required if `merchant_globally_unique_identifier` starts with `ph.ppmi` e.g. `ph.ppmi.p2b`. Defaults to `000`
  - `merchant_id` string: Arbitrary string of 1-35 length. This is required if `merchant_globally_unique_identifier` starts with `ph.ppmi` e.g. `ph.ppmi.p2b`.

## Response `200`

- object
  - `data` string

## Changes

- **2026-11-03** `f9ffaecbfe3d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/paymongo/apis/paymongo-api/changes/v2/qr/generate/post.md)

---

[API](https://skmtc.dev/paymongo/apis/paymongo-api.md) - [All operations](https://skmtc.dev/paymongo/apis/paymongo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/paymongo/apis/paymongo-api/revisions/f9ffaecbfe3d?raw)
