# Mobile SDKs

Verifone's Mobile SDKs enable you to encrypt and validate card payments, handle 3D Secure verification, and interact with Alternative Payment Methods (APMs). Mobile SDKs also provide an optional customizable UI that can display available payment methods and collect card data. For more information on our technical integration, code snippets and examples, check our public [iOS](https://github.com/verifoneone/verifone-ecom-ios-sdk)/[Android](https://github.com/verifoneone/verifone-ecom-android-sdk) Github README pages.

To use Mobile SDKs, you must be compliant with a minimum SAQ A-EP level.

Mobile SDKs can be used to facilitate:

* Card payments (with 3DS support and customization)
* PayPal
* Google Pay
* Apple Pay

## **Availability** <a href="#availability" id="availability"></a>

Mobile SDKs are available to all users with a Verifone Central account and a card payment setup.&#x20;

Your application or system should have the following requirements or higher to apply the SDKs:

* iOS 11
* Android 7.0+

## **Benefits** <a href="#benefits" id="benefits"></a>

As a merchant, mobile SDKs allow you to:

* Safely encrypt card data
* Enhance UI customization
* Integrate services such as Google Pay, Apple Pay, PayPal
* Offer your customers localized payment methods making your business more attractive for your shoppers
* Simplify payment acceptance across different sales channels

## Payment methods <a href="#verifonemobilesdk-paymentmethods" id="verifonemobilesdk-paymentmethods"></a>

This screen allows the customers to select their preferred payment method. The payment method selection UI component can be customized to display only the methods that your system and business support. This component is optional and you are free to create your own UI.

<div data-with-frame="true"><img src="https://verifone.cloud/sites/default/files/inline-images/Payment_Methods%20Mobile%20SDKs.PNG" alt=""></div>

## Card Payments <a href="#card-payments" id="card-payments"></a>

The SDKs provide support for collecting and encrypting card data. For the encryption process you will need to generate a[ Secure Card Capture key](/online-payments/api-integration-methods-auth-and-endpoints/secure-card-capture-key.md) on the organization your username is associated to in Verifone Central. You can hide the **Save details for next time** option if you are not interested in supporting it. We recommend building your own **Thank you** page to process the result of the transaction as in the example below.

<div data-with-frame="true"><img src="https://verifone.cloud/sites/default/files/inline-images/Mobile%20SDKs%20apps.PNG" alt=""></div>

### Customizing card forms <a href="#verifonemobilesdk-customisecardform" id="verifonemobilesdk-customisecardform"></a>

Mobile SDK's customizable UI enables you to edit the font and color of the card form fields.

<div data-with-frame="true"><img src="https://verifone.cloud/sites/default/files/inline-images/card%20details_4.png" alt=""></div>

**Legend:**

1. Card form view background color
2. Background color for any text fields in a card form
3. Text color for any text fields in a card form
4. Text color for any labels in a card form
5. Pay button background color
6. Pay button background color for disabled state
7. Pay button text color
8. Card form title color

The card form can also be provided with [localization](/online-payments/checkout/localization.md).&#x20;

## 3DS <a href="#verifonemobilesdk-3ds" id="verifonemobilesdk-3ds"></a>

The SDKs provide a native 3DS experience using a Cardinal native SDK witch comes bundled into our own SDKs. To use this function, you need a 3DS contract setup in Verifone Central.

<div data-with-frame="true"><img src="https://verifone.cloud/sites/default/files/inline-images/Simulator%20Screen%20Shot%20-%20iPod%20touch%20%287th%20generation%29%20-%202022-05-13%20at%2013.25.58.png" alt="" width="375"></div>

## PayPal <a href="#verifonemobilesdk-paypal" id="verifonemobilesdk-paypal"></a>

For PayPal, we use a webview to display the customer PayPal confirmation details and provide the necessary information to finalize the payment.

<div data-with-frame="true"><img src="https://verifone.cloud/sites/default/files/inline-images/paypal%201.PNG" alt=""></div>

<div data-with-frame="true"><img src="https://verifone.cloud/sites/default/files/inline-images/paypal%202.PNG" alt="" height="595" width="580"></div>

{% hint style="info" %}
Check out our public [Android](https://github.com/verifoneone/verifone-ecom-android-sdk) and [iOS README](https://github.com/verifoneone/verifone-ecom-ios-sdk) pages for code snippets and examples.
{% endhint %}

## Google Pay (Android only) <a href="#verifonemobilesdk-googlepay-androidonly" id="verifonemobilesdk-googlepay-androidonly"></a>

Mobile SDK is using a native experience leveraging the Google Pay UI. First, Google Pay availability for the given device is being verified, then the customer is guided through the authorization steps. After the customer confirms the transaction, Verifone's system provides you with the necessary information to complete the transaction.

<div data-with-frame="true"><img src="https://verifone.cloud/sites/default/files/inline-images/MobileSDKOVerview.png" alt="" height="716" width="329"></div>

{% hint style="info" %}
Check out our public [Android README page](https://github.com/verifoneone/verifone-ecom-android-sdk) for code snippets and examples.
{% endhint %}

## Apple Pay (iOS only) <a href="#verifonemobilesdk-applepay-iosonly" id="verifonemobilesdk-applepay-iosonly"></a>

Mobile SDK is using a native experience, leveraging Apple Pay. It guides the customer through the authorization steps, then provides you with the necessary information to complete the transaction.

<div data-with-frame="true"><img src="https://verifone.cloud/sites/default/files/inline-images/ApplePay.png" alt="" height="576" width="284"></div>

{% hint style="info" %}
Check out our public [iOS ](https://github.com/verifoneone/verifone-ecom-ios-sdk)[README page](https://github.com/verifoneone/verifone-ecom-ios-sdk) for code snippets and examples.
{% endhint %}


---

# 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.verifone.com/online-payments/mobile-sdks.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.
