# Mobile Integration
source: https://developer.mastercard.com/mastercard-gateway/documentation/build/mobile-integration/index.md

The Mobile Software Development Kit (SDK) helps you develop a mobile app that accepts digital payments through the Mastercard Gateway. The Mobile SDK supports both the iOS and Android platforms. This ensures that you can cater to a wide range of customers, regardless of the device they use.
Warning: The Mobile SDK is supported from API v61 onwards.

## Recommended paths {#recommended-paths}

Select the path that matches your role and integration requirements.

|                                 If you are a...                                  |                                         Then focus on...                                         |
|----------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
| **Enterprise merchant**, a large merchant integrating directly with Gateway APIs | Accepting card payments from customers with the right balance of speed, control, and compliance. |
| **Software vendor**, an ISV embedding payment flows into platforms               | Enabling card payments for multiple merchants through a platform or product.                     |

## API reference {#api-reference}

This API supports the Mobile Integration capabilities.

* [Session](https://developer.mastercard.com/mastercard-gateway/documentation/api-reference/v100/rest/api-ops/index.md#session)

## API versions {#api-versions}

These version guidelines apply to the Mobile Integration support in Mastercard Gateway.

|      If you need       |                                                  Then...                                                  |
|------------------------|-----------------------------------------------------------------------------------------------------------|
| To integrate to an API | Integrate with API version 100 for full compatibility. Mobile SDK is supported from version 61 and later. |

## Troubleshooting and FAQs {#troubleshooting-and-faqs}

The main difference between the two SDK versions are as follows:

|                        SDK version 1                         |                                       SDK version 2                                       |
|--------------------------------------------------------------|-------------------------------------------------------------------------------------------|
| No native in-app experience                                  | Native in-app experience, without redirects                                               |
| Challenge flow with redirects                                | Multiple challenge flows such as OTP, single and multi-select, answer-based are supported |
| Issuer challenge flow through web browser on a mobile device | Smarter frictionless flow that leads to lesser challenges for payer                       |

## Supported payment methods and operations {#supported-payment-methods-and-operations}

|    Payment methods     |
|------------------------|
| Credit and debit cards |
| Apple Pay              |
| Google Pay             |

|       Operations       |
|------------------------|
| CREATE SESSION         |
| UPDATE SESSION         |
| CREATE OR UPDATE TOKEN |

The actual payment transaction and any subsequent transactions are handled as normal API requests from your server. For details, see [Subsequent Operations](https://developer.mastercard.com/mastercard-gateway/documentation/build/hosted-session/integrate-hosted-session/subsequent-operations/index.md) and [Making a Server API Request](https://developer.mastercard.com/mastercard-gateway/documentation/getting-started/make-server-api-req/index.md).

* For instructions on how to download the Mobile SDK and integrate it to your solution, see [Integration Steps](https://developer.mastercard.com/mastercard-gateway/documentation/build/mobile-integration/integrate-mobile-payments/index.md).

## Prerequisites {#prerequisites}

Before implementing a Mobile SDK solution, check that you meet the following prerequisites:

* iOS:
  * The Mobile SDK requires a minimum of iOS 11+ and is compatible with Swift 5 projects.
  * To use the Mobile SDK for iOS, you must be familiar with Xcode. To download the tool and access its documentation, see the [Xcode site](https://developer.apple.com/xcode/).
* Android:
  * The Mobile SDK requires a minimum of Android 21+.
  * To use the Mobile SDK for Android, you must be familiar with Android Studio. To download the tool and access its documentation, see the [Android Studio site](https://developer.android.com/studio).

## Key benefits {#key-benefits}

Mobile integration has the following key benefits:

* It provides a seamless payment experience for users.
* It supports [EMV 3-D Secure authentication](https://developer.mastercard.com/mastercard-gateway/documentation/build/mobile-integration/3d-secure-auth/index.md), which reduces fraudulent transactions.
* Mobile integration can be achieved through a [hosted session](https://developer.mastercard.com/mastercard-gateway/documentation/build/hosted-session/index.md) or a [payment session](https://developer.mastercard.com/mastercard-gateway/documentation/build/hosted-session/integrate-hosted-session/create-payment-session/index.md).
* As the Mobile SDK flow is based on the concept of a session, it offers the benefits of the [Hosted Session integration method](https://developer.mastercard.com/mastercard-gateway/documentation/build/hosted-session/integrate-hosted-session/index.md):
  * It may reduce PCI compliance costs as you do not handle or store any payment details.
  * Eases integration as you do not need to directly handle the values for the request fields stored in a session.
  * Reduces internal fraud as your staff have limited access to payer's details.
  * Allows you to update the request fields and values stored against a session. This is useful when a credit card expires or other payer details change.
* Allows you to retrieve request fields and values contained in a specific session ID.

## Mobile payment process {#mobile-payment-process}

When using the Mobile SDK, you need to take the following steps during the payment process:

1. In your server, create a session in the gateway and update it with the basic details about the order the payer wants to make.
2. In your mobile app, based on your [PCI compliance level](https://developer.mastercard.com/mastercard-gateway/documentation/getting-started/choosing-int-method/index.md#pci-compliance.md):

* You can collect the card details manually.
* You can use [Apple Pay](https://developer.mastercard.com/mastercard-gateway/documentation/build/mobile-integration/integrate-mobile-payments/mc-gw-ios-sdk/index.md) or [Google Pay](https://developer.mastercard.com/mastercard-gateway/documentation/build/mobile-integration/integrate-mobile-payments/mc-gw-andriod-sdk/index.md) payment methods to retrieve a payment token from the payer without having to handle payment details manually.

3. In your mobile app, authenticate the payer with EMV 3-D Secure, if you use EMV 3-D Secure authentication.
4. If you get the payment details from the payer and the payer is successfully authenticated, send the payment transaction request from your server.

For more details, see [Integration Steps](https://developer.mastercard.com/mastercard-gateway/documentation/build/mobile-integration/integrate-mobile-payments/index.md).
