を作成し、プロパティを にPKPaymentRequest
設定しています。システムは住所要件を強制しますが、電話要件は無視します。(この場合の強制は、ユーザーがフィールドに入力するまで Apple Pay トランザクションの続行を許可しないことを意味します。)requiredBillingAddressFields
PKAddressFieldPostalAddress | PKAddressFieldPhone
私たちのアプリは配送先住所を必要としませんが、デバッグ中にrequiredShippingAddressFields
プロパティを設定したPKAddressFieldPostalAddress | PKAddressFieldPhone
ところ、電話番号の要件が適用されていることがわかりました。
PKPaymentRequest
またはのPKAddressField
ドキュメントには、これが予期された動作であることを示唆するものは何もありません。これを回避する方法についてのアイデアはありますか?
編集 - 完全な方法は次のとおりです。
+ (PKPaymentRequest *)newPayRequestFromBasket:(WFBasket *)basket
{
PKPaymentRequest *request = [PKPaymentRequest new];
request.supportedNetworks = [WFApplePayManager supportedPaymentNetworks];
request.countryCode = [WFAppTargetDispatcher currentAppTarget].storeConfig.countryCode;
request.currencyCode = [WFAppTargetDispatcher currentAppTarget].storeConfig.currencyCode;
request.merchantIdentifier = [WFAppTargetDispatcher currentAppTarget].storeConfig.merchantIdentifier;
request.merchantCapabilities = PKMerchantCapability3DS; // Support of 3DS is mandatory
int64_t orderId = basket.orderId;
request.applicationData = [NSData dataWithBytes:&orderId length:sizeof(orderId)];
request.paymentSummaryItems = [WFApplePayManager allSummaryItemsFromBasket:basket];
request.requiredBillingAddressFields = [WFApplePayManager requiredBillingFields]; // = PKAddressFieldPostalAddress | PKAddressFieldPhone
return request;
}