gpt4 book ai didi

ios - PKPaymentAuthorizationViewController 在 iOS 8.4 上意外崩溃

转载 作者:行者123 更新时间:2023-11-28 21:41:49 28 4
gpt4 key购买 nike

背景:我在 iOS 8.2、8.3 上使用了相同的代码,它们运行良好。

PKPaymentAuthorizationViewController *paymentPane = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:request];
paymentPane.delegate = self;

[self presentViewController:paymentPane animated:TRUE completion:nil];

付款请求代码:

        PKPaymentRequest *request = [[PKPaymentRequest alloc] init];


NSString *chargeApplePay=[NSString stringWithFormat:@"%.02f",pay];

PKPaymentSummaryItem *total = [PKPaymentSummaryItem summaryItemWithLabel:@"Grand Total"
amount:[NSDecimalNumber decimalNumberWithString:chargeApplePay]];

request.paymentSummaryItems = @[total];
request.countryCode = @"US";
request.currencyCode = @"USD";
request.supportedNetworks = @[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa];
request.merchantIdentifier = @"valid.com.myIdentifier";
request.merchantCapabilities = PKMerchantCapability3DS;

问题:现在在 iOS 8.4 上,当我尝试显示我的 paymentPane 时,它​​的值不知何故为零。

Fatal Exception: NSInvalidArgumentException Application tried to present a nil modal view controller on target .

我已经通过谷歌搜索和使用来自 stackoverflow 的答案进行了尝试。

  • 使用支票喜欢

    [PKPaymentAuthorizationViewController    canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa]] 

    [PKPaymentAuthorizationViewController canMakePayments]

  • 正在检查我的商家 ID 是否有效。

  • 正在检查我用于请求的所有代码是否有效。

最佳答案

  1. 检查你是否添加了Credit card您设备中的信息 Passbook还是不是。

  2. 检查您是否可以使用您的设备进行支付。

    Objective-C :

    if ([PKPaymentAuthorizationViewController canMakePayments]) {
        NSLog(@"Can Make Payments");
    }
    else {
        NSLog(@"Can't Make payments");
    }
    swift :
    if PKPaymentAuthorizationViewController.canMakePayments() {
        NSLog(@"Can Make Payments");
    }
    else {
        NSLog(@"Can't Make Payments");
    }

  3. 检查您是否可以使用允许的 payment networks 进行付款.

    Objective-C : <pre>NSArray *paymentNetworks = [NSArray arrayWithObjects:PKPaymentNetworkMasterCard, PKPaymentNetworkVisa, PKPaymentNetworkAmex, nil];
    if ([PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:paymentNetworks]) {
        NSLog(@"Can Make payment with your card");
    }
    else {
        NSLog(@"Card is not supporting");
    }</pre>
    swift : <pre>let paymentNetworks = [PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa]
    if PKPaymentAuthorizationViewController.canMakePaymentsUsingNetworks(paymentNetworks) {
        NSLog(@"Can Make payment with your card");
    }
    else {
        NSLog(@"Card is not supporting");
    }</pre>

关于ios - PKPaymentAuthorizationViewController 在 iOS 8.4 上意外崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31760725/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com