Google Payâ„¢
Google Pay™ offers the convenience of using cards stored in your Google Account, delivering a fast and secure payment solution across websites, apps, and in-store purchases. PayEngine currently supports all major card brands—Visa, MasterCard, American Express, and Discover—in the US and Canada for Google Pay™ transactions.
Note: By integrating Google Pay, you agree to Google’s terms of service and Google Pay™ API's Acceptable Use Policy
Enabling Google Payâ„¢ for your account
Using Google Payâ„¢ in your Web Application
This platform makes it easy to present Google Payâ„¢ during the checkout process in your web application. If you're already using the JS library, it's as simple as calling an extra function to present Google Payâ„¢ button.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Google Pay Demo</title>
<script src="https://console.payengine.co/js/1.0.0/embed.js?key=<your public key>" async></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.22.0/axios.min.js"
integrity="sha512-m2ssMAtdCEYGWXQ8hXVG4Q39uKYtbfaJL5QMTbhl2kc6vYyubrKHhr6aLLXW4ITeXSywQLn1AhsAaqrJl8Acfg=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
</head>
<body>
<h4>Google Pay</h4>
<div id="button"></div>
<script>
const merchantId = "<Your Merchant ID>";
const amount = <Amount you want to charge>;
const submit = (token) => {
axios
.post(
"<Your Back End Application>/api/charge",
{
merchantID: merchantId,
token: token,
amount: String(amount),
}
)
.then((resp) => {
//Handle Response from your backend
})
.catch((err) => {
//Handle Error from your backend
});
};
window.onload = () => {
PayEngine.GooglePay.configure({
merchantId: merchantId,
hmac:<Your HMAC>,
amount: amount,
selector: "#button",
buttonType: "pay",
buttonColor: 'black',
callback: function (response, error) {
if (!error) {
//Handle Success here. Typically call your backend to call PayEngine ccsale API
submit(response.token);
} else {
//Handle Google Pay Authorization Error
}
},
});
};
</script>
</body>
</html>Presenting the Google Payâ„¢ button
As shown in the example above, in your client app you just call GooglePay.configure function to present Google Payâ„¢ as an option.
Please note that you need to have provide the amount before you call this method.
Sample Token Response with metadata
Customizing Google Payâ„¢ button
You can customize the label and color of your Google Payâ„¢ Button by providing buttonType and buttonColor attributes in Google Payâ„¢ configuration object.
In addition, you can control the sizing of the button by enclosing it in another element (typically a div) with specific width and height attributes.
Dynamic Pricing Setup with Google Pay
Overview
This document outlines the setup for dynamic pricing using Google Pay, including how to configure shipping options, handle payment data changes, and calculate transaction information based on selected shipping options.
Setup Shipping Options
Shipping options define the available delivery methods for customers. Each option includes an ID, label, and description.
id: A unique identifier for each shipping option.
label: The display text shown to the user.
description: Additional information about the shipping method.
Setup Shipping Parameters and Handle Callback
This section configures the Google Pay API with the necessary parameters, including shipping address requirements and options.
shippingAddressRequired: Indicates if the shipping address is mandatory.
shippingAddressParameters: Configuration for the shipping address, including whether the phone number is required.
shippingOptionRequired: Indicates if a shipping option must be selected.
shippingOptionParameters: Sets the default selected shipping option and provides the list of available options.
onPaymentDataChanged: A callback function that handles changes in payment data.
Sample of onPaymentDataChanged Handler
The onPaymentDataChanged function processes updates to the payment data based on user interactions, such as selecting a shipping option or entering a shipping address.
calculateTransactionInfo: A function that calculates the transaction details based on the selected shipping option, including subtotal, shipping fee, and total price.
onPaymentDataChanged: This function handles different callback triggers:
INITIALIZE: When the payment process starts.
SHIPPING_ADDRESS: When the user updates their shipping address.
SHIPPING_OPTION: When the user selects a different shipping option.
This setup allows for a flexible and dynamic pricing model using Google Pay, enhancing the user experience by providing real-time updates based on shipping selections. For more detailed please refer to the official Google Pay API docs https://developers.google.com/pay/api/web/reference/client#onPaymentDataChanged
Last updated