【问题标题】:Setting shipping address in PKPaymentRequest for apple pay在 PKPaymentRequest 中为 Apple Pay 设置送货地址
【发布时间】:2016-04-04 17:42:00
【问题描述】:

基于苹果文档:PKPaymentRequest_Ref

每个 PKPaymentRequest 都有一个 requiredShippingAddressFields 和 shippingContact。我有一个预先填写的送货地址。这是用户在选择 Apple Pay 结帐之前插入的地址,但我想让用户根据需要选择任何其他地址。

这就是我提出要求的方式:

- (PKPaymentRequest *)paymentRequest {
    PKPaymentRequest *paymentRequest = [[PKPaymentRequest alloc] init];
    paymentRequest.merchantIdentifier = @"merchant.com.myCompany.sandbox";
    paymentRequest.requiredShippingAddressFields = (PKAddressFieldPostalAddress|PKAddressFieldPhone|PKAddressFieldName);
    paymentRequest.requiredBillingAddressFields = (PKAddressFieldPostalAddress|PKAddressFieldPhone|PKAddressFieldName);
    paymentRequest.supportedNetworks = @[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard];
    paymentRequest.billingContact = [self contactForAddress:self.info.billingAddress];
    paymentRequest.shippingContact = [self contactForAddress:self.info.shippingAddress];
    paymentRequest.merchantCapabilities = PKMerchantCapability3DS;
    paymentRequest.countryCode = [self.info.country uppercaseString];
    paymentRequest.currencyCode = [self.info.currency uppercaseString];
    paymentRequest.paymentSummaryItems = [self summaryItems];
    paymentRequest.shippingMethods = [self shippingMethod];
    return paymentRequest;
}

但是当苹果支付窗口出现时,它不显示预设的运输联系方式(我设置为 paymentRequest.shippingContact )。但在文件中它说

此送货地址出现在付款表中。当。。。的时候 PKPaymentAuthorizationViewController 类呈现,用户可以 保留您指定的地址或输入其他地址。

我的代码有什么问题吗?

【问题讨论】:

  • 你是iOS8还是9?
  • 我在 iOS 9 上进行测试。

标签: ios objective-c applepay


【解决方案1】:

我尝试使用 shippingAddress 而不是 shippingContact 并且它有效。 示例代码:

https://github.com/PersianDevelopers/ApplePay-Manager

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 2018-07-09
    • 2013-06-28
    相关资源
    最近更新 更多