как вызвать яблочный кошелек из приложения ios с помощью swift - PullRequest
0 голосов
/ 27 июня 2018

Я хочу отображать страницу добавления карточек Apple Wallet всякий раз, когда пользователь нажимает кнопку «Добавить карточки в кошелек» в моем приложении ios. как вызвать яблочный кошелек из приложения ios. Я включил возможности кошелька в своем приложении ios, а также сгенерировал права на кошелек для своего приложения. Как использовать PKAddPaymentPassViewControler, используя swift. пожалуйста, дайте некоторое представление об этом

1 Ответ

0 голосов
/ 05 июля 2018

ПРИМЕЧАНИЕ. Это только для эмитентов карт. Если вы хотите перенаправить пользователя для добавления способа оплаты, используйте метод openPaymentSetup . См. Мой ответ здесь для более подробной информации.

Для эмитентов карт вам необходимо специальное разрешение, выданное Apple.

Ваше приложение должно включать это право, прежде чем вы сможете использовать этот класс. Для получения дополнительной информации о запросе этого права см. Карту Раздел Эмитенты на developer.apple.com/apple-pay/.

С этот ответ :

PKAddPaymentPassViewController требуется право com.apple.developer.payment-pass-provisioning ключ для вашего приложения. Плохая новость заключается в том, что никто не может отправлять приложения с это право, поскольку оно требует специального разрешения от Apple, которое я Вера зарезервирована для эмитентов карт, таких как банки и тому подобное. если ты полагать, что вы имеете право, вам нужно связаться с Apple напрямую по адресу apple-pay-inquiries@apple.com

Вам необходимо реализовать методы делегата и инициализировать его с помощью конфигурации.

import UIKit
import PassKit

class ViewController: UIViewController, PKAddPaymentPassViewControllerDelegate {

  override func viewDidLoad() {
    super.viewDidLoad()
    if (!PKAddPaymentPassViewController.canAddPaymentPass()){
      // use other payment method / alert user
    }
    let config = PKAddPaymentPassRequestConfiguration.init(encryptionScheme: PKEncryptionScheme.ECC_V2)
    let addPaymentPassVC = PKAddPaymentPassViewController.init(requestConfiguration: config!, delegate: self)
    self.present(addPaymentPassVC!, animated: true, completion: nil)
  }

  func addPaymentPassViewController(_ controller: PKAddPaymentPassViewController, generateRequestWithCertificateChain certificates: [Data], nonce: Data, nonceSignature: Data, completionHandler handler: @escaping (PKAddPaymentPassRequest) -> Void) {

  }

  func addPaymentPassViewController(_ controller: PKAddPaymentPassViewController, didFinishAdding pass: PKPaymentPass?, error: Error?) {
    // pass added
  }

}
...