簡體   English   中英

無法從 PKPaymentAuthorizationViewController 委托方法 didSelectShippingContact 中的 PKContact 訪問電話號碼、姓氏、街道

[英]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 對象“聯系人”缺少所需的信息。

在此處輸入圖片說明

在此處輸入圖片說明

在此處輸入圖片說明

我找到了解決方案,希望這可以幫助像我這樣的人。

https://developer.apple.com/documentation/apple_pay_on_the_web/applepaypayment/1916097-shippingcontact

上面的鏈接提示我無法在委托方法“didSelectShippingContact”中獲取完整的地址信息,只有在用戶使用 Touch ID、Face ID 或密碼在委托方法“didAuthorizePayment”中授權付款后才會提供'。 這里我們有一個 PKPayment(支付)對象,這個對象包含我需要進一步處理以完成支付交易的所有地址/聯系人字段。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM