【发布时间】:2019-06-29 14:45:15
【问题描述】:
我正在尝试使用颤振将 Apple Pay 集成到 iOS 中。我正在使用方法渠道与 swift 进行通信并完成付款过程。我遵循了link
中的文档但是,我相信我已经卡在了最后部分,我不明白如何继续流程。由于我使用的是 Flutter UI,因此我不需要 iOS ViewControllers。
这是我迄今为止在AppDelegate.swift 中尝试过的代码:
func handleApplePayButtonTapped(result: FlutterResult){
let merchantIdentifier = "my.apple.merchant.id"
let paymentRequest = Stripe.paymentRequest(withMerchantIdentifier:merchantIdentifier, country:"US", currency:"USD")
paymentRequest.paymentSummaryItems = [
PKPaymentSummaryItem(label:"Fancy Hat", amount:50.00),
PKPaymentSummaryItem(label:"iHats, Inc", amount:50.00),
]
if Stripe.canSubmitPaymentRequest(paymentRequest){
//next steps ???
result(String("Can submit payment request"))
}else{
result(String("Can't submit payment request"))
}
}
我正在使用这个代码在 Flutter UI 中调用这个代码:
Future<void> _doPayment() async {
String returnMsg;
try {
final bool result = await platform.invokeMethod('checkIfDeviceSupportsApplePay');
if(result){
final String status = await platform.invokeMethod('handleApplePayButtonTapped');
print(status);
}
returnMsg = '$result';
} on PlatformException catch (e) {
returnMsg = "Failed: '${e.message}'.";
}
print(returnMsg);}
我已经有一个 Stripe 可发布密钥以及一个 Heroku 部署的后端。如果你检查了我的 swift 代码,你会看到我现在卡在哪里了。
据我了解流程,剩下要做的是
- 将卡详细信息发送到后端并获取令牌
- 使用令牌,将付款详情发送到 Stripe 服务器
我对 Swift 语言非常陌生,代码示例对我继续学习很有帮助。
谢谢。
【问题讨论】:
标签: ios swift flutter stripe-payments applepay