> ## 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.

# Apple Pay & Google Pay

> Integrate Apple Pay and Google Pay mobile wallets with HaiPay, including device and browser requirements, supported regions, payment codes, limits, and API examples.

> [!WARNING]
>
> Before integrating, please review the [**API Description and Common Rules**](https://doc.haipay.net/en/guide/api-conventions.md).

> [!TIP]
>
> Both Apple Pay and Google Pay can be integrated via [**Checkout Mode (`payUrl` redirect)**](https://doc.haipay.net/en/payments/payment-link) or [**Component Mode (`clientToken` embed)**](https://doc.haipay.net/en/payments/frontend-payment-element), supporting one-time collection (CIT), [MIT charges](https://doc.haipay.net/en/payments/card-mit.md), and [fixed-term subscriptions](https://doc.haipay.net/en/payments/subscription.md).

## Device & Browser Requirements

If the Apple Pay or Google Pay button does not appear on your checkout page or component, verify your device, OS, and browser settings against the checklist below:

> [tab] Apple Pay Requirements
>
> **Device & Wallet Checklist**
>
> * At least **one supported card** must be added to Apple Wallet on the device.
> * Must use a compatible [Apple Pay device](https://support.apple.com/en-us/102896) that supports [biometric authentication (Face ID / Touch ID)](https://support.apple.com/en-us/102626).
> * Must be served over **HTTPS** in a supported Safari browser.
> * Allow Safari to check for Apple Pay: **Settings** > **Advanced** > **Allow Websites to Check for Apple Pay and Apple Card**.
> * **Do not use** Safari Private Browsing windows.
> * Confirm the device is operating in one of the [supported countries and regions](https://doc.haipay.net/en/payments/supported-regions.md).
>
> **Supported Browsers**
>
> * **Desktop**: macOS Safari 10.1+
> * **Mobile**: iOS Safari 9+, as well as other browsers using the system-provided WebKit engine

> [tab] Google Pay Requirements
>
> **Device & Wallet Checklist**
>
> * At least **one supported payment card** must be saved in the Google Pay wallet.
> * Must use a compatible [Google Pay device](https://developers.google.com/pay/issuers/overview/supported-devices#compatibility_requirements).
> * Must be served over **HTTPS** in a supported modern browser.
> * Allow Chrome to check saved payment methods: **Settings** > **Autofill and passwords** > **Payment methods** > **Allow sites to check if you have payment methods saved**.
> * **Do not use** Chrome Incognito windows.
> * Confirm you are operating in one of the [supported countries and regions](https://doc.haipay.net/en/payments/supported-regions.md).
>
> **Supported Browsers**
>
> * **Desktop**: Chrome 38+, Safari 10.1+, Edge 15+, Firefox 29+, Opera 25+
> * **Mobile**: Android Chrome 38+, iOS Safari 9+, Samsung Internet 7.1+

> [!NOTE]
>
> **General Requirements**: Browsers not explicitly listed above must support **TLS 1.2+** and native JavaScript **Promises**.

## Regional Availability

Apple Pay and Google Pay are available across 62 countries and regions. Check the [**Supported & Unsupported Regions List**](https://doc.haipay.net/en/payments/supported-regions.md) to confirm availability in your target market.

## Payment Codes, Limits & Special Rules

| Currency | Payment Type (`payType`) | Payment Code (`inBankCode`) | Single Limit (USD) | Status | Description |
| :- | :- | :- | :- | :- | :- |
| USD | `EWALLET` | `APPLE_PAY` | 0.99 - 1000 | Available | Apple Pay |
| USD | `EWALLET` | `GOOGLE_PAY` | 0.99 - 1000 | Available | Google Pay |

> [!WARNING]
>
> 1. **Mutual Exclusivity between `inBankCode` and `paymentMethods`**:
>    * To launch a single wallet, pass `payType: "EWALLET"` and `inBankCode: "APPLE_PAY"` (or `"GOOGLE_PAY"`), leaving `paymentMethods` empty.
>    * To display wallets alongside credit cards in a custom top-to-bottom order, pass `paymentMethods` (e.g., `"GOOGLE_PAY,APPLE_PAY,CREDIT_CARD"`), leaving `inBankCode` empty.
> 2. **Apple Pay Weekly Subscription Limitation**: In [Subscription Apply (`/subscription/apply`)](https://doc.haipay.net/en/payments/subscription), **Apple Pay does not support the weekly interval code `W`**. For weekly Apple Pay subscriptions, use the daily interval **`recurringInterval: "D"` with `recurringIntervalCount: 7`**.

## Core APIs & Request Examples

Mobile wallets share the same collection, MIT, subscription, and refund endpoints as credit cards:

> [card] [Collection Apply (/usd/collect/apply)](https://doc.haipay.net/en/api-reference/card/collect-apply.md)
>
> Create a one-time Apple Pay or Google Pay order, returning both `payUrl` and `clientToken`.

> [card] [MIT Collection Apply (/usd/mit/apply)](https://doc.haipay.net/en/api-reference/card/mit-apply.md)
>
> Complete initial wallet authorization and trigger subsequent off-session MIT charges.

> [card] [Subscription Apply (/subscription/apply)](https://doc.haipay.net/en/api-reference/subscription/subscription-apply.md)
>
> Create a fixed-term recurring subscription order.

> [card] [Order Query & Refund](https://doc.haipay.net/en/api-reference/card/collect-query.md)
>
> Query final order status (`/usd/collect/query`) or initiate [full/partial refunds (`/usd/refund/apply`)](https://doc.haipay.net/en/api-reference/card/refund-apply).

### Request Examples (`/usd/collect/apply`)

> [tab] Apple Pay Single Method
>
> ```json theme={null}
> {
>   "appId": 1054,
>   "orderId": "M233323000061",
>   "amount": "299.99",
>   "phone": "+12025551234",
>   "email": "robert.taylor@gmail.com",
>   "name": "Robert Taylor",
>   "payType": "EWALLET",
>   "inBankCode": "APPLE_PAY",
>   "callBackUrl": "https://merchant.com/payment/success",
>   "callBackFailUrl": "https://merchant.com/payment/fail",
>   "cancelUrl": "https://merchant.com/payment/cancel",
>   "notifyUrl": "https://merchant.com/api/notify",
>   "subject": "Apple Pay Order",
>   "partnerUserId": "149597870",
>   "sign": "af0gAHkUOyYHu9owQp8NJ4mPEeUW4vuJcjdxqLIzrVw8AvpLSjD1DXupReSG..."
> }
> ```

> [tab] Google Pay Single Method
>
> ```json theme={null}
> {
>   "appId": 1054,
>   "orderId": "M233323000062",
>   "amount": "299.99",
>   "phone": "+12025551234",
>   "email": "robert.taylor@gmail.com",
>   "name": "Robert Taylor",
>   "payType": "EWALLET",
>   "inBankCode": "GOOGLE_PAY",
>   "callBackUrl": "https://merchant.com/payment/success",
>   "callBackFailUrl": "https://merchant.com/payment/fail",
>   "cancelUrl": "https://merchant.com/payment/cancel",
>   "notifyUrl": "https://merchant.com/api/notify",
>   "subject": "Google Pay Order",
>   "partnerUserId": "149597870",
>   "sign": "af0gAHkUOyYHu9owQp8NJ4mPEeUW4vuJcjdxqLIzrVw8AvpLSjD1DXupReSG..."
> }
> ```

## Related Topics

* [Card Payments Overview](https://doc.haipay.net/en/payments/card.md)
* [Integration Modes Overview (Checkout Mode vs. Component Mode)](https://doc.haipay.net/en/payments/integration-modes.md)
* [Supported & Unsupported Regions](https://doc.haipay.net/en/payments/supported-regions.md)
* [CIT vs. MIT Transaction Modes](https://doc.haipay.net/en/payments/cit-mit.md)


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