Swift как подключить apple pay

Apple Pay Integration in iOS using swift

1. First step would be to get the Apple Merchant Id.

a) Login to your Apple Developer Account.

b) Go to “Certificates, Identifiers & Profiles”. Choose iOS, tvOS, watchOS from the Navigation menu on the left.

  • Select Merchant Id section in the same left menu.
  • Click on “+” button.

c) A new tab will open. Add Merchant Id description and a unique Identifier and continue until the same is added. Save the Merchant Id you created.

2. Payment Processing Certificate:

a) Tap on the merchant ID that you created earlier. A tab will open up, select “Edit” option.

b) A new tab will open. Tap on Create Certificate.

c) Open Keychain Access in you Mac using “cmd + Space”.
d) Request a new certificate from authority.

e) Fill the Email and Common Name fields. Check “Save to disk” and “Let me specify Key Pair Information”. Click continue.

f) Select Algorithm to “ECC” and Key Size to “256 bits”. Click Continue.

g) Continue with step 2. Upload the certificate that you have created.

h) After upload is complete, please download the Apple generated certificate.

3. Configure Apple Pay :

a) Setup Apple pay in Xcode project.

4. Add below line into podfile and install pods.

# Pods for Apple Pay Demo
pod ‘Stripe/ApplePay’

5. After pod installation, make sure that you are using “project.xcworkspace”.
Note: Please don’t use “project.xcodeproj”

6. Add below code at the top of your Controller class to import pod libraries. There are chances that you don’t find these SDKs in suggestion. Don’t worry it will take some time. Or you can type the code manually.

7. Extend your view controller class with “PKPaymentAuthorizationViewControllerDelegate” class.

class ViewController: UIViewController, PKPaymentAuthorizationViewControllerDelegate

8. Add below code in your controller class.

var paymentRequest: PKPaymentRequest!
var transactionId = “”
var status = “”
var amount = 100

/**
* This function is called on tap of ApplePay Payment option in Payment Page.

* **Date:** 01-Oct-2018
*/
func setupApplePay()
<
paymentRequest = PKPaymentRequest()
paymentRequest.currencyCode = “USD”
paymentRequest.countryCode = “US”
paymentRequest.merchantIdentifier = “Your Merchant Id”

// Payment networks array
let paymentNetworks = [PKPaymentNetwork.amex, .visa, .masterCard, .discover]
if PKPaymentAuthorizationViewController.canMakePayments(usingNetworks: paymentNetworks)
<
paymentRequest.supportedNetworks = paymentNetworks
paymentRequest.merchantCapabilities = .capability3DS

Читайте также:  Диагональ экрана iphone 12 промакс

let item = PKPaymentSummaryItem(label: “Order Total”, amount: NSDecimalNumber(string: “\(amount)”))

let applePayVC = PKPaymentAuthorizationViewController(paymentRequest: paymentRequest)
applePayVC.delegate = self
self.present(applePayVC, animated: true, completion: nil)
>
else
<
// Notify the user that he/she needs to set up the Apple Pay on the device
// Below code calls a common function to display alert message. You can either create an alert or can just print something on console.
CommonMethods.displayAlert(message: “Apple Pay is not available on this device.”, viewController: self)
print(“Apple Pay is not available on this device”)
>
>

/**
* This function is called when Apple Pay payment will be authorized.

* **Date:** 01-Oct-2018
*/
func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: @escaping (PKPaymentAuthorizationStatus) -> Void)

<
// Payment token can be found like this
print(payment.token)
// Get response from the server and set the PKPaymentAuthorizationStatus
let status = PKPaymentAuthorizationStatus(rawValue: 0)!

switch status.rawValue <
case 0:
self.status = “approved”
// perform Functionality on Apple Pay Successfull Payment
default:
self.status = “failed”
>

>
/**
* This function is called when Apple Pay payment authorization is finished.

* **Date:** 01-Oct-2018
*/
func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController)

<
self.dismiss(animated: true, completion: nil)
>


9. You can call the function setupApplePay() whenever you want to start Apple Pay transaction. Either you can call the same function in viewDidLoad() or you can call this function on tap of a button.

Example: In case of button tap, you need to add a button in UI, draw IBAction of button. IBAction is a function that will be called on a tap of the button from which is referenced. In this action, you can call this function.

@IBAction func onTapBtnPay(_ sender: Any) <
setupApplePay()

Apple Pay Sandbox Testing

1. Create sandbox tester account.

a) Login to https://appstoreconnect.apple.com/
b) Select Users and Access.

c) Go to testers section in left navigation Menu. Then click on “+” button.

d) A popup will appear. Please fill that form.
Note: Please use mail that is not registered with Apple.

f) Sign out of your Apple ID on all testing devices and sign back in with your new sandbox tester account.

2. Adding a test card number :

a) Make sure you have logged out from iCloud and iTunes.
b) Sign into your test device using the sandbox tester account you created.
c) Add a sandbox card.
Example :
FPAN: 4761 1200 1000 0492
Expiration Date: 11/2022
CVV: 533

You can find more cards here.

Note : The issue you might face that card will not be added. It will shoe some error. Possible resolution maybe – you might have not logged out of device completely. Please logout form iCloud and iTunes.

Читайте также:  Айфон выключается при ударе

d) After adding the card, you can proceed with Apple Pay transaction.

Create your own eCommerce mobile app with Knowband’s mobile app builder and integrate PayU just by following these simple steps.

Источник

15 января 2019 г. Apple Pay для мобильных приложений

9 сентября 2014 года в ходе очередной презентации, компания Apple представила собственную систему мобильных платежей — Apple Pay.

С помощью платежной системы Apple Pay пользователи iPhone 6 и iPhone 6+, а также владельцы новейших версий Apple Watch могут совершать покупки онлайн, пользоваться дополнительными преимуществами apple pay для мобильных приложений и совершать платежи при помощи технологии NFC (Near Field Communication). Для авторизации платежей используются технологии Touch ID или Face ID.

Ниже мы рассмотрим как интегрировать и подключить Эпл Пей в мобильное приложение, которое требует подключения данной платежной системе в ходе разработки.

Карта доступности Apple Pay (по состоянию на 17 мая 2018 года). Синий: запущено Голубой: запуск запланирован

Итак начнём

Мы будем использовать актуальную на момент написания статьи (5 ноября 2018года) версию Swift 4.2 и Xcode 10.1.

Для интеграции Apple Pay в мобильное приложение Вы должны иметь зарегистрированный и оплаченный аккаунт разработчика (https://developer.apple.com)

Создаем проект на основе Single View Application.

Следующим шагом необходимо придумать название проекта. В качестве примера будем использовать ApplePayExample.

Далее переходим к классу ViewController. В нем и будет осуществляться работа.

Настройка Apple Pay в мобильном приложении

Для подключения Apple Pay необходимо воспользоваться библиотекой PassKit.

  1. Добавить Apple Pay в приложение;
  2. Управлять карточками в приложении Wallet.

Для настройки Apple Pay необходимо выполнить 3 обязательных шага:

  1. Создать merchant ID;
  2. Включить Apple Pay в Xcode;
  3. Создать тестового пользователя.

Заходим на https://developer.apple.com, авторизуемся в своем аккаунте и переходим на Certificates, Identifiers & Profiles.

В группе Identifiers выбираем вкладку App IDs. Заполняем необходимые поля соответственно мобильному приложению и следуем дальнейшим инструкциям.

После этого в группе Identifiers необходимо выбрать пункт Merchant IDs.

Следуя инструкциям, создаем Merchant ID для приложения.

Identifier рекомендуется называть в формате «merchant» + Bundle ID. Например: merchant.com.myapp

Мы практически завершили приготовления к нашему проекту.

Далее требуется перейти на https://appstoreconnect.apple.com в раздел Users and Access, выбрать Testers в секции Sandbox и, следуя инструкциям, создать профиль тест-пользователя.

Профиль пользователя необходим для тестирования платежей.

Шаг №1

Шаг №2

Шаг №3

Настройка Xcode

Шаг №1

Сначала нам необходимо активировать Apple Pay в Capabilities Xcode и добавить, ранее созданный Merchant ID.

Читайте также:  Все модели роутера apple

Шаг №2

Все, Apple Pay активирован. Переходим к наиболее интересной части проекта — написанию кода.

Сначала откройте Main.storyboard и добавьте кнопку.

Перейдите в ViewController.swift.

Для начала работы необходимо импортировать библиотеку PassKit: import PassKit

Далее необходимо создать экземпляр класса PKPaymentRequest.

и создать IBAction для кнопки.

Открывая PKPaymentAuthorizationViewController, необходимо подписаться на его delegate, таким образом, будет виден статус транзакции.

Кроме того, необходимо имплементировать методы делегата. Имитировать успешную транзакцию мы будем следующим образом:

completion(PKPaymentAuthorizationResult(status: .success, errors: nil))

Мы готовы к проверке Apple Pay.

Перед проверкой Apple Pay необходимо пройти авторизацию с помощью ранее созданного Sandbox пользователя и добавить в iPhone карту для тестирования.

Пример карт для тестирования:

  • FPAN: 5204 2477 5000 1471
  • Expiration Date: 11/2022
  • CVC: 111
  • FPAN: 4761 1200 1000 0492
  • Expiration Date: 11/2022
  • CVV 533

Запустите проект и нажмите кнопку «Pay».

Транзакция прошла успешно. Поздравляем, теперь Вы знаете, как интегрировать Apple Pay в мобильное приложение.

Что говорит статистика?

Компания Apple не разглашает статистику по Apple Pay, однако по данным экспертов, количество пользователей данного платежного сервиса составляет порядка 31% общего количества владельцев iPhone (более 252 млн. человек).

Кроме того, глава компании Тим Кук недавно заявил, что почти миллиард транзакций было осуществлено с применением Apple Pay в третьем квартале 2018 года.

Также растет количество банков, поддерживающих Эпл Пей. В июне 2018 года Apple сообщила о том, что свыше 4900 банков по всему миру поддерживают оплату посредством данного платежного сервиса.

Зачем Вам Apple Pay?

Из раздела выше в принципе становится ясно, зачем Apple Pay нужен, но давайте разберемся, подробнее. Итак, как он работает.

Пользователи могут совершать покупки онлайн, пользуясь Safari браузером, а также через мобильные приложения. Больше нет необходимости носить кредитные карты с собой, достаточно коснуться пальцем экрана iPhone ( если у Вас Touch ID) или просто усмехнуться в экран (в случае с Face ID) и Ваша покупка будет подтверждена.

Безопасно ли это? — спросите Вы. — Да! Однозначно, это безопасно. Во время осуществления оплаты девайс не передает данные платежной карты. Телефон генерирует специальный одноразовый токен и использует его для осуществления транзакции.

Не имеет значения, кто Вы:

  1. Пользователь
  2. Бизнесмен
  3. Разработчик

Вы просто обязаны интегрировать технологию в свой бизнес, проект или повседневную жизнь. Благодаря технологии Apple Pay можно практически полностью отказаться от использования пластиковых карт.

Источник

Оцените статью