# Apple Pay Features

## Overview

In this section we will describe the new Apple Pay features supported by Sola. Please note that every feature is supported starting with certain iOS version. This means that if you requesting a feature (Recurring for example) and it requires iOS 15.4 - Apple Pay button will be shown on consumer devices with iOS 15.4+

#### Available Features

* Address Validation
* Support Recurring
* Support Subscription - For subscriptions you have to follow [Apple Pay Guidelines](https://developer.apple.com/design/human-interface-guidelines/technologies/apple-pay/subscriptions-and-donations)

In order to take advantage of any new feature Sola supports, you need to request it through [ApplePayRequest](https://docs.cardknox.com/mobile-wallets/apple-pay-hosted-checkout/apple-pay-hosted-checkout-objects-reference-request#applepayrequest) endpoint. The requiredFeatures object contains features from the [Available Features](https://docs.cardknox.com/mobile-wallets/apple-pay-hosted-checkout/apple-pay-hosted-checkout-objects-reference-request#aprequiredfeatures) list.<br>

<table data-header-hidden><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong>Feature</strong></td><td><strong>Feature Code</strong></td></tr><tr><td>Address Validation</td><td><pre><code>APRequiredFeatures.address_validation
</code></pre></td></tr><tr><td>Support Recurring</td><td><pre><code>APRequiredFeatures.support_recurring
</code></pre></td></tr><tr><td>Support Subscription</td><td><pre><code>APRequiredFeatures.support_subscription
</code></pre></td></tr></tbody></table>

**Apple Pay Request example**

```
initAP: function() {
  return {
    buttonOptions: this.buttonOptions,
    merchantIdentifier: "<your merchant>",
    ..................................
    requiredFeatures: [APRequiredFeatures.address_validation, APRequiredFeatures.support_recurring],
    ..................................
    requiredBillingContactFields: ['postalAddress', 'name', 'phone', 'email'],
    requiredShippingContactFields: ['postalAddress', 'name', 'phone', 'email'],
  };
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.solapayments.com/mobile-wallets/apple-pay-hosted-checkout/apple-pay-features.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
