> ## Documentation Index
> Fetch the complete documentation index at: https://doc.haipay.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Pay Integration Guide

> Learn about Google Pay integration, including device requirements, collection API, Front-End Component, and token retrieval.

> [!WARNING]
>
> **Before reading this API documentation, be sure to review the [API Description Guide](https://doc.haipay.net/en/history/V20260701/get-started/api-conventions.md)**

> [!TIP]
>
> Use [Payment Link](https://doc.haipay.net/en/history/V20260701/payments/cards/payment-links.md) or [Front-End Component](https://doc.haipay.net/en/history/V20260701/payments/cards/payment-element.md) to quickly integrate Google Pay.

> [!CAUTION]
>
> Google Pay is available only in selected countries and regions. Please check the [supported countries and regions list](https://doc.haipay.net/en/history/V20260701/payments/cards/supported-regions.md) to confirm your target market availability.

## Device and Browser Requirements

> [!TIP]
>
> If you cannot see the Google Pay button on the payment page, your device or browser may not meet the following requirements.
>
> * You must have at least one card in your wallet.
> * You must use a compatible [Google Pay device](https://developers.google.com/pay/issuers/overview/supported-devices#compatibility_requirements).
> * You must use **HTTPS** and [Supported Browsers](#supported-browsers) for testing.
> * Allow Chrome to access your wallet: **Settings** > **Autofill and passwords** > **Payment methods** > **Allow sites to check if you have payment methods saved**
> * Do not use Chrome incognito window.
> * Confirm you are in a supported Google Pay region.

> [!TIP]
>
> **Desktop Browsers**
>
> * Chrome 38+
> * Edge 15+
> * Firefox 29+
> * Opera 25+
>
> **Mobile Browsers**
>
> * Android Chrome 38+
> * Samsung Internet 7.1+
>
> **Other Notes**
>
> For browsers not explicitly listed above, we limit support as follows:
>
> * Browser must support **TLS 1.2**
> * Requires a modern browser supporting JavaScript **Promises**
> * We respond to error reports but do not actively test other browsers

## Transaction Limits

| Transaction Type | Limit (USD) |
| :- | - |
| Collection | 0.99-1000 |

## Collection API

### Collection Apply

**Description:**

* Create a collection order

**URL:**

USD: `/usd/collect/apply`
Description: Use the appId corresponding to USD. After successful payment, the user's USD balance increases.

**Parameters:**

| Parameter | Required | Type | Description |
| :- | :- | :- | :- |
| appId | Yes | Long | Business ID (obtained from the dashboard; use the one corresponding to the currency in the URL) |
| orderId | Yes | String | Merchant order number (must be unique, max 48 characters) |
| name | No | String | User name; real name recommended. Format: firstName and lastName separated by space. Example: John Doe |
| phone | Yes | String | Real phone number (format reference: [phone format](https://doc.haipay.net/en/history/V20260701/resources/faq.md#en_faq_phone-number-format)) |
| email | No | String | Real email address |
| amount | Yes | String | Transaction amount (2 decimal places; no punctuation such as ",") |
| payType | Yes | String | **EWALLET** |
| inBankCode | Yes | String | **GOOGLE\_PAY** |
| clientIp | No | String | Client IP address |
| callBackUrl | Yes | String | Redirect URL after successful payment |
| callBackFailUrl | Yes | String | Redirect URL after failed payment |
| cancelUrl | No | String | If provided, the payment page displays a Back button that redirects the user to this URL when clicked. |
| notifyUrl | No | String | Callback URL |
| subject | Yes | String | Payment remark |
| body | No | String | Remark details |
| partnerUserId | Yes | String | Unique user identifier (e.g. userId) for risk control. Must be real and valid. Format: digits, letters, or common symbols -\~!@#\$%&\*()\_. |
| paymentMethods | Yes | String | Supported payment method list, separated by English commas, e.g., CREDIT\_CARD,GOOGLE\_PAY,APPLE\_PAY |
| sign | Yes | String | Signature |

**Request Example**

```json theme={null}
{
  "appId": 1054,
  "orderId": "M233323000059",
  "amount": "299.99",
  "phone": "02012345678",
  "email": "robert.taylor@gmail.com",
  "name": "Robert Taylor",
  "inBankCode": "GOOGLE_PAY",
  "payType": "EWALLET",
  "partnerUserId": "149597870",
  "sign": "af0gAHkUOyYHu9owQp8NJ4mPEeUW4vuJcjdxqLIzrVw8AvpLSjD1DXupReSG/CyuSkFRyiIvCp5u703AuGGmfgD2gKDH3Ywau41bAbG2jnHJ8mtjiSJ5iWUzanyd4Kr7d1+rETbzUl7/BkW3t0X8UUFdqpxwG8DPUjAwUKfplWDHV7koG51Ozexd80DCsmW6eWdouAZ1uNXGLYmV3ftE3BmfNRtuv1C5bfTJWrTEIOxbF6g2uYOFZTlIgrQgd7/2PsAYwQQXNz8Q8CYl4OxqCv4pXJxaLWPbR5tqZu9og5kn32C9aHW/NlU1y39vzz+4ef81yPAqUV9oHlSMSPrMmw=="
}
```

**Response Example**

```json theme={null}
{
  "status": "1",
  "error": "00000000",
  "msg": "",
  "data": {
    "orderId": "M233323000059",
    "orderNo": "6023071013539074",
    "payUrl": "",
    "clientToken": "",
    "sign": "YEoA8Y2JzQFGVzwJSqmemm1Kfv/bfyIfCqv2dp7RNzT5B72AQvdD+nt2nR4sL1HWscvmNHyVt5ovAi7MMhy3ziih/sMph+wPx4YjH3W1h5DyBvSlWvaKfKrK5ViomZ0pPYWydwRHnnRnicxToHK9S6qtSy7Q73O0hdz4hJ9p41Th3ycBl2Q9SeqSZYSY1ohcPDhdyRf2y0prb8rHgpBKzxZ5BKX/1bsE9OmsSEHAEYT8OGgko6aNe8XPAhr4G48cpWTftvnGQuzh0O65nuZRI/PF+Axt2zJCVbFHDDSREI9NlAT82ebDqhlVdxQzKE67D1nxgjb3dPmDUYHOBpmwxQ=="
  }
}
```

Response data parameters

| Parameter | Type | Description |
| :- | :- | :- |
| orderId | String | Merchant order number (must be unique) |
| orderNo | String | Platform order number |
| payUrl | String | Payment URL |
| clientToken | String | Client token for use in the Front-End Component (see [Front-End Component](https://doc.haipay.net/en/history/V20260701/payments/cards/payment-element.md)) |
| sign | String | Signature |

### Collection Query

**Description:**

* Query collection order

**URL:**

USD: `/usd/collect/query`

**Parameters:**

| Parameter | Required | Type | Description |
| :- | :- | :- | :- |
| appId | Yes | Long | Business ID (obtained from the dashboard; use the one corresponding to the currency in the URL) |
| orderId | Yes | String | Merchant order number |
| orderNo | No | String | Platform order number (faster response) |
| sign | Yes | String | Signature |

**Request Example**

```json theme={null}
{
  "appId": 1054,
  "orderId": "M22222000028",
  "sign": "EmyJGm3ELzG4FsOd0Krs9ncbSjo4oTGuXWML+7djYla3+VAwd9wS17z38p/7U2ZAjroO04XrE7YXcB1o76Dtyipj3h3bJzs7FYma1QNkMUdt9hh7m8U6hMsMQX7vIWHtXNwz4pbTSC75+kQWXaCew7KoE6LXECdJU8AISgNgeki2TK9R0pCfshr0Z2SZBPeuT6OvIH5LdmqgdZhuqnffGU2qnXk4KMkO848e6/WALLBR+LE1wyKHfPnYVcuKSMVYxkvKyyIL5JIPEgW0o5bh4RCbaUn3NZtyYwrU1uQ3ZDFRThm9j6XAQP+LBlmq3nOePqBtp/VDVarRaV+7FbQg3A=="
}
```

**Response Example**

```json theme={null}
{
  "status": "1",
  "error": "00000000",
  "msg": "",
  "data": {
    "orderId": "M22222000028",
    "orderNo": "6023042811314347",
    "amount": "299.99",
    "actualAmount": "0.00",
    "fee": "0.00",
    "status": 1,
    "sign": "fP433ygWVDLVGxYkVnIJj7riGq0U3vyVX+MbBAImxfGLZkZcEAHVEoVYuULZSmXAAXKRSyd67WlDNm+24pougM54ofAoH4HMtCL2tfCoBReFyz3z02AGKkrKE2xWhSpWoqfQoBvzwuN5iGMMu0s9Q1YvqiwJ8WDVIENnmiIyD8qDJN7caHTW2US14/faG+69AvnuIgJ/nu7/jogOlgEYdZdVYU7gcRDE+d47KjlFGswQkJ/h/uzV7cWtUqrtOO7ZnZ3/z33Xx8awokX36QoYcPSWAU0h+Ij9O9402HNhm1eTbYcLU0uI/z8xCAtyAI/tTyiFijpiNlxUKQj+zKsILw=="
  }
}
```

Response data parameters

| Parameter | Type | Description |
| :- | :- | :- |
| orderId | String | Merchant order number (must be unique) |
| orderNo | String | Platform order number |
| amount | String | Transaction amount |
| actualAmount | String | Actual amount received |
| fee | String | Fee |
| status | Integer | Status (0: not started, 1: paying, 2: success (final), 3: failed (final), -1: exception pending confirmation) |
| payTime | String | Payment success time (available when status=2), local time, format: yyyy-MM-dd HH:mm:ss |
| errorMsg | String | Payment failure reason (available when status=3) |
| sign | String | Signature |

## Payment Methods

| Currency | Payment Type (payType) | Payment Code (inBankCode) | Limit | Status | Description |
| :- | :- | :- | :- | :- | :- |
| USD | EWALLET | GOOGLE\_PAY | 0.99-1000 | Available | Google Pay |

## Related Topics

* [Front-End Component](https://doc.haipay.net/en/history/V20260701/payments/cards/payment-element.md)
* [Payment Link](https://doc.haipay.net/en/history/V20260701/payments/cards/payment-links.md)
* [Apple Pay](https://doc.haipay.net/en/history/V20260701/payments/cards/apple-pay.md)
* [International Credit Card (VISA/MASTER)](https://doc.haipay.net/en/history/V20260701/payments/cards/overview.md)
* [Handle Asynchronous Notifications and Verify Signatures](https://doc.haipay.net/en/operations/callback.md)
* [Use Test Card Numbers for Successful and Failed Payments](https://doc.haipay.net/en/history/V20260701/testing/test-cards.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.