Google Pay

Learn how to accept Goorgle Pay payments.

Google Pay allows customers to make payments on the merchant website using any credit or debit card saved to 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.

Using Google Pay with payabl. Hosted Solution is pretty easy as decryption would be handled by payabl.

All merchants must adhere to the Google Pay APIs Acceptable Use Policy and accept the terms defined in Google Pay API Terms of Service.

Card Networks supported by payabl. are Mastercard and Visa.
Google Pay™ is the trademark of Google LLC.

Payment typeWallet
MarketGlobal
Customer currenciesMultiple
Processing currenciesMultiple
RefundsYes
FraudYes
ChargebackYes
PayoutsYes

📘

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 a googlepay_init payment 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:

ParameterFormatDescription
merchantid40 charactersMerchant identification number assigned during account creation
orderidmax. 40 charactersThe field orderid is optional and exclusively for the merchants' convenience
amountdigits 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
currency3 characters. ISO 4217The currency field contains the alpha-3 currency code for the transaction. Links to ISO
payment_method121payabl. Payment methods IDs
signature40 charactersSignature Calculation
emailmax. 50 charactersCustomer email. An RFC 822 compliant email address
firstnamemax. 50 charactersFirst name of the customer
lastnamemax. 50 charactersLast name of the customer
url_returnmax. 255 characters starting with http or httpsURL for customer redirection

You can see a full list of parameters in Authorization.

Request example:

merchantid=gateway_test&orderid=Payabl-Test&amount=9.99&currency=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, Order ID with sensitive information, real customer details and credit card data 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:

ParameterDescription
transactionidpayabl. internal transaction id. Please use this transaction id when referring to the transaction in communications with the payabl. team
errorcodeTransaction error code
errorcodesTechnical field
errormessageBrief explanation of transaction decline reason (empty on success)
sessionidTechnical field
redirect_urlURL for customer redirection to finalize the payment (URL encoded)

The customer will be redirected immediately to the payabl. Google Pay page to complete the transaction.

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.

Depending on the type, if the card was saved as PAN_ONLY then depending on the region additional SCA could be required where the end customer would be redirected to their bank page to complete the payment. Redirection would be handled by payabl. itself.

In case if cards were saved as 3D on Google Pay wallet, then the request would be directly sent to the processor to process the amount.

If the transaction was processed successfully, the end-customer will see the notification about the successful result and will be redirected to the merchant’s website via the URL url_return.

In parallel, a notification would be received on the notification_url provided in the initial request by the merchant

While in Google Pay hosted payment page for any reason if the back to the shop is clicked then the customer will be redirected back to the merchant’s website via the url_return URL.

To repeat/retry the payment, the order must be submitted by the merchant again.

Hosted payment page

For iframe the initial request is the same as per our iframe section.

On payabl. iframe an additional Google Pay option would appear, by clicking on it the end customer would be redirected to payabl. Google Pay hosted payment page.

Refunds

Google Pay supports refunds which can be initiated only on a successful captured transaction.
The request will send a credit note to the authorization system after the customer has already been charged. The refund amount will be credited to the customer and the merchant’s account will be charged.

The refund can be done in two ways:

  • Through API integration
  • Through payabl. dashboard

If you have API integration, you can check more in our documentation Refund.

Payouts

Google Pay supports Payouts which can be performed via 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.


Our Technical Support team is there to help you:
Email: [email protected]
Available Monday – Friday between 09:00 and 17:00 CET/CEST