Google Pay
Learn how to accept Google Pay payments.
Google Pay™ allows customers to make payments on a merchant’s website using any credit or debit card stored in their Google Account. When a customer pays with Google Pay in apps and on websites, Google Pay shows a payment sheet where they select their preferred card payment method and confirm their purchase.
Use the Google Pay API to request any credit or debit card stored in your customer’s Google account.
You can use Google Pay either via Hosted Payment Page (handled by payabl.) or via Direct API integration.
All merchants must adhere to the Google Pay APIs Acceptable Use Policy and accept the terms defined in Google Pay API Terms of Service. Google Pay is the trademark of Google LLC.
If you want to use ready Google Pay tokens instead of payabl.'s tokenization feature, please find more info here External Tokens.
| Payment type | Wallet |
| Market | Global |
| Customer currencies | Multiple |
| Processing currencies | Multiple |
| Refunds | Yes |
| Fraud | Yes |
| Chargeback | Yes |
| Payouts | Yes |
Recurring
To make a subscription for this method use Credentials on File (tokenization).
The initial request is sent to /googlepay_init link and follow-up transactions need to be sent to the authorization /payment_authorize link.
Direct Integration
General Flow
POST Request -> to /googlepay_init
<- Response (direct, synchronous) with status=0 and redirect_url
Customer is redirected to redirect_url for googlepay
<- HTML response with status=0 (or decline) to return_url
<- Callback (asynchronous) with errorcode= 0 to notification_url
Detailed Flow
Send agooglepay_initpayment request from your server.
POST https://sandbox.payabl.com/pay/payment/googlepay_init
Include all required and optional parameters in your request for processing of the payment:
| Parameter | Format | Description |
|---|---|---|
merchantid | 40 characters | Merchant identification number assigned during account creation |
orderid | max. 40 characters | The field orderid is optional and exclusively for the merchants' convenience |
amount | digits only, either no decimals or two decimal places (e.g. 8 or 8.50) | Transaction’s total amount that will be deducted from the customer |
currency | 3 characters. ISO 4217 | The currency field contains the alpha-3 currency code for the transaction. Links to ISO |
payment_method | 121 | payabl. Payment methods IDs |
signature | 40 characters | Signature Calculation |
email | max. 50 characters | Customer email. An RFC 822 compliant email address |
firstname | max. 50 characters | First name of the customer |
lastname | max. 50 characters | Last name of the customer |
url_return | max. 255 characters starting with http or https | URL for customer redirection |
You can see a full list of parameters in Authorization.
Request example:
merchantid=gateway_test&orderid=Payabl-Test&amount=9.99¤cy=EUR&[email protected]&language=en&firstname=John&
lastname=Doe&payment_method=121&zip=3035&street=Olympion&house=23&city=Limassol&country=CYP&url_return=https://yourshop.example/thank_you&
notification_url=https://yourshop.example/notification&customerip=2.22.75.244&signature=0831c9eea7a5c3cab91eb4bf5d0d9a6471f37cfd
Public Sandbox information
Do not use your personal email address, real customer details, credit card data, or any Order IDs containing sensitive information in the public Sandbox. For email field you may use [email protected].
The payment gateway sends to you the response that includes the initiation URL (redirect_url parameter) for redirecting the customer only if your server received a successful response from the payment gateway after googlepay_init payment request.
Response example:
errorcode=0&errorcodes=&errormessage=&sessionid=3be4a233f89a778a8c6ee52db18a086e25f90937&transactionid=105103069&
redirect_url=https%3A%2F%2Fsandbox.payabl.com%2Fiframes%2F3be4a233f89a778a8c6ee52db18a086e25f90937%2Fgoogle_pay
Response fields reference:
| Parameter | Description |
|---|---|
transactionid | payabl. internal transaction id. Please use this transaction id when referring to the transaction in communications with the payabl. team |
errorcode | Transaction error code |
errorcodes | Technical field |
errormessage | Brief explanation of transaction decline reason (empty on success) |
sessionid | Technical field |
redirect_url | URL for customer redirection to finalize the payment (URL encoded) |
The customer is immediately redirected to the payabl. Google Pay page to complete the transaction. The Google Pay button, including the Google Pay logo and colors (see Google Pay web brand guidelines), is displayed here.
After clicking the Google Pay button - a payment sheet will appear (see below).
Once the transaction is authorized via fingerprint or face recognition or with a passcode - payment would start processing.
If the card was saved as PAN_ONLY, additional SCA may be required depending on the region. In such cases, the customer is redirected to their bank’s page to complete the payment. The redirection is handled automatically by payabl.
If the card is saved as 3DS in the Google Pay Wallet, the request is sent directly to the processor to complete the payment.
If the transaction is processed successfully, the customer will see a success notification and will be redirected to the merchant’s website via the url_return parameter.
In parallel, a notification is sent to the notification_url provided by the merchant in the initial request.
If the customer clicks Back to Shop on the Google Pay hosted payment page for any reason, they will be redirected to the merchant’s website via the url_return URL.
To repeat or retry the payment, the merchant must submit the order again.
Hosted Payment Page
For the iframe integration, the initial request follows the same structure described in the iframe section.
On the payabl. iframe, an additional Google Pay option appears. When the customer clicks this option, they are redirected to the payabl. Google Pay hosted payment page to complete the transaction.
Refunds
Google Pay supports refunds that can be initiated only for successfully captured transactions.
When a refund request is made, a credit note is sent to the authorization system after the customer has been charged. The refunded amount is then credited to the customer, and the corresponding amount is deducted from the merchant’s account.
The refund can be processed in two ways:
- Through the API integration
- Through the payabl. dashboard
If you are using API integration, refer to the Refund documentation for more details.
Payouts
Google Pay supports Payouts which can be performed via the payabl. Dashboard interface (allowed only based on the original transaction ID) or via our API.
The payout request can be done in two ways:
- with existing transaction-id received during original payment
- with credit card info
For Payouts use payment_method=1
You can check more in our documentation CFT.
Card Networks
We support Google Pay for Visa, Mastercard and Amex credit cards.
Authorization
Google Pay offers two different authorization methods and we support both of them:
- PAN_ONLY: 3DS is required, our standard 3DS flow applies.
- CRYPTOGRAM_3DS: 3DS is not required, authentication is performed by Google Pay.
3D Secure
We offer 3D Secure (3DS) for Google Pay PAN_ONLY transactions. The payabl. technical support team is happy to help you enable 3D Secure.
Google Pay Documentation
Official Google Pay documentation can be found at https://developers.google.com/pay/api/web/.
Our Technical Support team is there to help you:
Email: [email protected]
Available Monday – Friday between 09:00 and 17:00 CET/CEST
Updated 10 days ago
