Как убедиться, что устройство iOS поддерживает Apple Pay

Я начинаю проект интеграции 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]];
}

person Miro    schedule 18.11.2015    source источник


Ответы (2)


canMakePayments - вернет «ДА» (Истина / 1) независимо от конфигурации карты.

canMakePaymentsUsingNetworks - вернет «НЕТ», если карта НЕ сконфигурирована или НЕ сконфигурирована должным образом.

Итак, следует проверить оба ... Если оба должны быть ИСТИНА, то нужно только сделать кнопку «Apple Pay» видимой.

Надеюсь это поможет.

person Ronak Chaniyara    schedule 18.11.2015
comment
Я пробовал оба условия вместе, но всегда возвращает true. Пожалуйста, дайте мне знать, что делать? - person Gopal Devra; 28.11.2015

В s wift 3.0 вы можете проверить, поддерживает ли ваше устройство Apple Pay или нет, с помощью этой функции. Верно ли, что ваше устройство поддерживает Apple Pay. Вот список устройств, поддерживающих Apple Pay:

iPhone 5s только при покупке последней версии

iPhone SE,

iPhone 6 или новее,

iPad Pro,

iPad 5-го поколения

iPad Air 2,

iPad mini 3 или новее,

и Apple Watch.

func applePaySupported() -> Bool {
            return PKPaymentAuthorizationViewController.canMakePayments() && PKPaymentAuthorizationViewController.canMakePayments(usingNetworks: [.amex, .visa, .masterCard])
}
person Himanshu Moradiya    schedule 16.12.2017