Я начинаю проект интеграции Apple Pay, и мне удалось подключить транзакцию на устройстве и использовать Stripe для авторизации платежа. Часть, с которой я на самом деле борюсь, - это правильный способ устройства проверить, поддерживается ли Apple Pay? Таким образом, для старых моделей Iphone я бы предпочел скрыть функции Apple Pay, даже если на них установлена ios8 или ios9.
Я, вероятно, смогу проверить модель устройства и проигнорировать Apply Pay for ‹Iphone5S. Однако это усложняется, если мне также нужно начать тестирование версий IPad и т. Д.
Мне было интересно, есть ли какой-то единственный способ проверить, поддерживается ли ApplePay?
Я нашел этот метод в Интернете как одну идею, однако он утверждал, что Apple Pay поддерживается симулятором Iphone5, что, как мне кажется, не совсем верно. К сожалению, у меня нет реального устройства Iphone5 для тестирования.
- (BOOL) applePaySupported {
return [PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard]];
}
РЕДАКТИРОВАНИЕ / РЕШЕНИЕ:
Сейчас я использую эту линию, и проверено, что она работает для Iphone5 (не поддерживается) и Iphone6 (поддерживается); и я предполагаю другие устройства. Я не совсем уверен, что он всегда работает в Simulator, но ApplePay в любом случае немного странный, и тестирование лучше всего проводить на устройстве.
- (BOOL) applePaySupported {
return [PKPaymentAuthorizationViewController canMakePayments] && [PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:@[PKPaymentNetworkAmex, PKPaymentNetworkVisa, PKPaymentNetworkMasterCard]];
}