问题描述
所以我的目标是在我点击应用程序中的 Apple Pay 按钮时显示 Apple Pay 表。所以我完成了 documentation regarding integrating Apple Pay with the Stripe API 并一步步跟进,甚至解决了故障排除问题,创建了一个新的商家 ID 和所有这些爵士乐,它出现在我在 App Store Connect 中创建的沙盒测试 iCloud 帐户中。>
现在我了解到您无法将 Stripe 测试卡保存到 iOS 中的 Wallet 应用程序中,这绝对很糟糕,而且根据我的经验,我假设您在使用与 Apple Pay 集成的 Apple Pay 时不能使用 Apple 沙盒测试卡条纹。我可能错了,但是每次我尝试使用 Apple 提供的 SandBox 测试卡使用 Apple Pay 付款时,它总是显示“付款未完成”。我还看到您可以使用实时卡而不收取费用,所以我登录了我的主 iCloud,将我的借记卡添加到电子钱包,但是当我在手机上模拟应用程序并单击 Apple Pay 按钮时,它没有出现Apple Pay 表,我使用完全相同的代码,它适用于我的沙盒帐户,所以我相信代码没有问题。
以下是代码块:
@objc func applePayTapped() {
let text = actualCostOfEvent.text
let textWithout$ = text?.replacingOccurrences(of: "$",with: "")
let finalCost = Double(textWithout$ ?? "")
let fee = Double(0.50) * Double(stepperValue.value)
let total = finalCost! + fee
let paymentRequest = StripeAPI.paymentRequest(withMerchantIdentifier: "merchant.xxxxx.xxxxx.xxxxx",country: "CA",currency: "CAD")
paymentRequest.paymentSummaryItems = [
PKPaymentSummaryItem(label: navigationItem.title ?? "",amount: NSDecimalNumber(value: finalCost!)),PKPaymentSummaryItem(label: "Service Fee",amount: NSDecimalNumber(value: fee)),PKPaymentSummaryItem(label: "Company",amount: NSDecimalNumber(value: total))
]
if let applePayController = STPApplePayContext(paymentRequest: paymentRequest,delegate: self) {
if StripeAPI.canSubmitPaymentRequest(paymentRequest) {
applePayController.presentApplePay()
startCheckout()
}
} else {
print("There was an issue presenting the Apple Pay VC")
}
}
在撰写本文时,我已经联系了 Stripe 支持人员,但与此同时,对我目前可以做什么有什么建议吗?
解决方法
为了使其正常工作,我需要使用 Apple Pay 将 .interac
添加到支持的网络。
StripeAPI.additionalEnabledApplePayNetworks = [.interac]
Apple Pay 表现在显示正常。