[英]PKPaymentAuthorizationViewController not calling delegate
[英]Unable to access Phone no, First-Last Name, Street from PKContact inside PKPaymentAuthorizationViewController delegate method didSelectShippingContact
我正在使用 PKPaymentAuthorizationViewController 及其委托方法集成 Apple Pay。 當用戶更改地址時,將觸發以下委托方法:
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didSelectShippingContact:(PKContact *)contact completion:(void (^)(PKPaymentAuthorizationStatus status, NSArray<PKShippingMethod *> *shippingMethods, NSArray<PKPaymentSummaryItem *> *summaryItems))completion
當我嘗試從“聯系人”訪問電話號碼時,它始終為空,姓名(名字、姓氏等)也為空。 但選定的送貨聯系人具有姓名、電話號碼、郵政地址等所有信息。
PKPaymentRequest *pkPaymentRequest = [[PKPaymentRequest alloc] init];
pkPaymentRequest.merchantIdentifier = merchantId;
pkPaymentRequest.supportedNetworks = @[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa, PKPaymentNetworkDiscover];
pkPaymentRequest.merchantCapabilities = PKMerchantCapability3DS;
pkPaymentRequest.countryCode = @"US";
pkPaymentRequest.currencyCode = @"USD";
pkPaymentRequest.requiredShippingContactFields = [NSSet setWithArray:@[PKContactFieldPostalAddress, PKContactFieldName, PKContactFieldPhoneNumber]];
在下面的屏幕截圖中找到調試信息,其中顯示 PKContact 對象“聯系人”缺少所需的信息。
我找到了解決方案,希望這可以幫助像我這樣的人。
上面的鏈接提示我無法在委托方法“didSelectShippingContact”中獲取完整的地址信息,只有在用戶使用 Touch ID、Face ID 或密碼在委托方法“didAuthorizePayment”中授權付款后才會提供'。 這里我們有一個 PKPayment(支付)對象,這個對象包含我需要進一步處理以完成支付交易的所有地址/聯系人字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.