在尝试在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;
答案 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";
同时检查:
请注意