5.11 GCASH

The GCash wallet was founded in 2004 by Globe under Ayala Group which is the oldest and largest commercial group in the Philippines.
Boasting safe and reliable payment, GCash is the most popular electronic wallet in the Philippines. Users can safely transfer money, remit money, shop, and more through online banking at home. Users can also recharge their wallets at offline retail stores in the Philippines to enjoy fast and convenient payment with GCash.

ScenarioCategoryPayment methodPayment productIntegration typeAuthenticationRedirect TypeCode TypePre-authPartial RefundCancellation supported
ONLINEEwalletGCASHCASHIER_PAYMENTAPI-In-appOrder code-YESYES
OFFLINEEwalletGCASHORDER_CODEAPI, POS--Order code-YESYES
OFFLINEEwalletGCASHPAYMENT_CODEAPI, POS--Payment code-YESYES
OFFLINEEwalletGCASHENTRY_CODEEMVCO_QR--Static code-YESYES

Payment ProductDescription
CASHIER_PAYMENTPayment product. Use this product to get the cashier page address. After getting the cashier page address, you can redirect the user to the cashier page to make a payment or display the online order code for the user to scan.
ORDER_CODEMerchant-Presented Mode Payment product. One code value can only be used for one transaction. For example, the order code displayed on the merchant's terminal screen or printed on the cashier's receipt. After the user scans the code, the user usually does not need to enter the transaction amount to initiate the payment.
PAYMENT_CODEUser-Presented Mode Payment product. The merchant uses a code scanning device to scan the payment code and complete the deduction.
ENTRY_CODEMerchant-Presented Mode Payment product. With the Entry Code Payment product, users can scan the entry code generated by the merchant and enter the payment amount to complete the payment. Merchants do not need to apply an updated QR code or purchase any equipment for collecting payment if merchants join the UPAS network.

Experience and integration process

CapabilitiesAPIsDescription
Initiate a paymentPAY
Refund a paymentREFUND
Cancel a paymentCANCELOnly a full cancellation is allowed. The cancellation period: Before 23:59:59 within the payment date.
Inquiry transaction resultDETAIL
Notify transaction resultNOTIFICATION

Initiate a payment

FieldDescriptionRequired
paymentMethodMust be "GCASH"M
productFor CASHIER_PAYMENT, it must be "CASHIER_PAYMENT";
For ORDER_CODE, it must be "ORDER_CODE";
For PAYMENT_CODE, it must be "PAYMENT_CODE";
ENTRY_CODE is only used in "EMVCO_QR";
M
expireAtThe format is "yyyy-mm-dd hh:mm:ss", and it must be less than 72 hours after the payment request is sent.
It's required when the product is "CASHIER_PAYMENT" or "ORDER_CODE"
C
payCodeValueIt's required when the product is "PAYMENT_CODE"C
goods.descriptionIt's required when paymentMethod is GCASHM
riskData.Device.osIt's required when the product is in "CASHIER_PAYMENT", "ORDER_CODE", "PAYMENT_CODE"M

Handle the payment result
To complete the payment:

  • CASHIER_PAYMENT
    1. present the QR code image(payAction, "type": "QRCODE", "redirectUrl" ) to the shopper for scanning.
    2. Or redirect shopper(payAction, "type": "REDIRECT", "Url" ) to open an app when the target app is installed.
    3. Use the data.status from the PAY response to present the payment result to your shopper. You can also wait the NOTIFICATION or submit a DETAIL request for the payment result.
  • ORDER_CODE
    1. Present the QR code image(payAction, "type": "QRCODE", "redirectUrl" ) to the shopper for scanning.
    2. After the shopper completes the payment, wait the NOTIFICATION or submit a DETAIL request for the payment result.
  • PAYMENT_CODE
    1. Use the data.status from the PAY response to present the payment result to your shopper. You can also wait the NOTIFICATION or submit a DETAIL request for the payment result.
  • ENTRY_CODE
    1. After the shopper completes the payment, wait the NOTIFICATION for the payment result.