【问题标题】:Apple Pay will not display prefilled informationApple Pay 不会显示预填信息
【发布时间】:2015-11-25 05:16:15
【问题描述】:

在尝试在 iOS 应用中设置 Apple Pay 时,我们遇到了 API 和预填充信息的问题。我们的用户流程允许用户在使用 Apple Pay 付款之前手动设置他们的地址、电子邮件和电话,因此如果他们决定这样做,我们希望确保用他们的输入填写 Apple Pay 提示。

根据development guide,这应该像在request.shippingContact 中设置这些值一样简单。但是,当我们这样做时,这些值会被忽略。

文档没有告诉我们什么?

PKContact *contact = [[PKContact alloc] init];  
contact.emailAddress = @"john@appleseed.com";
contact.phoneNumber = [[CNPhoneNumber alloc] initWithStringValue:@"5555555"];

NSPersonNameComponents *name = [[NSPersonNameComponents alloc] init];
name.givenName = @"John";
name.familyName = @"Appleseed";
contact.name = name;

request.billingContact = contact;
request.shippingContact = contact;
request.requiredBillingAddressFields = PKAddressFieldAll;
request.requiredShippingAddressFields = PKAddressFieldEmail | PKAddressFieldPhone;

【问题讨论】:

  • 你找到解决这个 Nathan 的方法了吗?
  • @JamesAnderson 您使用的是哪个版本的 Xcode/iOS?您能否澄清一下您的环境和问题所在(帐单地址丢失或电子邮件丢失)?无法在 Xcode 8 beta 6 / iOS Simulator 9-10 重现该错误。

标签: ios applepay


【解决方案1】:

如文档中所述,我们需要正确验证地址值。我们应该传递有效的地址和有效的邮政编码,见下面的代码。

PKContact *contact = [[PKContact alloc] init];

NSPersonNameComponents *name = [[NSPersonNameComponents alloc] init];
name.givenName = @"John";
name.familyName = @"Appleseed";

contact.name = name;

CNMutablePostalAddress *address = [[CNMutablePostalAddress alloc] init];
address.street = @"1234 Laurel Street";
address.city = @"Atlanta";
address.state = @"GA";
address.postalCode = @"30303";

同时检查:


注意

地址信息可以来自 iOS 中的多种来源。请务必在使用信息之前对其进行验证。

【讨论】:

    猜你喜欢
    • 2021-07-28
    • 2020-01-06
    • 1970-01-01
    • 2019-03-15
    • 2019-03-21
    • 2021-06-19
    • 2015-08-16
    • 2019-07-31
    • 1970-01-01
    相关资源
    最近更新 更多