PKContact и почтовый индекс для стран, не входящих в США
Я внедряю плату Apple для Канады, чтобы узнать местоположение пользователя, у меня должен быть его / ее почтовый индекс, чтобы оценить стоимость доставки. Я ввод
H4A2R4
как мой почтовый индекс в качестве адреса доставки для ApplePay. когда я пытаюсь получить информацию от PKContact, он просто возвращает меня
Н4А
, как я могу получить это полностью? мой пример кода:
- (NSString *)postCodeForContact:(PKContact *)contact {
return contact.postalAdress.postalCode;
}
Я также попробовал ABPersonRef, и я получил тот же результат.
2 ответа
Али ответ правильный. У вас есть вся необходимая информация в
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
didAuthorizePayment:(PKPayment *)payment
completion:(void (^)(PKPaymentAuthorizationStatus status))completion;
Просто получить к нему доступ через payment.shippingContact.postalAdress.postalCode
и если вы хотите, чтобы пользователь знал, что его адрес доставки неверен, то позвоните completion(PKPaymentAuthorizationStatusInvalidShippingPostalAddress)
в том же методе.
Я обнаружил, что это изменение было сделано Apple. полный почтовый индекс вы получаете только тогда, когда пользователи применяют свои отпечатки пальцев.