2016-01-19 4 views
1

Интегрированный Apple Pay с моим адаптивным приложением. Он работает в симуляторе. При работе на устройстве все немного странно.Apple Pay via Stripe canMakePaymentsUsingNetworks

ApplePay.canMakePayments() возвращает true, пока ApplePay.canMakePaymentsUsingNetworks() возвращает false. В то время как я использую модуль RN, а не Apple, платить напрямую, оказывается, что код является правильным:

RCT_EXPORT_METHOD(canMakePaymentsUsingNetworks: (RCTResponseSenderBlock)callback) 
{ 
    NSArray *paymentNetworks = @[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa]; 

    if ([PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:paymentNetworks]) { 
    callback(@[@true]); 
    } else { 
    callback(@[@false]); 
    } 
} 

Если я игнорирую canMakePaymentsUsingNetworks, он возвращает ноль контроллер. Эта часть имеет смысл.

Телефон имеет действительную и подтвержденную карту, которая была использована с Apple Pay. Мы все еще используем ключ тестовой полосы. Это может быть проблема? Пожалуйста, порекомендуйте.

Пожалуйста, не редактируйте текст, пока не изучите английский.

+0

Как запретить кому-то плохое владение английским языком испортить мой текст? –

+0

Вы пытались указать только сеть карт, хранящихся в телефоне? Использование «любого» в документах Apple неоднозначно. Я бы ожидал, что среда Stripe не будет актуальной в этот момент. – jcaron

+0

@jcaron не понимаю вашего предложения ... советую, что я создаю приложение с указанием только визы? наши клиенты с MC и AmEx, вероятно, будут в восторге. вам не кажется? –

ответ

1

Идти в эту же проблему и только что закончил поиск и устранение неисправностей.

Вы 1. создали идентификатор продавца Apple Pay, а 2. добавили право Apple Pay на приложение? Эти шаги обозначены on the Stripe site. Как только я это сделал, он начал работать. Мне не нужно было создавать сертификат Apple Pay и загружать его в Stripe, чтобы заставить Apple Pay работать, хотя отправка маркера на Stripe завершилась неудачно, пока я это не сделал.

Обратите внимание, что в Xcode параметры проекта> Общие> Параметры команды и Настройки сборки> Параметры подписи кода соответствуют учетным данным, связанным с правом Apple Pay.

Я могу подтвердить, что этот вопрос не является причиной:

  1. тестовый режим Stripe
  2. App не построен для выпуска
  3. Выбор платежных сетей (мина устанавливается в PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa)

Обратите внимание, что даже после того, как я получил работу, я все еще видел спорадические сбои, и я не знаю, что их вызвало. Иногда приложение, казалось, попадало в странное состояние, в котором canMakePaymentsUsingNetworks всегда возвращалось в ложь; после перезапуска приложения, он волшебным образом начал работать снова.

Смежные вопросы