GrabPay is an e-wallet, which is part of the Grab super app used in Singapore that allows payers to purchase using their Grab account. GrabPay is a supported browser payment method in the Mastercard Payment Gateway. This page describes integration details specific to GrabPay.
It is recommended that you read the integration guidelines for browser payments, before building the GrabPay integration.
GrabPay browser payments are only supported for transactions in the SGD (Singapore Dollar) currency.
To offer GrabPay as a payment method via the Mastercard Payment Gateway:
Hosted Checkout integration allows you to collect payment details from your payer through an interaction that the gateway hosts and displays.
From the API version 64 onward, GrabPay is automatically available as a payment method once your payment service provider enables and configures you for this payment method.
Direct Payment integration allows you to offer GrabPay payment method on your own checkout page.
In addition to the standard fields required in a browser payment request, provide the following fields in the Initiate Browser Payment
request:
sourceOfFunds.type
= GRABPAY
browserPayment.operation
= PAY
sourceOfFunds.provided.grabPay.accountHolder
: Name of the GrabPay account holder.You can set the language that you prefer GrabPay to use for pages displayed to the payer by providing the
browserPayment.preferredLanguage
field in the Initiate Browser Payment request. However, the language will be used only if GrabPay supports it.
{ "apiOperation":"INITIATE_BROWSER_PAYMENT", "browserPayment":{ "operation":"PAY", "returnUrl":"<your_merchant_URL>" }, "order":{ "amount":"10.00", "currency":"SGD" }, "sourceOfFunds":{ "type":"GRABPAY", "provided":{ "grabPay":{ "accountHolder":"George Smith" } } } }
The table shows the transaction response codes for the possible scenarios you may encounter after initiating the GrabPay payment.
Initiate Browser Payment Response | What This Means... |
---|---|
response.gatewayCode=SUBMITTED result=SUCCESS |
Redirect the payer using the URL provided in the response. |
Retrieve Transaction/Retrieve Order Response | What This Means... |
response.gatewayCode=APPROVED result=SUCCESS |
The payment is successful. |
response.gatewayCode=PENDING result=PENDING |
The Mastercard Payment Gateway is waiting for a notification from the acquirer about the payment result. Try RETRIEVE_TRANSACTION again later or listen to notifications from the Mastercard Payment Gateway. |
response.gatewayCode=CANCELLED result=FAILURE |
The payer has canceled the interaction for this payment. Offer the payer the option to try another payment method. |
response.gatewayCode=DECLINED or ACQUIRER_SYSTEM_ERROR result=FAILURE |
The payment was declined. Offer the payer the option to try another payment method. In the case of an ACQUIRER_SYSTEM_ERROR you may want to inquire with the acquirer the reason for payment failure, or you can try RETRIEVE_TRANSACTION again. |
response.gatewayCode=TIMED_OUT result=FAILURE |
Treat this as a declined payment. The Mastercard Payment Gateway will make an attempt to ensure the transaction is not successful or will revert the transaction. |
You can refund GrabPay payments in part or in full. You must be configured for refunds on the Mastercard Payment Gateway and on your merchant account at your browser payments service provider.
The Mastercard Payment Gateway provides a browser payments emulator that allows you to test your GrabPay integration.
Copyright © 2022 Mastercard