Apple Pay не отображает предварительно заполненную информацию
При попытке настроить Apple Pay в приложении iOS мы столкнулись с проблемой с API и предварительной заполнением информации. Наш пользовательский поток позволяет пользователю вручную устанавливать свой адрес, электронную почту и телефон перед оплатой с помощью Apple Pay, поэтому мы хотим быть уверены, чтобы заполнить приглашение Apple Pay с их вводом, если они решают это сделать.
В соответствии с руководство по разработке, это должно быть так же просто, как установить эти значения в request.shippingContact. Однако, когда мы это делаем, значения игнорируются.
Есть ли что-то, что документация нам не сообщает?
PKContact *contact = [[PKContact alloc] init];
contact.emailAddress = @"[email protected]";
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
Как уже упоминалось в документации, нам необходимо правильно проверить значения адресов. Мы должны передать действительный адрес с действующим почтовым индексом, см. Код ниже.
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. Всегда проверяйте информацию перед ее использованием.