---
page_title: Step 4: Apple Pay Eligibility
product: Digital Wallets
page_source: https://juspay.io/in/docs/digital-wallets/docs/how-to-integrate-web/step-4-apple-pay-eligibility
llms_txt: https://juspay.io/in/docs/llms.txt
product_llms_txt: https://juspay.io/in/docs/digital-wallets/llms.txt
---


# Check Apple Pay eligibility



**Always invoke this method whenever there is a change in the order amount.** 

To fetch the complete list of SDK-based wallet instruments (such as Apple Pay or Google Pay), call the following process function with the action set to `'sdkWalletEligibility'`.

> **Note**
> Depending on the `isEligible` parameter in the response, the merchant needs to decide to show or hide the corresponding instrument.




## **Verify whether the device supports Apple Pay** 



The `applePayCapabilities` method asynchronously contacts Apple Pay servers as part of the verification process and returns the `paymentCredentialStatus` of the device. 

This verifies on Safari and third-party browsers that the device is capable of making Apple Pay payments. It also verifies on Safari browsers that the device has at least one payment credential provisioned in Wallet. Depending on the response, you can determine if the device supports Apple Pay and whether to display an Apple Pay button.


### The following are possible return values:



1. `paymentCredentialsAvailable`
   
   Confirms that the device supports Apple Pay and there’s at least one active payment credential in Wallet that qualifies for payments on the web. Show an Apple Pay button and offer Apple Pay as the primary, but not necessarily sole, payment option.
2. `paymentCredentialStatusUnknown`
   
   Confirms that the device supports Apple Pay, but the Wallet information is unknown. Show an Apple Pay button and offer Apple Pay as a possible payment option.
3. `paymentCredentialsUnavailable`
   
   Confirms that the device supports Apple Pay and that the device doesn’t have any active payment credentials in Wallet. Offer Apple Pay as a payment option, but don’t make it the sole or default payment option. This gives people the option to set up Apple Pay as part of their purchase.
4. `applePayUnsupported`
   
   Indicates that the device doesn’t support Apple Pay. Don’t display an Apple Pay button or offer Apple Pay as a payment option.

**The following code shows how to check that a payment method is available before displaying an Apple Pay button.** 

![Image](https://dth95m2xtyv8v.cloudfront.net/tesseract/assets/digital-wallets/Screenshot%202025-05-13%20at%201.16.54%E2%80%AFPM.png)




## Request parameters




### Payload
- **RequestId**:
  - Description: Unique identifier for the request.
  - Tags: String, Mandatory
- **Service**:
  - Description: Always in.juspay.ec
  - Tags: String, Mandatory
- **Payload**:
  - Description: Contains the main request payload.
  - Tags: String, Mandatory



## payload Object Parameters




### Payload
- **Action**:
  - Description: Type of action. Always set to `sdkWalletEligibility`.
  - Tags: String, Mandatory
- **CustomerId**:
  - Description: Unique customer identifier.
  - Tags: String, Mandatory
- **GatewayReferenceId**:
  - Description: Use `gatewayReferenceId` to target a particular gateway setup using its specific reference ID.
  - Tags: String, Optional
- **ClientAuthToken**:
  - Description: Authentication token generated by the merchant backend.
  - Tags: String, Mandatory
- **CountryCode**:
  - Description: Country code
  - Value: IN
  - Tags: String, Mandatory
- **Currency**:
  - Description: Transaction currency
  - Value: INR
  - Tags: String, Mandatory
- **Amount**:
  - Description: Transaction amount to check eligibility for.
  - Tags: String, Mandatory
- **PaymentMethods**:
  - Description: List of payment methods to check eligibility.
  - Value:
    - **PaymentMethod**:
      - Description: Use `APPLEPAY`for DPAN Payments
      - Tags: String, Mandatory
    - **PaymentMethodType**:
      - Description: Always WALLET
      - Tags: String, Mandatory
    - **AdditionalInfo**:
      - Description: Contains additional details required for eligibility check.0

        > **Note**
        > While passing `requestor_domain` in `additionalInfo`, ensure that only the domain name is provided (e.g., `www.example.com`). Do **not**  include protocols such as `https://` or `http://`, as this may lead to transaction failures.
      - Tags: String, Mandatory
  - Tags: String, Mandatory


## Sample Code Snippets:

### Sample Request:

#### Sample Request Code Snippet:

```sample request
{
  "requestId": "eee6f65e-23dc-42e1-ad7c-ec3cddd64ac9",
  "service": "in.juspay.ec",
  "payload": {
    "action": "sdkWalletEligibility",
    "customerId": "CUSTOMER_ID",
    "gatewayReferenceId": "dpan_eligible",
    "clientAuthToken": "tkn_0e37edc631d647fdb606ab48ccfc4213",
    "countryCode": "IN",
    "currency": "INR",
    "amount": "200.0",
    "paymentMethods": [
      {
        "paymentMethod": "APPLEPAY",
        "paymentMethodType": "WALLET",
        "additionalInfo": {
          "requestor_domain": "www.google.com"
        }
      }
    ]
  }
}

```

### Sample Response:

#### Response:
```plaintext
{
  "requestId": "eee6f65e-23dc-42e1-ad7c-ec3cddd64ac9",
  "service": "in.juspay.ec",
  "payload": {
    "action": "sdkWalletEligibility",
    "paymentMethods": [
      {
        "paymentMethod": "APPLEPAY",
        "paymentMethodType": "WALLET",
        "gatewayId": "12",
        "applePayCapabilities": "paymentCredentialsUnavailable",
        "gatewayReferenceId": "ABCD",
        "isEligible": false,
        "supportedNetworks": [
          "masterCard",
          "visa"
        ]
      }
    ]
  }
}
```



---

## See Also

- [Step 3: Initiate SDK](https://juspay.io/in/docs/digital-wallets/docs/how-to-integrate-web/step-3-initiate-sdk)
- [Step 5: Create Order API](https://juspay.io/in/docs/digital-wallets/docs/how-to-integrate-web/step-5-create-order-api)
