Pay with Maya QR

Transform the way you accept payments and stay ahead in the digital economy

Unlock swift and secure cashless transactions by embracing Maya's cutting-edge scan-to-pay feature. Elevate your reach across a network of participating financial institutions seamlessly integrated through QRPH.

What is QRPH?

QRPh or the National QR (Quick Response) Code standard is supervised by the Bangko Sentral ng Pilipinas (BSP). It is the latest innovation that will push interoperability further towards all businesses and end-users in the country, offering safe and secure cashless transactions.

How Pay with Maya’s QRPH Payment Works


The high-level flow of Pay with Maya’s QRPH Payment:

  1. Upon generating a QRPH, Maya initiates the creation of a 'payment' record with Maya reference ID to uniquely identify the generated QR.
  2. When a user uses a Maya wallet or another wallet of the QRPH-participating financial institution, the issuer should read and process the QRPH code, send a request to BancNet, including the corresponding Maya reference ID and the issuer-generated reference number (invoice/receipt)
  3. BancNet, in turn, transmits the transaction details to Maya.
  4. Maya processes the transaction associated with the original Maya reference ID.
  5. Subsequently, Maya notifies the merchant of the completed transaction, facilitating actions such as receipt printing and SMS notifications.
  6. With the confirmation from Maya, the merchant releases the goods.
  7. Maya communicates the transaction status to BancNet.
  8. BancNet then relays the response to the issuing bank for reconciliation.
  9. The issuing bank then notifies the payer that the payment request has been processed.

Payment States

StateDescription
PENDING_TOKENAssigned upon payment creation, indicating that the payment is in the initial stages of processing.
PAYMENT_EXPIREDTriggered when a payment intent surpasses the 1 hour expiry period, indicating that the transaction window has lapsed.
PAYMENT_CANCELLEDDesignates the status when the user cancels the payment page, signifying a deliberate termination of the transaction by the user.
PAYMENT_SUCCESSDesignates a successful payment, indicating that the transaction has been completed and approved.
PAYMENT_FAILEDAssigned when the payment process encounters an issue or fails to proceed successfully.

Pay with Maya’s QR Codes

QRPH payment codes generated by Maya are compliant with ISO 18004:2015 and follow the Philippine QR Code standards for P2M (Person-to-Merchant) issued by Philippine Payments Management, Inc (PPMI).

Some of the details and information required by PPMI that you can find in the QRPH payment codes are:

  • Merchant ID: The unique identifier assigned to the merchant.
  • Merchant Category Code (MCC): Classifies merchants and businesses based on the type of goods or services they provide.
  • Transaction Currency Code: Identifies the currency used for the transaction.
  • Transaction Amount: Specifies the monetary value of the transaction.
  • Country Code: Denotes the country associated with the merchant's location or the transaction.
  • Merchant Name: Indicates the name of the merchant conducting the transaction.
  • Merchant City: Specifies the city where the merchant is located.
  • Reference Label / Maya Reference ID: Provides a unique label or reference ID associated with the transaction, facilitating easy identification and tracking within the Maya system.

Pay with Maya in Maya Checkout RECOMMENDED

Pay with Maya is also available in Maya Checkout. Contact your relationship manager to activate Pay with Maya in Maya Checkout.


Learn how to use Pay with Maya in Maya Checkout.


Generate your Maya Dynamic QRPH in Pay with Maya

You can also consider streamlining your payment experience with Pay with Maya, offering a more efficient and lean payment option for enhanced convenience.

From here, you need to establish your implementation and integration approach

  1. Leverage Maya’s QR Payment Page to reduce your expenses in developing and maintaining your web pages.
  2. Incorporate the Maya QR into your self-hosted webpage without the hassle of generating your own QR code, all while ensuring compliance with QR Code standards.

1 Review the Online Payment Quick Start Guides

Understand the pre-requisites for incorporating the Maya Online Payment solution, starting from setting up your Maya Business Manager, all the way to deploying your platform in a live Production environment.


2 Prepare the required screens for redirectUrl


Each payment stage must display a relevant webpage as redirectUrlfor Create Dynamic QR endpoint, allowing customers to track the progress of their transaction. You're required to host these pages on your website.

Success Page Sample

<html>
  <head><title>Payment is successful</title></head>
  <body>
    <h1>Thank your for your order!</h1>
    <p>
      <a link="/track-order">Track your order here</a>.
    </p>
  </body>
</html>

Failed Page Sample

<html>
  <head><title>Payment Failed</title></head>
  <body>
    <h1>Payment Failed!</h1>
    <p>
      <a link="/track-order">Create a new order?</a>.
    </p>
  </body>
</html>

Cancelled Page Sample

<html>
  <head><title>Cart</title></head>
  <body>
    <h1>List of items inside the cart</h1>
    <p>
      <a link="/track-order">Checkout</a>.
    </p>
  </body>
</html>

3 Generate Maya’s Dynamic QRPH

Add a Pay with Maya button to your website to call Maya's Pay with Maya API.

<html>
  <head>
    <title>Wear Vamos</title>
  </head>
  <body>
    <form action="/pay" method="POST">
      <button type="submit">Pay with Maya</button>
    </form>
  </body>
</html>

When calling Maya’s Dynamic QR endpoints, your system must pass the required fields: totalAmount, requestReferenceNumber and redirectUrl.

If you are a payment facilitator, your system is required to pass metadata.pf fields specific to your configuration.

The redirectUrl Object

Attributes
success (url) REQUIRED
URL of the page where your customers will be redirected after a successful payment.
failure (url) REQUIRED
URL of the page where your customers will be redirected to when the payment fails.
cancel (url) REQUIRED
URL of the page where your customer will be redirected when they cancel a payment.

🧠 Keep in mind

Maya Dynamic QR codes are designed for one-time use and remain valid for 1 hour from their creation time. Once the QR code has been scanned or has expired, any subsequent payment attempts using the same QR code will be unsuccessful. This ensures the security and integrity of the payment process.

API Specifications

Request Body
Successful Response Body

ℹ️ See sample 🟢 200 response body of POST https://pg-sandbox.paymaya.com/payments/v1/qr/payments .

Use Case: Maya Hosted QRPH Payment Page

Initiate the Create Dynamic QR endpoint to get the redirect URL leading to Maya's page, showcasing the dynamic QR code generated. Direct the payer to the received redirect URL, facilitating a seamless scanning process and enabling them to proceed with the payment effortlessly.

What happens during the Create Dynamic QR:

  1. The payment process is initiated when the payer clicks the Pay with Maya button.
  2. Subsequently, your system triggers a call to the POST https://pg-sandbox.paymaya.com/payments/v1/qr/payments
    endpoint, supplying the necessary payment details.
  3. Upon receiving the request, Maya generates a dynamic QR code and creates a corresponding payment record with an initial status of PENDING_TOKEN. Following this, Maya responds to your system by providing the qrBody that you can use to present the QR payment to your page and the redirectUrl that will lead to Maya's payment page.
  4. Your system, in turn, directs the payer to the obtained redirectUrl or Maya's payment page

Use Case: Merchant Hosted Maya QRPH

Opt for the Create Dynamic QR endpoint if you intend to showcase the QR code on your self-hosted site. This request prompts Maya to generate your dynamic QR and provides a response containing the QR body that you can incorporate into your self-hosted page without redirection. Additionally, the response still includes the redirect URL to Maya's page for seamless integration.

What happens during the Create Dynamic QR:

  1. The payment process is initiated when the payer clicks the Pay with Maya button.
  2. Subsequently, your system triggers a call to the POST https://pg-sandbox.paymaya.com/payments/v1/qr/payments endpoint, supplying the necessary payment details.
  3. Upon receiving the request, Maya generates a dynamic QR code and creates a corresponding payment record with an initial status of PENDING_TOKEN. Following this, Maya responds to your system by providing the qrBody that you can use to present the QR payment to your page and the redirectUrl that will lead to Maya's payment page.
  4. Your system, in turn, renders the qrBody data on your webpage.

Manage your transactions

Explore the listed GET endpoints on how to track and manage your transactions:


5 Perform Quick Test

At this stage, you should now have a working checkout button that redirects your customer to Maya Checkout.

  1. Click "Pay with Maya" button
  2. You get redirected to Maya’s QR page.
  3. You will have to use a test Maya account Sandbox Credentials and Cards.
  4. On successful payment, Pay with Maya will redirect to your success page.

6 Prepare before you Go Live

As you approach the final stages before launching in Production, there are activities necessary to be performed. These include the implementation of Webhooks to receive real-time transaction events, as well as fulfilling the prerequisites to make Pay with Maya Dynamic QR operational in the Production environment. For further details, refer to the step 7 Go Live of the Quick Start Guide .


Additional References