Я пытаюсь интегрировать Apple Pay в iOS, используя флаттер.Я использую методические каналы для связи со swift и завершения процесса оплаты.Я следовал за документацией, которая находится в этой ссылке
Тем не менее, я считаю, что застрял в самой последней части, которую я не понимаю, как продолжить поток.Поскольку я использую пользовательские интерфейсы флаттера, мне не нужны 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"))
}
}
Я называю этокод в пользовательском интерфейсе флаттера, использующий этот код:
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.Если вы проверили мой быстрый код, вы увидите, где я застрял на данный момент.
Поскольку я понял последовательность действий, осталось сделать следующее:
- отправить картуподробности для бэкэнда и получите токен
- с помощью токена, отправьте реквизиты платежа на сервер Stripe
Я очень новичок в языке swift, и примеры кода будут очень полезны длямне продолжить.
Спасибо.