# Accept payments with Google Pay

> Learn how to accept payments with Google Pay through embedded Antom Checkout Page (CKP).

Through the [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) service, buyers can make payments using credit or debit cards stored in their Google accounts. With Antom Checkout Page (CKP), you do not need to integrate the [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) SDK separately. Checkout Page will automatically load [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) services for you and can be configured to support [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) as an express payment method.

## User experience

#### Tab: Web

![Web user experience for completing payment with Google Pay within the embedded Antom Checkout Page](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2025/png/6252e6ad-21bf-42f0-a6a1-8ccc326a5dab.png)

#### Tab: Mobile

![Mobile user experience for completing payment with Google Pay within the embedded Antom Checkout Page](https://idocs-assets.marmot-cloud.com/storage/idocs87c36dc8dac653c1/yuque/idocs/2026/png/613c6356-a954-404e-9ca6-21f948a6a720.png)

## Integration preparations

Before you start integrating, read the [Integration Guide](https://docs.antom.com/integration_guide_en.md) and [API Overview](https://docs.antom.com/ac/ams/api_fund.md) documents to understand the integration steps of the server-side API and the precautions for calling the API. Furthermore, ensure that the following prerequisites are met:

-   Obtain a client ID
-   Complete the key configuration
-   Complete the configuration of _paymentNotifyUrl_ to receive the asynchronous notification
-   Integrate the server-side SDK package, install the server-side library, and initialize a request instance. For more details, refer to [Server-side SDKs](https://docs.antom.com/ac/sdks/server_sdks.md).
-   Refer to [Integrate the SDK package for Web/WAP](https://docs.antom.com/ac/sdks/web.md) to complete integration preparations, and ensure to use SDK 1.41.0 or above.

## Integration steps

Follow these steps to start the integration:

1.  Create a payment session
2.  Embed Antom Checkout Page
3.  Obtain the payment result
4.  Initiate capture

### Step 1: Create a payment session Server-side

Follow [Step 1: Create a payment session](https://docs.antom.com/ac/cashierpay/embeddedckp.md#5orI3) to call the [**createPaymentSession (One-time Payments)**](https://docs.antom.com/ac/ams/session_cashier.md) API and pass in the order information to create a payment session and redirect to the Antom Checkout Page. At the same time, you need to pass in the following parameters:

| **Parameter type** | **Parameter** **name** | **Required** | **Description** |
| --- | --- | --- | --- |
| Order parameters | _order.buyer_ | Yes | The buyer information of the merchant side. At least one of the following information must be provided: - _order.buyer.referenceBuyerId_ - _order.buyer.buyerPhoneNo_ - _order.buyer.buyerEmail_ > **Note**: If buyer information is not passed, selecting [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) and submitting the payment will trigger a page error and cause the payment process to fail. |
| [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) parameters | _availablePaymentMethod.paymentMethodMetaData.googlePayConfiguration_ | No | In the Checkout Page scenario, it is recommended to use the default value for this parameter. > **Note**: You can specify [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) as the only payment method in the checkout page by setting this parameter. For more details, refer to [Specify a payment method](#WQAjF). |
| Specify [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) as an express payment method | _availablePaymentMethod.paymentMethodTypeList.__expressCheckout_ | No | You can specify [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) as an express payment method either by setting this parameter to `true` or via the [Antom Dashboard](https://dashboard.alipay.com/global-payments/home). |

The following shows the sample code of a request: 

```json
{
  "order": {
    "buyer": {
      "referenceBuyerId": "yourBuyerId"
    },
    "goods": [
      {
        "goodsBrand": "Antom Brand",
        "goodsCategory": "outdoor goods/bag",
        "goodsImageUrl": "https://mdn.alipayobjects.com/portal_pdqp4x/afts/file/A*H8M9RrxlArAAAAAAAAAAAAAAAQAAAQ",
        "goodsName": "Classic Woman Bag",
        "goodsQuantity": "1",
        "goodsSkuName": "Black",
        "goodsUnitAmount": {
          "currency": "SGD",
          "value": "6000"
        },
        "goodsUrl": "https://yourGoodsUrl",
        "referenceGoodsId": "yourGoodsId"
      }
    ],
    "orderAmount": {
      "currency": "SGD",
      "value": "6000"
    },
    "orderDescription": "antom ckp testing order",
    "referenceOrderId": "c3df9b82-ff67-424b-880b-06c3615b46ea"
  },
  "paymentAmount": {
    "currency": "SGD",
    "value": "6000"
  },
  "availablePaymentMethod": {
    "paymentMethodTypeList": [
      {
        "paymentMethodType": "GOOGLEPAY",
        "expressCheckout": false,
        "paymentMethodOrder": 1
      }
    ]
  },
  "paymentNotifyUrl": "http://www.yourNotifyUrl.com/payment/receiveNotify",
  "paymentRedirectUrl": "http://localhost:8080/index.html?paymentRequestId=597795b7-c812-4132-bd7d-c55914eefdcb",
  "paymentRequestId": "597795b7-c812-4132-bd7d-c55914eefdcb",
  "productCode": "CASHIER_PAYMENT",
  "productScene": "CHECKOUT_PAYMENT"
}
```

### Step 2: Embed Antom Checkout Page Client-side

The Antom SDK is a component used for handling payment processes. To collect information and switch between apps based on the payment method specified in the [**createPaymentSession (One-time Payments)**](https://docs.antom.com/ac/ams/session_cashier.md) API, you need to initiate the SDK by creating a payment session. For details, please refer to [Step 2: Embed Antom Checkout Page](https://docs.antom.com/ac/cashierpay/embeddedckp.md#Wrla2).

### Step 3: Obtain the payment result Server-side

After the buyer completes payment or the payment times out, you can obtain the payment result either by receiving asynchronous notifications from Antom or by proactively querying the result. For detailed steps, refer to [Process asynchronous notifications](https://docs.antom.com/ac/cashierpay/embeddedckp.md#BxSuq) and [Inquire payments](https://docs.antom.com/ac/cashierpay/embeddedckp.md#AftDC).

### Step 4: Capture Server-side

If payment is successful, Antom will automatically initiate capture for you, while you can also initiate capture manually. After capture, you can obtain the capture result either via asynchronous notification or active query. You should decide whether to ship goods based on the capture result. For specific operations, refer to [Capture](https://docs.antom.com/ac/cashierpay/capture.md).

## **After payments**

After completing the payment, you can perform the following actions:

### Refund Server-side

To learn about Antom refund rules and how to initiate a refund for a successful transaction, see [Refund](https://docs.antom.com/ac/cashierpay/refund.md) for more information.

### Dispute Server-side

When a buyer chooses to pay with a card, a dispute may occur. To learn more, see [Dispute resolution](https://docs.antom.com/ac/dispute/dispute_resolution.md).

### Reconciliation Server-side

After the transaction is completed, use the financial reports provided by Antom for reconciliation. For more information on how to reconcile and the settlement rules of Antom, please refer to [Reconciliation](https://docs.antom.com/ac/cashierpay/reconcile.md).

## Additional content

### Card payment features

[Card payment features](https://docs.antom.com/ac/cashierpay/card_features.md) also apply to [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md). The following table outlines the support status of these features for [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md):

| **Type** | **Supported** | **Conditions** |
| --- | --- | --- |
| [**Antom Tokenization**](https://docs.antom.com/ac/pm/tokenization.md) | Conditional | - Not supported in CIT (Cardholder-Initiated Transaction) scenarios. It is recommended to store cards via Google accounts. - Supported in MIT (Merchant-Initiated Transaction) scenarios. |
| [**COF**](https://docs.antom.com/ac/pm/cof.md) | Yes | None |
| [**3D Secure 2**](https://docs.antom.com/ac/pm/3ds.md) | Yes | - If you set the _paymentMethodMetaData.googlePayConfiguration.allowedAuthMethods_ parameter to `CRYPTOGRAM_3DS` (or use the default value), and 3DS authentication has already been completed on the [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) side, Antom will follow the standard third-party 3DS processing flow. As a result, no additional 3DS experience will be triggered by the payment method within the Checkout Page. For details, refer to [Google Pay - Enabling liability shift for eligible Visa device token transactions globally](https://developers.googleblog.com/en/google-pay-enabling-liability-shift-for-eligible-visa-device-token-transactions-globally/). - If you set the _paymentMethodMetaData.googlePayConfiguration.allowedAuthMethods_ parameter to both `CRYPTOGRAM_3DS` and `PAN_ONLY` (or use the default value), and 3DS authentication has not been completed on the [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) side, Checkout Page will determine whether 3DS authentication is required based on the values you provide for the _is3DSAuthentication_ and _enableAuthenticationUpgrade_ parameters. |
| [**Antom 3DS-Retry**](https://docs.antom.com/ac/pm/3ds_retry.md) | Yes | None |
| [**MIT**](https://docs.antom.com/ac/pm/mit.md) | Yes | None |
| [**Installment payments**](https://docs.antom.com/ac/pm/installment.md) | No | None |

### Specify a payment method

You can specify payment methods on [Antom Dashboard](https://dashboard.alipay.com/global-payments/account/login?goto=https%3A%2F%2Fdashboard.alipay.com%2Fglobal-payments%2Fhome) through **Payments > Checkout page** **\> Payment methods**. You can also pass the parameters in the [**createPaymentSession (One-time Payments)**](https://docs.antom.com/ac/ams/session_cashier.md) API to specify the display of payment methods on Checkout Page, the order of the payment method list, and the display of express payments.

> **Note**: If you pass parameters through the API, the API values take priority.

This feature offers you the following benefits:

-   Filter local payment methods based on your business region.
-   Sort your preferred payment methods.
-   Display the mainstream quick payments, such as [Alipay](https://docs.antom.com/ac/antomop/alipay_cn.md), [Apple Pay](https://docs.antom.com/ac/antomop/applepay.md), and [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md).

To specify Google Pay as the only payment method, pass the following parameters in the _availablePaymentMethod_ parameter of the [**createPaymentSession (One-time Payments)**](https://docs.antom.com/ac/ams/session_cashier.md) API:

| **Parameter name** | **Required** | **Description** |
| --- | --- | --- |
| _paymentMethodTypeList_ | No | List of payment methods available to the buyer. The list includes the following parameters: - _paymentMethodType_: Specify this parameter as `GOOGLEPAY`. - _paymentMethodOrder_: The priority order you set for payment methods, represented by sequence numbers. The smaller the number, the higher the priority. If no sequence is set, Antom's default sorting will be used. - _expressCheckout_: Indicates whether the payment method selected by you is displayed as a quick payment method. Currently, only `ALIPAY_CN`, `APPLEPAY`, and `GOOGLEPAY` can be configured as quick payments. Valid values are: - `true`: The payment method is displayed as quick payment. - `false`: The payment method is not displayed as quick payment. |

The following is a sample code for specifying [Google Pay](https://docs.antom.com/ac/antomop/googlepay.md) as the only payment method:

```json
{
  "availablePaymentMethod": {
    "paymentMethodTypeList": [
      {
        "paymentMethodType": "GOOGLEPAY",
        "expressCheckout": true,
        "paymentMethodOrder": 0
      }
    ]
  }
}
```