0

アプリで Apple Pay をセットアップしようとしていますが、現時点では iPhone 6 を持っていません。そのため、シミュレーターを購入する前に、または誰かに貸してもらう前に、シミュレーターですべてを起動して実行しようとしています。

とにかく、ApplePayビューコントローラーを実際に表示するところまで来ました。

ここに画像の説明を入力

しかし、「パスコードで支払う」をタップしても何も起こらないので、それ以上進んでサーバーですべてをテストすることはできません。

私のコードの関連部分は次のとおりです。

class PaymentVC: UIViewController,PKPaymentAuthorizationViewControllerDelegate {

@IBAction func onPaymentSubmit(sender: AnyObject) {
    if PKPaymentAuthorizationViewController.canMakePaymentsUsingNetworks(supportedPaymentNetworks) {
        let applePayMerchantID = "merchant.com.id"

        let request = PKPaymentRequest()
        request.merchantIdentifier = applePayMerchantID
        request.supportedNetworks = supportedPaymentNetworks
        request.merchantCapabilities = PKMerchantCapability.Capability3DS
        request.countryCode = "US"
        request.currencyCode = "USD"
        request.paymentSummaryItems = [
            PKPaymentSummaryItem(label: "Custom Order", amount: NSDecimalNumber(float: total))
        ]
        let applePayController = PKPaymentAuthorizationViewController(paymentRequest: request)
        applePayController.delegate = self
        self.presentViewController(applePayController, animated: true, completion: nil)
    }
}

//MARK: Apple Pay

func paymentAuthorizationViewController(controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: (PKPaymentAuthorizationStatus) -> Void) {

}

func paymentAuthorizationViewControllerDidFinish(controller: PKPaymentAuthorizationViewController) {
    controller.dismissViewControllerAnimated(true, completion: nil)
}

}

何が間違っているのでしょうか?

4

1 に答える 1

2

で支払いステータスを返す必要がありますpaymentAuthorizationViewController。デリゲート メソッドには、支払いを正常に処理できたかどうかを示すために呼び出す必要がある完了ハンドラーがあることがわかります。

于 2015-09-01T03:14:06.403 に答える