Using Payment Request QR Code generation parameters
Use the Request to Pay API to generate market-specific QR codes that help customers initiate payments across supported payment schemes. This page highlights the key fields required to create QR codes in each supported market and shows where requirements differ by country, payment scheme, and QR code type. QR codes can be returned as Base64-encoded images and, in some markets, as QR payload text.
This approach keeps the overview focused on what the feature does, while the disclaimer and tip remain easy to scan and don't distract from the value proposition. It also aligns well with the content pattern used across the Payments Developer Portal.
Asia Pacific
Hong Kong (FPS)
Hong Kong (FPS) Static QR
| Field | Required/Conditional/Optional | Description | Minimum | Maximum | Notes |
|---|---|---|---|---|---|
| country | Required | Payment requested for country/market. |
Value must be HK. |
||
| endToEndId | Optional | End to end ID (customer's reference) provided by customer for QR code generation. If not provided by customer, will be generated by J.P. Morgan. Note: This field is applicable only if the client is setup as FPS Merchant. |
25 | Will generally appear as EndToEndId of the incoming payment for the QR code. |
|
creditor.account. schemeName.proprietary |
Required | Proxy type | Accepted values are:
|
||
creditor.account. alternateAccountIdentifier |
Required | Proxy value | 34 | Provide the full proxy value. | |
| qrCodeType | Required | Type or QR code | Value must be STATIC |
||
| currency | Required |
3-digit ISO currency code | Accepted values are HKD or CNY. |
||
| paymentAmount | Optional | QR code amount | 0.01 |
13 characters | |
| isAmountAdjustable | Conditional | Required when |
|
||
| requestMethodType | Required | Value must be QR_CODE. |
|||
| contentType | Optional | If provided, value must IMAGE. |
|||
correctionLevel |
Optional | Image correction level | Accepted values are Default (if not specified) is |
||
| imageWidth | Optional | Image width | 400 | 1,000 |
Default is 400 pixels. |
Hong Kong (FPS) Dynamic QR
| Field | Required/Conditional/Optional | Description | Minimum | Maximum | Notes |
|---|---|---|---|---|---|
| country | Required | Payment requested for country/market. | Value must be HK. |
||
| endToEndId | Optional | End to end ID (customer's reference) provided by customer for QR code generation. If not provided by customer, will be generated by J.P. Morgan. Note: This field is applicable only if the client is setup as FPS Merchant. |
25 | Will generally appear as EndToEndId of the incoming payment for the QR code. |
|
creditor.account. schemeName.proprietary |
Required | Proxy type |
Accepted values are:
|
||
creditor.account. alternateAccountIdentifier |
Required | Proxy value | 34 | Provide the full proxy value. |
|
| qrCodeType | Required | Type or QR code | Value must be DYNAMIC. |
||
| currency | Required | 3-digit ISO currency code | Accepted values are HKD or CNY. |
||
| paymentAmount | Optional | QR code amount | 0.01 |
13 characters | |
| isAmountAdjustable | Conditional | Required when paymentAmount is provided. |
|
||
| expiresAt | Required | Specify a datetime stamp in valid RFC 3339 section 5.6, ISO 8601 compliant format for expiration. For example, YYYY-MM-DDThh:mm:ss+/-time offset to UTC. |
QR code expiry date & time | ||
| expirationType | Required | Value must be SCHEDULED. |
|||
| requestMethodType | Required | Value must be QR_CODE. |
|||
| contentType | Optional | If provided, value must |
|||
| correctionLevel | Optional | Image correction level | Accepted values are Default (if not specified) is |
||
| imageWidth | Optional | Image width | 400 | 1,000 | Default is 400 pixels. |
India (UPI)
India (UPI) Static QR
| Field | Required/Conditional/Optional | Description | Minimum | Maximum | Notes |
|---|---|---|---|---|---|
| country | Required | Payment requested for country/market. | Value must be IN. |
||
| endToEndId | Required | End to end ID (Transaction Reference ID or customer's reference) provided by customer for QR code generation. | 35 | Will generally appear as Transaction Reference ID or Credit Reference of the incoming payment for the QR code. |
|
creditor.account. schemeName.proprietary |
Required | Proxy type |
Value must be UPIID. |
||
creditor.account. alternateAccountIdentifier |
Required | Proxy value | 128 | Provide the full proxy value. | |
| creditor.taxpayerCategory | Conditional | Applicable and Mandatory for GST/Tax QR |
Accepted value is CORPORATE. |
||
| creditor.taxId | Conditional | Applicable and Mandatory for GST/Tax QR |
Provide GSTIN. |
||
| qrCodeType | Required | Type or QR code |
Value must be STATIC. |
||
| currency | Required | 3-digit ISO currency code |
Value must be INR. |
||
| paymentAmount | Optional | QR code amount Transaction amount is optional for static and Mandatory for dynamic QR. |
1.00 | 13 characters | |
| expiresAt | Optional | Specify a datetime stamp in valid RFC 3339 section 5.6, ISO 8601 compliant format for expiration. For example, YYYY-MM-DDThh:mm:ss+/-time offset to UTC. |
QR code expiry date & time | ||
| expirationType | Conditional | Provide SCHEDULED if expiry date/time is provided in expiresAt. Mandatory for Dynamic QR. Optional for Static QR. |
Value must be SCHEDULED if expiresAt is provided. |
||
| taxBreakUp | Conditional | Applicable and Mandatory for GST/Tax QR Tax breakup. |
200 | ||
| invoiceNumber | Conditional | Applicable and Mandatory for GST/Tax QR Invoice number. |
20 | ||
| invoiceDate | Conditional | Applicable and Mandatory for GST/Tax QR. Invoice date & time. |
|||
| Reference | Optional | Additional reference (Transaction Note) for payer. | 50 | ||
| requestMethodType | Required | Value must be QR_CODE. |
|||
| contentType | Optional |
If provided, value must |
|||
| correctionLevel | Optional | Image correction level | Accepted values are Default (if not specified) is |
||
| imageWidth | Optional | Image width | 400 | 1,000 | Default is 400 pixels. |
India (UPI) Dynamic QR
| Field | Required/Conditional/Optional | Description | Minimum | Maximum | Notes |
|---|---|---|---|---|---|
| country | Required | Payment requested for country/market. | Value must be IN. |
||
| endToEndId | Required | End to end ID (Transaction Reference ID or customer's reference) provided by customer for QR code generation. | 35 | Will generally appear as Transaction Reference ID or Credit Reference of the incoming payment for the QR code. |
|
creditor.account. schemeName.proprietary |
Required | Proxy type |
Value must be UPIID. |
||
creditor.account. alternateAccountIdentifier |
Required | Proxy value | 128 | Provide the full proxy value. | |
| creditor.taxpayerCategory | Conditional | Applicable and Mandatory for GST/Tax QR. |
Accepted value is CORPORATE. |
||
| creditor.taxId | Conditional | Applicable and Mandatory for GST/Tax QR. |
Provide GSTIN. |
||
| qrCodeType | Required | Type or QR code |
Value must be DYNAMIC. |
||
| currency | Required | 3-digit ISO currency code |
Value must be INR. |
||
| paymentAmount | Required | QR code amount Transaction amount is required for Dynamic QR and optional for Static. |
1.00 | 13 characters | |
| expiresAt | Required | Specify a datetime stamp in valid RFC 3339 section 5.6, ISO 8601 compliant format for expiration. For example, YYYY-MM-DDThh:mm:ss+/-time offset to UTC. |
QR code expiry date & time | ||
| expirationType | Required | Value must be SCHEDULED. |
|||
| taxBreakUp | Conditional | Applicable and Mandatory for GST/Tax QR Tax breakup. |
200 | ||
| invoiceNumber | Conditional | Applicable and Mandatory for GST/Tax QR Invoice number. |
20 | ||
| invoiceDate | Conditional | Applicable and Mandatory for GST/Tax QR. Invoice date & time. |
|||
| Reference | Optional | Additional reference (Transaction Note) for payer. | 50 | ||
| requestMethodType | Required | Value must be QR_CODE. |
|||
| contentType | Optional |
If provided, value must |
|||
| correctionLevel | Optional | Image correction level |
Accepted values Default (if not specified) is |
||
| imageWidth | Optional | Image width | 400 | 1,000 | Default is 400 pixels. |
Singapore (FAST)
Singapore (FAST) Static QR
| Field | Required/Conditional/Optional | Description | Minimum | Maximum | Notes |
|---|---|---|---|---|---|
| country | Required |
Payment requested for country/market. |
Value must be |
||
| endToEndId | Optional | End to end ID (customer's reference) provided by customer for QR code generation. If not provided by customer, will be generated by J.P. Morgan. | 25 | Will generally appear as EndToEndId of the incoming payment for the QR code. | |
creditor.account. schemeName.proprietary |
Required | Proxy type |
Value must be UEN. |
||
creditor.account. alternateAccountIdentifier |
Required | Proxy value | 21 | Provide the full proxy value. |
|
| qrCodeType | Required | Type or QR code |
Value must be STATIC. |
||
| currency | Required | 3-digit ISO currency code | Value must be SGD. |
||
| paymentAmount | Optional | QR code amount | 0.01 | 200,000.00 |
|
| isAmountAdjustable | Conditional | Required when |
|
||
| expiresAt | Optional | Specify a datetime stamp in valid RFC 3339 section 5.6, ISO 8601 compliant format for expiration. For example, YYYY-MM-DDThh:mm:ss+/-time offset to UTC. |
QR code expiry date & time |
||
| expirationType | Conditional | Provide |
Value must be SCHEDULED if expiresAt is provided. |
||
| requestMethodType | Required | Value must be |
|||
| contentType | Optional | If provided, value must IMAGE. |
|||
| correctionLevel | Optional | Image correction level |
Accepted values are Default (if not specified) is |
||
| imageWidth | Optional | Image width |
400 | 1,000 |
Default is |
Singapore (FAST) Dynamic QR
| Field | Required/Conditional/Optional | Description | Minimum | Maximum | Notes |
|---|---|---|---|---|---|
| country | Required | Payment requested for country/market. | Value must be SG. |
||
| endToEndId | Optional | End to end ID (customer's reference) provided by customer for QR code generation. If not provided by customer, will be generated by J.P. Morgan. | 25 | Will generally appear as EndToEndId of the incoming payment for the QR code. |
|
creditor.account. schemeName.proprietary |
Required | Proxy type | Value must be UEN. |
||
creditor.account. alternateAccountIdentifier |
Required |
Proxy value | 21 | Provide the full proxy value. | |
| qrCodeType | Required | Type or QR code | Value must be DYNAMIC. |
||
| currency | Required | 3-digit ISO currency code |
Value must be SGD. |
||
| paymentAmount | Optional | QR code amount | 0.01 | 200,000.00 |
|
| isAmountAdjustable | Conditional | Required when paymentAmount is provided. |
|
||
| expiresAt | Required | Specify a datetime stamp in valid RFC 3339 section 5.6, ISO 8601 compliant format for expiration. For example., YYYY-MM-DDThh:mm:ss+/-time offset to UTC. |
QR code expiry date & time | ||
| expirationType | Required | Value must be SCHEDULED. |
|||
| requestMethodType | Required | Value must be QR_CODE. |
|||
| contentType | Optional | If provided, value must IMAGE. |
|||
| correctionLevel | Optional | Image correction level |
Accepted values are Default (if not specified) is |
||
| imageWidth | Optional | Image width | 400 | 1,000 | Default is 400 pixels. |
Latin America (LATAM)
Brazil (PIX)
Brazil (PIX) Static QR
| Field | Required/Conditional/Optional | Description | Minimum | Maximum | Notes |
|---|---|---|---|---|---|
| country | Required | Payment requested for country/market. | Value must be BR. |
||
creditor.account. schemeName.proprietary |
Required | Proxy type |
Supported values:
|
||
creditor.account. alternateAccountIdentifier |
Required | Proxy value | 77 | Provide the full proxy value. | |
| creditor.name | Optional | 25 | |||
| currency | Required | 3-digit ISO currency code |
Value must be BRL. |
||
| paymentAmount | Optional | QR code amount | 0.01 | 18 characters | |
| Reference | Optional | Text to be presented to the payer so that payer can enter related information in free format, to be sent to the recipient. | 140 | ||
additionalInformation.valueType & additionalInformation.text |
Optional | Additional information provided by the client for the Payment Request expressed as array of key/value pairs. | 200 | ||
| requestMethodType | Required | Accepted value NONE or QR_CODE. |
|||
| qrCodeType | Required |
Type or QR code. | Value must be |
||
| contentType | Optional | Accepted values are IMAGE or TEXT_ONLY. |
|||
| correctionLevel | Optional | Image correction level | Accepted values are Default (if not specified) is |
||
| imageWidth | Optional | Image width | 400 | 1,000 | Default is 400 pixels. |
Brazil (PIX) Immediate Dynamic QR
| Field | Required/Conditional/Optional | Description | Minimum | Maximum | Notes |
|---|---|---|---|---|---|
| country | Required |
Payment requested for country/market |
Value must be BR. |
||
| Debtor.debtorName | Required |
Debtor name | 200 | ||
| Debtor.debtorAddress | Optional | Debtor address | |||
| Debtor.taxInformation. taxpayerCategory | Conditional | Debtor tax category | Supported values Individual or Corporate. |
||
| Debtor.taxInformation. taxid | Conditional | Debtor tax ID | 11 | 14 |
|
creditor.account. schemeName.proprietary |
Required | Proxy type | Supported values:
|
||
creditor.account. alternateAccountIdentifier |
Required | Proxy value | 77 | Provide the full proxy value. | |
| creditor.name | Optional | 25 | |||
| Creditor.Address | Optional | ||||
| creditor.taxpayerCategory | Required | Applicable only for Dynamic QR Codes. | Accepted values are INDIVIDUAL OR CORPORATE. |
||
| creditor.taxId | Required | Applicable only for Dynamic QR Codes. |
|
||
| expirationType | Required | Value must be IMMEDIATE. |
|||
| Duration | Required | Specify how long (in seconds) the request is valid. ISO 8601 compliant duration. For example, a validity of 5 minutes will be represented as 300. If duration unspecified, a default duration of 86400 seconds (for example, 24 hours) will be considered. | |||
| currency | Required | 3-digit ISO currency code |
Value must be BRL. |
||
| paymentAmount | Optional | QR code amount. | 0.01 | 18 characters | |
| isAmountAdjustable | Required | Required when paymentAmount is provided. |
|
||
| Reference | Optional | Text to be presented to the payer so that payer can enter related information in free format, to be sent to the recipient. | 140 | ||
additionalInformation.valueType & additionalInformation.text |
Optional | Additional information provided by the client for the Payment Request expressed as array of key/value pairs. | 200 | ||
| requestMethodType | Required | Accepted value NONE or QR_CODE. |
|||
| qrCodeType | Required | Type or QR code | Value must be DYNAMIC. |
||
| paymentLinkId | Optional | Unique Payment Link ID generated by J.P. Morgan if already assigned. | |||
| contentType | Optional | Accepted values are IMAGE or TEXT_ONLY. |
|||
| correctionLevel | Optional | Image correction level | Accepted values Default (if not specified) is |
||
| imageWidth | Optional | Image width | 400 | 1,000 | Default is 400 pixels. |
Brazil (PIX) Due-Date Dynamic QR
| Field | Required/Conditional/Optional | Description | Minimum | Maximum | Notes |
|---|---|---|---|---|---|
| country | Required | Payment requested for country/market | Value must be BR. |
||
| Debtor.debtorName | Required | Debtor name | 200 | ||
| Debtor.Address | Required | Debtor address | |||
| Debtor.email | Required | Debtor email address | |||
| Debtor.taxInformation. taxpayerCategory | Required | Debtor tax category | Supported values Individual or Corporate. |
||
| Debtor.taxInformation. taxid | Required | Debtor tax ID | 11 | 14 |
|
creditor.account. schemeName.proprietary |
Required | Proxy type | Supported values:
|
||
creditor.account. alternateAccountIdentifier |
Required | Proxy value | 77 | Provide the full proxy value. | |
| creditor.name | Optional | 25 | |||
| creditor.shortName | Optional | ||||
| Creditor.Address | Optional | ||||
| creditor.taxpayerCategory | Required | Applicable only for Dynamic QR Codes. | Accepted value is INDIVIDUAL OR CORPORATE. |
||
| creditor.taxId | Required | Applicable only for Dynamic QR Codes. |
|
||
| expirationType | Required | Value must be DUE-DATE. |
|||
| paymentDueDate | Required | Provide the due date. | |||
| gracePeriod | Required | Number of consecutive calendar days after payment due date, by which payment can be still be made. Beyond this date, QR code will be expired and it impacts any applicable discounts and might results in penalty. | |||
| currency | Required | 3-digit ISO currency code | Value must be BRL. |
||
| paymentAmount | Optional | QR code amount | 0.01 | 18 characters | |
| interestType & interestParameters | Optional | Parameters to calculate interest for the payments overdue. | |||
| discountType & discountParameters | Optional | Parameters to calculate discount based on actual payment. | |||
| penaltyType & penaltyParameters | Optional | Penalty parameters expressed as a fixed value or percentage of payment amount. | |||
| reductionType & reductionParameters | Optional | Reduction details expressed either as a fixed value or percentage of payment amount. | |||
| Reference | Optional | Text to be presented to the payer so that payer can enter related information in free format, to be sent to the recipient. | 140 | ||
additionalInformation.valueType & additionalInformation.text |
Optional | Additional information provided by the client for the Payment Request expressed as array of key/value pairs. | 200 | ||
| requestMethodType | Required | Accepted value NONE or QR_CODE. |
|||
| qrCodeType | Required | Type or QR code | Value must be DYNAMIC. |
||
| paymentLinkId | Optional | Unique Payment Link ID generated by J.P. Morgan if already assigned. | |||
| contentType | Optional | Accepted values are IMAGE or TEXT_ONLY. |
|||
| correctionLevel | Optional | Image correction level | Accepted values Default (if not specified) is |
||
| imageWidth | Optional | Image width | 400 | 1,000 | Default is 400 pixels. |
Related
To view example Payment Request QR Code generation requests for different markets, see the API specification.
Next steps
Learn more about available resources.