---
page_source: https://juspay.io/sea/docs/digital-wallets-sea/docs/how-to-integrate-native/check-eligibility
page_title: Check Eligibility
---


# Eligibility Check (Native)



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

To display the complete list of SDK based wallet instruments (ApplePay), call the below process function with action as ‘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.


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


## Request Parameters




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



## payload Object Parameters




### Payload
- **Country_code**:
  - Description: Country code
  - Value: AE
  - Tags: String, Mandatory
- **Mandate**:
  - Description: Mandate details for recurring payments.
  - Tags: String, Mandatory
- **Currency**:
  - Description: Transaction currency
  - Value: AED
  - Tags: String, Optional
- **Action**:
  - Description: Action type. Always `sdkWalletEligibility`.
  - Tags: String, Mandatory
- **CustomerId**:
  - Description: Unique customer ID generated by Juspay.
  - Tags: String, Mandatory
- **Amount**:
  - Description: Transaction amount.
  - Tags: String, Mandatory
- **ClientAuthToken**:
  - Description: Authentication token from the merchant backend.
  - Tags: String, Mandatory
- **GatewayId**:
  - Description: Use `gatewayId` to route payments through a specific gateway configured in your Juspay account.
  - Tags: String, Mandatory
- **GatewayReferenceId**:
  - Description: Use `gatewayReferenceId` to target a particular gateway setup using its specific reference ID.
  - Tags: String, Mandatory
- **PaymentMethods**:
  - Description: List of payment methods to check eligibility.
  - Tags: String, Mandatory



## **mandate Object Parameters** 




### Payload
- **Frequency**:
  - Description: This is the billing frequency for the subscription. This also gets displayed on the payment sheet.
  - Value: Monthly
  - Tags: String, Mandatory
- **Billing_agreement**:
  - Description: Text for the billing agreement. 
    
    > **Note**
    > The merchant can optionally include a localized **billing_Agreement**  string (up to 500 characters). This string can be used to describe recurring payment details such as the amount, frequency, or other payment terms, as well as how the user can cancel the subscription. However, it is not meant to replace the full payment terms that are provided outside of the Apple Pay payment sheet.
  - Tags: String, Optional
- **End_date**:
  - Description: End date of the mandate in epoch milliseconds.
  - Tags: String, Optional
- **Recurring_amount**:
  - Description: This field allows the merchant to display the recurring subscription amount that will be charged for future debits. If the merchant does not provide this value, the mandate**max_amount**  will be shown instead.
  - Tags: String, Optional
- **Start_date**:
  - Description: Start date of the mandate in epoch milliseconds.
  - Tags: String, Optional
- **Management_url**:
  - Description: A URL that directs the user to a page where they can modify or remove the payment method used for the recurring payment.
  - Tags: String, Mandatory
- **Max_amount**:
  - Description: Max amount which can be debited in subsequent mandate payments.
  - Tags: String, Mandatory
- **Payment_description**:
  - Description: A description of the deferred payment. Use a simple language description that explains what the payment is for.
  - Value: Hotel stay, 2 nights
  - Tags: String, Optional



## **paymentMethods Array Parameters** 




### Payload
- **PaymentMethodType**:
  - Description: Always WALLET
  - Tags: String, Mandatory
- **PaymentMethod**:
  - Description: Use JP_APPLEPAY for mandates or APPLEPAY for normal payments.
  - Tags: String, Mandatory


## Sample Code Snippets:
### Sample Request:

#### Eligibility Check Request Code Snippet:

```eligibility check request
{
  "requestId": "9440293A-7C39-4DB1-AAFE-C6F93A273854",
  "service": "in.juspay.hyperapi",
  "payload": {
    "country_code": "AE",
    "mandate": {
      "frequency": "MONTHLY",
      "billing_agreement": "dummy",
      "end_date": "2134731745451",
      "recurring_amount": "100",
      "start_date": "1745428523156",
      "management_url": "https://sandbox.juspay.in/end",
      "max_amount": "100",
      "payment_description": "trial"
    },
    "currency": "AED",
    "action": "sdkWalletEligibility",
    "customerId": "test_customer",
    "amount": "1000",
    "clientAuthToken": "tkn_5e474efa94bc4f2ca51d901c7b5f69a9",
    "gatewayId": 15, //send this if you want to select specific gateway
    "gatewayReferenceId": "xyz", //send this if you want to select gws with specific reference ids.
    "paymentMethods": [
      {
        "paymentMethodType": "WALLET",
        "paymentMethod": "JP_APPLEPAY"
      }
    ]
  }
}

```

### Sample Response:

#### Eligibility Check Response:
```plaintext
{
  "requestId": "50C1F33B-8788-4FA9-97A3-38A37F59C6C0",
  "service": "in.juspay.hyperapi",
  "payload": {
    "action": "sdkWalletEligibility",
    "paymentMethods": [
      {
        "paymentMethodType": "WALLET",
        "paymentMethod": "JP_APPLEPAY",
        "applePayCapabilities": "paymentCredentialsAvailable",
        "isEligible": true,
	   "gatewayId": 15, //send this in wallettxn call if present
	   "gatewayReferenceId": "xyz", //send this in wallettxn call if present
        "supportedNetworks": ["amex", "mada", "masterCard", "visa"]
      }
    ]
  },
  "errorCode": "",
  "error": false,
  "errorMessage": ""
}

```

