QRPH Payment

Guidelines for Monitoring QRPH Transactions:

  1. For Transactions with fundSource.type as maya-wallet: Utilize the id (or payment ID) where the last 12 digits or characters align with the Maya App receipt. This ensures accurate tracking and correlation with Maya App receipts.
  2. For Transactions with fundSource.type as qrph: Identify the transaction using the receiptNumber values. The receiptNumber serves as the issuer-generated reference number also mirrored in their issuer receipts. This approach ensures a reliable method for transaction identification and reconciliation.

QRPH Payment using Maya Wallet

When a Maya Wallet account is used for QRPH payment, the fundSource.type value is set as maya-wallet and have the following fundSource specifications.

ℹ️ The fundSource specifications outlined below apply to both the webhook and response payload of Retrieve Payment (GET) endpoints.

FieldTypeFormatDescription
typeREQUIREDstringConstant value: maya-wallet
A string type of the fund source.
idREQUIREDstringUUIDA unique identifier of the fund source in Maya’s system.
description REQUIREDstringThis field contains a masked account ID of the Maya Wallet account only showing the last 4 digits.
details REQUIREDobjectThis field may contain account holder information
details.firstName REQUIREDstringThis field may contain the account holder’s first name.
If not available, the value is statically set to ******.
details.middleName REQUIREDstringThis field may contain the account holder’s middle name.
If not available, the value is statically set to ******.
details.lastName REQUIREDstringThis field may contain the account holder’s last name.
If not available, the value is statically set to ******.
details.msisdn REQUIREDstringThis field may contain the account holder’s phone number.
If not available, the value is statically set to ******.
details.email REQUIREDstringMay contain the account holder’s email address.
If not available, the value is statically set to ******.
details.profileId REQUIREDstringThis field may contain the account holder’s Maya profile ID.
If not available, the value is statically set to ******.
details.masked REQUIREDstringThis field may contain the masked msdisdn, which only shows the last 4 digits.
If not available, the value is statically set to ******.

Sample fundSource

{
    "type": "maya-wallet",
    "id": "32126db2-fe5d-49ec-b3d5-97833fea5b12",
    "description": "******5f55",
    "details": {
        "firstName": "REBECCA",
        "middleName": "JUAN",
        "lastName": "DE LEON",
        "msisdn": "+639281500718",
        "profileId": "777140419387",
        "email": "******",
        "masked": "********0718"
    }
}

Sample PAYMENT_SUCCESS Webhook payload

Customer view in Maya App

Customer view in Maya App

The Payment ID (aa59a630d8b8) reflected in the Maya App receipt is the last 12 digits or characters of the "id": "849ab469-03a9-43bc-8797-aa59a630d8b8" in the webhook payload notification.

{
  "id": "849ab469-03a9-43bc-8797-aa59a630d8b8",
  "isPaid": true,
  "status": "PAYMENT_SUCCESS",
  "amount": "1",
  "currency": "PHP",
  "canVoid": true,
  "canRefund": true,
  "canCapture": false,
  "createdAt": "2024-01-12T07:16:59.000Z",
  "updatedAt": "2024-01-12T07:17:14.000Z",
  "fundSource": {
    "type": "maya-wallet",
    "id": "85f3110d-1feb-44b0-a41c-51b6185a2dbb",
    "description": "****c217",
    "details": {
      "firstName": "**",
      "middleName": "**",
      "lastName": "**",
      "msisdn": "**",
      "email": "**",
      "profileId": "**",
      "masked": "**"
    }
  },
  "receiptNumber": "392014594126",
  "requestReferenceNumber": "78e9646e-be6f-48ed-a009-a6ffb3b305b5",
  "paymentTokenId": "**",
  "receipt": {
    "transactionId": "5cac06db-8d6d-40c5-ae88-34329ea4904e",
    "batchNo": "20240112",
    "receiptNo": "392014594126",
    "approval_code": "a4904e",
    "approvalCode": "a4904e"
  },
  "approvalCode": "a4904e"
}

Sample PAYMENT_FAILED Webhook payload

{
  "id": "70ef9408-2740-4749-8088-27a9b0038591",
  "isPaid": false,
  "status": "PAYMENT_FAILED",
  "amount": "1",
  "currency": "PHP",
  "canVoid": false,
  "canRefund": false,
  "canCapture": false,
  "createdAt": "2024-01-15T09:52:46.000Z",
  "updatedAt": "2024-01-15T09:52:49.000Z",
  "description": "Charge for [email protected]",
  "paymentTokenId": "hWRtVecyIbNdM00BxZPJYDTymRCfTo87anRjipJ030e8jV2N4PkgPwRq6RZHcXYiJiepIFVs6fM0yee6Eyv61tuYnuku7hGrRSz4pvZu5umYYJB2eke2UznL3jRHWHbF2w95j9qqkLoTY1Q7brkqa188tSQFRyavWLHXNc",
  "fundSource": {
    "type": "maya-wallet",
    "id": "85f3110d-1feb-44b0-a41c-51b6185a2dbb",
    "description": "****c217",
    "details": {
      "firstName": "**",
      "middleName": "**",
      "lastName": "**",
      "msisdn": "**",
      "email": "**",
      "profileId": "**",
      "masked": "**"
    }
  },
  "requestReferenceNumber": "PGQE-CHECKOUT-1705312365851",
  "errorCode": "PY0138",
  "errorMessage": "[PY0138] Acquirer decline."
}

QRPH Payment using other Wallets

When using other wallets (non-Maya wallets) for QRPH payment, the fundSource.type value is set as qrph and have the following fundSource specifications.

ℹ️ The fundSource specifications outlined below apply to both the webhook and response payload of Retrieve Payment (GET) endpoints.

FieldTypeFormatDescription
typeREQUIREDstringConstant value: qrph
A string type of the fund source.
idREQUIREDstringUUIDA unique identifier of the fund source in Maya’s system.
description REQUIREDstringThis field contains the account ID of the fund source.
details REQUIREDobjectThis is always an empty object.

Sample fundSource

{
    "type": "qrph",
    "id": "a3d5e1ca-6c6b-4205-903b-1558f445d4a5",
    "description": "019622243768",
    "details": {}
}

Sample PAYMENT_SUCCESS Webhook payload

GCash

Customer view in GCash App

Customer view in GCash App

The QRPH Invoice No. (411611) reflected in the GCash App receipt is the"receiptNumber": "411611" in the webhook payload notification.

{
  "id": "afad9f99-7934-4c28-901f-0df724e6fa9a",
  "isPaid": true,
  "status": "PAYMENT_SUCCESS",
  "amount": "1",
  "currency": "PHP",
  "canVoid": true,
  "canRefund": true,
  "canCapture": false,
  "createdAt": "2024-01-12T06:40:11.000Z",
  "updatedAt": "2024-01-12T06:40:33.000Z",
  "fundSource": {
    "type": "qrph",
    "id": "f95c62d1-2955-4ec0-b340-75285c4e08af",
    "description": "7010000002630326137",
    "details": {}
  },
  "receiptNumber": "411611",
  "requestReferenceNumber": "78e9646e-be6f-48ed-a009-a6ffb3b305b5"
}

Shopeepay

Customer view in Shopeepay

Customer view in Shopeepay

The Instapay Receipt No. (525721) reflected in the Shopeepay App receipt is the"receiptNumber": "525721" in the webhook payload notification.

{
  "id": "52a80aa8-95c4-470a-9834-fa3c6ed59780",
  "isPaid": true,
  "status": "PAYMENT_SUCCESS",
  "amount": "1",
  "currency": "PHP",
  "canVoid": false,
  "canRefund": true,
  "canCapture": false,
  "createdAt": "2024-01-11T11:25:48.000Z",
  "updatedAt": "2024-01-11T11:26:14.000Z",
  "fundSource": {
    "type": "qrph",
    "id": "9dbc3061-c51a-4c18-bf71-cce34bd752c6",
    "description": "261705238",
    "details": {}
  },
  "receiptNumber": "525721",
  "requestReferenceNumber": "78e9646e-be6f-48ed-a009-a6ffb3b305b5"
}

Sample PAYMENT_FAILED Webhook payload

{
  "id": "c3bf6d00-03b0-420e-ae4c-2340f0011a06",
  "isPaid": false,
  "status": "PAYMENT_FAILED",
  "amount": "1",
  "currency": "PHP",
  "canVoid": false,
  "canRefund": false,
  "canCapture": false,
  "createdAt": "2024-01-15T10:02:21.000Z",
  "updatedAt": "2024-01-15T10:03:49.000Z",
  "description": "Charge for [email protected]",
  "fundSource": {
    "type": "qrph",
    "id": "ee84b1f8-a99c-4fe7-a16f-ffc0dbb04f44",
    "description": "1629442025172A",
    "details": {}
  },
  "receiptNumber": "1629442025172R-21",
  "requestReferenceNumber": "PGQE-CHECKOUT-1705312940786",
  "errorCode": "PY0016",
  "errorMessage": "[PY0016] [PY0016] Payment processor service error."
}