如果送货地址在 Apple Pay 中无效,如何提供详细原因

How to provide a detail reason if shipping address is invalid in Apple Pay

目前,如果收货地址无效,我们只会在收货地址旁边显示一个红色感叹号。

图片来自http://tech.mercari.com/entry/2016/05/19/150000

但是我们如何向客户提供详细的送货地址无效原因?

例如:

- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
                  didSelectShippingAddress:(ABRecordRef)address
                                completion:(void (^)(PKPaymentAuthorizationStatus status, NSArray *shippingMethods, NSArray *summaryItems))completion {
    if ([self isPoBox:address]) {
        completion(PKPaymentAuthorizationStatusInvalidShippingPostalAddress, nil, nil);
    }];

    // ...
}

对于 Apple PayApple Pay for the Web,当您使用如您所示的薪资表。

您得到的零件是

  • 城市locality
  • 状态adminstrativeArea
  • 邮编postalCode
  • 国家/地区 countrycountryCode

在 TouchID 授权付款之前,他们不会给您姓名街道地址

这确实会导致邮政信箱出现问题,因为在用户授权购买之前您不知道它是邮政信箱。正如另一条评论所指出的,Apple 拥有 Paysheet,此时你真的无能为力。

关于邮政信箱,您基本上有两种选择。

  • 付款授权后,您仍然可以停止订单。在您将 paymentToken 提交给您的信用卡处理商之前,它不会从卡中扣款。您可以简单地向客户发送消息 抱歉,我们无法运送到邮政信箱 并让他们再次点击 Apple Pay 按钮并使用不同的地址。
  • 之后联系客户并获得不同的送货地址(糟糕)