代码之家  ›  专栏  ›  技术社区  ›  Oleg Kosuakiv

处理信用卡添加到钱包苹果支付

  •  0
  • Oleg Kosuakiv  · 技术社区  · 6 年前

    我正在尝试在iOS Xamarin应用程序上实现安装Apple Pay按钮。我已经为它添加了按钮和点击处理程序。然后我用PKPassLibrary.OpenPaymentSetup文件()打开钱包。然后,如果用户已成功地将卡添加到钱包中,我需要通过将“设置ApplePay按钮”更改为“使用Apple Pay支付”来处理此事件。但是我找不到 工作 任何事件处理程序之类的。

    我尝试过:

    private PKPassLibrary _library;
    private NSObject _walletNotificationSubscription;
    private void OnSetuApplePayClicked(object button, EventArgs args)
    {
       _library = new PKPassLibrary();
       _library.OpenPaymentSetup();
        _walletNotificationSubscription = PKPassLibrary.Notifications.ObserveDidChange(_library, HandleEventHandler);
    }
    void HandleEventHandler(object sender, NSNotificationEventArgs e)
          {
             _walletNotificationSubscription.Dispose();
    
             ViewModel.UpdateApplePay();
             SetButtonVisibility();
          }
    

    注:我想我可能观察到不正确的事件。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Lucas Zhang    6 年前

    尝试使用以下代码:

         if(PKPaymentAuthorizationViewController.CanMakePayments)
             {
                //the device supports Apple Pay
    
                //check whether the user can make a payment with a bank card ,such as Amex ,MasterCard,Visa,ChinaUnion and so on
                NSString[] paymentString = { PKPaymentNetwork.Amex, PKPaymentNetwork.ChinaUnionPay, PKPaymentNetwork.MasterCard, PKPaymentNetwork.Visa };
    
                if(PKPaymentAuthorizationViewController.CanMakePaymentsUsingNetworks(paymentString))
                {
                    //user has added bank card ,do something you want
                }
                else
                {
                    //user has not added bank card
                }
    
             }
           else
             {
                //the device doesn't support Apple Pay
             }
    

    还有一些其他的付款方式,你可以办理入住手续

    public static class PKPaymentNetwork

        2
  •  1
  •   Oleg Kosuakiv    6 年前

    请注意,“ViewWillAppear”在这种情况下不起作用,它不是Android的“OnResume”的类似物。

    另外请注意,卡被激活后15-20秒后,将其添加到钱包,所以我用“监听周期”跟踪卡激活。

    当卡最终被激活时,我正在将按钮从设置Apple Pay切换到使用Apple Pay支付。