v1

latestOpenAPI 3.1.02026-07-24233206489.1 KB

Generate an MPM QR

Generate a Merchant Presenter Mode QR

post/v3/qr/mpm/generate

Request body

nation'ph' required

The nation in which the QR is to be transacted in.

mode'p2p' | 'p2b' | 'p2m' | 'p2micro' required

The QR mode to be used.

type'dynamic' | 'static' required

The type of QR to be generated. Dynamic QRs require the transaction_amount field to be populated, while static QRs will prompt the user for the amount upon scanning.

metadataobject

Arbitrary metadata, to be used for merchants in identifying individual QRs.

transaction_currency'PHP' required

The transaction currency in which the transaction amount will be in (e.g. PHP)

transaction_amountinteger

The transaction amount in the smallest denominator of the transaction currency, e.g. centavos for PHP. This is required for dynamic QRs and must not be specified for static QRs

For example, an amount of 15 Pesos means transaction_amount=1500

expiry_secondsinteger

How many seconds until the QR expires from 60 to 9000 seconds, only applies to dynamic QRs.

qr_imageboolean

Whether or not to include a base64 encoded image of the QR

Response

Example response

{
  "data": {
    "id": "qr_2b384e43e6fb391e2cb1d2a6",
    "nation": "ph",
    "type": "dynamic",
    "mode": "p2m",
    "status": "active",
    "metadata": {
      "nested": {
        "key with space": 123
      },
      "testmetakey": "test"
    },
    "merchant_category_code": "8931",
    "transaction_currency": "PHP",
    "transaction_amount": 1250,
    "country_code": "PH",
    "merchant_name": "12D Wallet account",
    "merchant_city": "Lipa",
    "postal_code": "04217",
    "bic": "PAEYPHM2XXX",
    "merchant_id": "txo6s7rUaoPHLJvNcwQEbsG7",
    "credit_account_number": "753378978189",
    "proxy_notify_flags": "010",
    "reference_label": "R1M",
    "purpose_of_transaction": "***",
    "created_at": "2026-05-27T00:47:11.731581569Z",
    "updated_at": "2026-05-27T00:47:11.731581667Z",
    "expires_at": "2026-05-27T01:47:11.814150714Z",
    "qr_string": "00020101021228810011ph.ppmi.p2m0111PAEYPHM2XXX0324txo6s7rUaoPHLJvNcwQEbsG704127533789781890503010520489315303608540512.505802PH591812D Wallet account6004Lipa61050421762300012ph.ppmi.qrph0503R1M0803***88470012ph.ppmi.qrph0127qr_2b384e43e6fb391e2cb1d2a66304FAEE"
  }
}