Apple Pay不会显示预先填写的信息

时间:2015-11-25 05:16:16

标签: ios applepay

在尝试在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;

Apple Pay Sample

1 个答案:

答案 0 :(得分:3)

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

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中的各种来源。在使用之前始终验证信息。