# QRPH

 QRPH is the QR code standard of the Philippines. It is convenient, secure, and cost-effectiveness, offering a single, standardized QR code for diverse bank or e-wallet payments in the Philippines. QRPH creates a secure, interconnected, cashless system for easier person-to-person (P2P) and person-to-merchant (P2M) transactions.

## Properties {#djNTu}

 The following table lists the product properties supported by QRPH:

 | **Payment type** | Real-time payment |  |  |
| --- | --- | --- | --- |
| **Acquirer** | AntomSG, AntomHK, AntomEU, AntomUS, AntomUK, AntomPH | **Merchant entity location** | SG, HK, EEA, US, UK, PH |
| **Payment flow** | Code-scanning | **Refund** | ❌ |
| **Buyer country/region** | Philippines | **Partial refund** | ❌ |
| **Processing currency** | PHP | **Chargeback/Dispute** | ✔️ |
| **Minimum payment amount** | 20 PHP | **Refund period** | ❌ |
| **Maximum payment amount** | 9,999,999 PHP | **Time to return payment result** | Real-time |
| **Default timeout** | 14 minutes |  |  |

## User experience {#tV2u4}

 > **[INFO]** **Note**   : The following payment flows on different terminals are reference only, and represent this payment method's flow on different terminal types. For supported merchants' terminal types, consult Antom Technical Support.

 The following figures show the journey of paying with QRPH:

<!-- TabGroup -->

**Tab: Web**

![image.png](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2026/png/ceb518c6-0e03-4ab4-b9b0-1646d3bb4d9e.png)

 1. The buyer selects QRPH to pay at the merchant checkout page.
2. The buyer is redirected to the Antom checkout page, where a generated QR code is displayed.
3. The buyer opens the desired bank or digital wallet app to scan the QR code.
4. The buyer completes the authorization and confirms the payment.
5. The buyer completes the payment.
6. The buyer manually switches back to the merchant page to check the payment result.

**Tab: App**

![image.png](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2026/png/9b25f241-10cc-4bfb-b0d3-3ff432fad4ff.png)

 1. The buyer selects QRPH to pay at the merchant checkout page.
2. The buyer is redirected to the Antom checkout page, where a generated QR code is displayed. The buyer can take a screenshot to save the QR code image.
3. The buyer opens the desired bank or digital wallet app and selects the saved QR code image for scanning.
4. The buyer completes the authorization and confirms the payment.
5. The buyer completes the payment.
6. The buyer manually switches back to the merchant page to check the payment result.

<!-- /TabGroup -->

## Supported online payment integrations {#ZdPPk}

 Antom offers a range of integration options tailored to each payment method. Each payment method may support different online payment integration options, allowing for flexibility based on your business requirements. The table below provides detailed information about the specific integrations available for each payment method:

 | **Supported online payments** | **Supported integrations** |
| --- | --- |
| One-time Payments | [✔️ API-only](https://docs.antom.com/ac/cashierpay/apm_api.md) [✔️ Hosted Checkout Page](https://docs.antom.com/ac/cashierpay/HOSTEDCKP.md) [✔️ Embedded Checkout Page](https://docs.antom.com/ac/cashierpay/embeddedckp.md) [✔️ Web Element](https://docs.antom.com/ac/cashierpay/element.md?platform=web-wap) [✔️ Mobile Element](https://docs.antom.com/ac/cashierpay/element.md?platform=web-wap) ❌ Payment links |
| Tokenized Payment | ❌ |
| Subscription Payment | ❌ |
| EasySafePay | ❌ |
| Scan to Link | ❌ |

## Integration considerations {#k9zVf}

 The following section outlines integration considerations for various payment types, detailing customized integration solutions and payment method features.

### About  *normalUrl* {#ODVuz}

 - When accepting payments from QRPH, you can choose whether to use *normalUrl*:

   - If choosing not to use *normalUrl*, you can directly render the *codeValue* in the API response on the merchant page to display the QR code, reducing page redirections and improving the payment experience.
  - If choosing to use *normalUrl*, redirect your buyer to the address specified by *normalUrl* and proceed the payment process as indicated in [User experience](#tV2u4).

 - For Web, WAP, and App terminals, *normalUrl* is returned in the response of the   **[pay (One-time Payments)](https://docs.antom.com/ac/ams/payment_cashier.md)**   API. The buyer is redirected to the address specified by *normalUrl* and uses the QR code displayed on the page to proceed with the payment. The buyer completes the payment by scanning the code on the mobile phone, and the middle page automatically redirects to the merchant result page.
- Different terminal types have specific integration features when returning *normalUrl*.

   - WAP: The returned *normalUrl* is the QR code and payment operation display page. The buyer takes a screenshot of the QR code first, and manually opens the specific payment method app to scan and pay.
  - App: The returned *normalUrl* does not trigger the payment method app. It is recommended to open the redirection URL outside of the application.

### After payments {#kNRo2}

 - After the buyer completes the payment in the bank app, the bank app will not automatically redirect to the merchant's results page. The buyer needs to manually navigate to the transaction initiation app (the merchant app or browser).
- This payment method does not support refunds. It is recommended to communicate directly with the buyer offline.
- Obtain the payment result from the payment result notification (  [**notifyPayment**](https://docs.antom.com/ac/ams/paymentrn_online.md)  ) or by making inquiries (  [**inquiryPayment**](https://docs.antom.com/ac/ams/paymentri_online.md)  ). Handle the redirection and display of the payment result page to avoid duplicate payments.

### Default timeout {#FxDaw}

 - This payment method can specify the QR code expiration time from 60 sec to 9,000 sec. The transaction expiration time follows the QR Code expiration time.
- When displaying the QR code, use the *expireTime* parameter value returned in the  [**pay (One-time Payments)**](https://docs.antom.com/ac/ams/payment_cashier.md)  API response to display the timeout information.
- Before the order closing time, when the merchant closes the order, the buyer is still able to complete the payment, leading to potential payment discrepancies.

### Response sample {#eZA9M}

 The following is a code example in the payment response:

 ```json
{
    "normalUrl": "https://iexpfront-sea-global.alipay.com/payments/method/checkout/code.html?merchantId=188iwOYLsWM%2B3OM5i43oAN6sL7yTti1YlTOEpSbxNsmiew%3D&paymentRequestId=PqpmsKam%2BLbQyGH1KWYtA82v2t15tYwnk2OE0q4D8OE%3D&clientId=5Y607N2YJU8006726",
    "orderCodeForm": {
        "codeDetails": [
            {
                "codeValue": "https://iexpfront-sea.alipay.com/showQrImage.htm?code=lcjR2aefqftIKgIm30du1Ld7GM3W2xEb%252BW8RDmp7cNeNnRE2vIaa5pshMn2Pq4DBP3C8gm8VLPWRVLRQWjGuxUQput0bZdx%252ByXkEZoNCWBZaTG73kgHuPRzt%252FPY9iqMb9YmL6mYLUGvElNj4zblXizT77%252BvjP%252FZ8EMRBRQGTINfOUKwJp%252FtDeNFGhzRMavMrBnUSbqp25DHtaiMppf79zSYT2NtpyjykgiRhuTYy4ul%252BRKoeyWYHI27eey%252FvYlV%252BEeSjV97NW%252BR84tcnIETHYRRXBd4TsRZZSLvX52AGN4hxO5KdqrSBtwSPTFvcjEG5%252BVE4gft67ml2uT5Yi0HhAA%253D%253D&size=M&sid=188",
                "displayType": "MIDDLEIMAGE"
            }
        ],
        "expireTime": "2024-03-14T19:53:24-07:00"
    },
    "paymentActionForm": "{"paymentActionFormType":"PaymentCodeForm","paymentCodeExpireTime":1710471204000,"paymentCodeInfos":[{"paymentCodeDetails":[{"codeValue":"00020101021226670016COM.NOBUBANK.WWW01189360050300000862130214020900006839930303UBE51440014ID.CO.QRIS.WWW0215ID20221517570460303UBE52045499530336054035005802ID59042C2P6013Jakarta Barat610511410624601140315041299373206091113322490703A010804POSP6304A241","codeValueType":"QRCODE","displayType":"IMAGE"}],"paymentCodeInfoType":"PAYMENT_CODE"}]}",
    "paymentAmount": {
        "currency": "PHP",
        "value": "500"
    },
    "paymentCreateTime": "2024-03-14T19:48:21-07:00",
    "paymentId": "202403151940108001001884*****8487",
    "paymentRequestId": "PAY_20240*****1165",
    "redirectActionForm": {
        "method": "GET",
        "redirectUrl": "https://iexpfront-sea-global.alipay.com/payments/method/checkout/code.html?merchantId=188iwOYLsWM%2B3OM5i43oAN6sL7yTti1YlTOEpSbxNsmiew%3D&paymentRequestId=PqpmsKam%2BLbQyGH1KWYtA82v2t15tYwnk2OE0q4D8OE%3D&clientId=5Y607N2YJU8006726"
    },
    "result": {
        "resultCode": "PAYMENT_IN_PROCESS",
        "resultMessage": "payment in process",
        "resultStatus": "U"
    }
}
```
