Почему в песочнице In-App всегда спрашивают «Требуется проверка» - PullRequest
17 голосов
/ 08 ноября 2011

Я вышел из магазина в настройках устройства.Я ввел учетные данные пользователя только в моем приложении.Я настроил нового (на самом деле около 4 раз) тестового пользователя.

Почему это сообщение продолжает всплывать?

Это связано с iOS 5, автоматической синхронизацией приложений или iCloud

Ответы [ 11 ]

16 голосов
/ 22 ноября 2011

У меня была точно такая же проблема с покупками внутри приложения в песочнице, во встроенной модели (без подтверждения квитанции) приложение получило действительные продукты, теперь я назвал addPayment, все в порядке.Но теперь появилось сообщение «Требуется проверка» и оплата была отменена.

После нескольких часов боли я обнаружил, что моя проблема была в тестовом аккаунте .. Я создал тестовый аккаунт для iTunes Store в Чешской Республике ... и это было причинойпровал.Тупой.Я попытался создать тестового пользователя в Канаде, и это неожиданно сработало!«Требуется подтверждение» больше не будет отображаться.

11 голосов
/ 13 октября 2012

Я занимался этой проблемой около недели, пытаясь использовать учетные записи в США / Канаде, но безуспешно.Наконец я нашел этот пост, и он работает: http://iphonedevsdk.com/forum/iphone-sdk-development/63008-in-app-purchase-test-account-verification-required-cant-get-passed.html Вам нужен тестовый аккаунт, к которому НИКОГДА не прикреплена кредитная карта, НИКОГДА не регистрируется в магазине itunes или магазине приложений через устройство, и если вы заходите в itunesсогласитесь на любые вещи в магазине приложений, которые аннулируют тестовую учетную запись и больше никогда не будут работать.

Итак, чтобы протестировать приложение «Покупка в приложении», необходимо использовать новую учетную запись, в которой нет кредитной карты.Выйдите из магазина и используйте свою новую учетную запись только в тестируемом приложении.

Обновление: после длительного обслуживания системы iTunes в сентябре 2013 г. только тестовые аккаунты в США могут совершать тестовые покупки.

3 голосов
/ 18 сентября 2013

Я боролся с этим сам, я наконец нашел способ, который работал для меня ...

  1. На устройстве Выйдите из учетной записи iTunes в настройках (также трудно закрыть настройки и iTunes, если они открыты в качестве меры предосторожности)
  2. Удалить приложение
  3. Создайте нового тестового пользователя на «itunesconnect.apple.com» - выбрав Соединенные Штаты в качестве своего магазина
  4. Переустановите приложение
  5. Попробуйте совершить покупку в приложении
  6. Введите данные новой учетной записи тестового пользователя
  7. Если во всплывающем окне указывается, что ему нужно поменяться местами, немедленно нажмите «Домой». НЕ нажимайте OK.
  8. Перезапустите приложение и попробуйте снова. Теперь он должен работать как положено.

Надеюсь, это сработает ...

2 голосов
/ 15 мая 2015

В дополнение к ответам выше, обратите внимание также на следующие пункты: -

1) Удалите приложение с устройства.

2) Создайте новую тестовую учетную запись в iTunes Connect и подтвердите ее адрес электронной почты. Никогда не добавляйте платежную информацию для этой тестовой учетной записи, ни в Интернете, ни в iTunes, ни на вашем устройстве. Это может привести к аннулированию вашего тестового аккаунта (и вызвать порочный цикл «проверка платежной информации»). Также никогда не используйте этот тестовый аккаунт из Песочницы.

3) Выйдите из App Store на вашем устройстве. НЕ входите в App Store через Настройки> iTunes & App Store на вашем устройстве. Позже вам будет предложено ввести учетные данные для входа в приложение (см. Пункты 5-6)

4) Переустановите приложение.

5) Попытка покупки в приложении. Теперь вам будет предложено ввести имя пользователя и пароль (после выхода из App Store)

6) Введите свое имя пользователя и пароль: вы не должны видеть ужасного «Требуется подтверждение: перед тем, как вы сможете совершать покупки, вы должны подтвердить сообщение с информацией об оплате», и покупка должна быть успешной.

1 голос
/ 05 декабря 2016

Swift 3

Вставьте этот временный код в ваш проект:

for transaction: AnyObject in SKPaymentQueue.default().transactions {
    guard let currentTransaction: SKPaymentTransaction = transaction as? SKPaymentTransaction else {return}
    SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction)
}

Это очищает очередь платежей. Обязательно запустите его намного позже, чем viewDidLoad, если можете. Я сделал мой, вызванный кнопкой. Запустил пару раз, потом удалил код. Нет больше надоедливых проверочных всплывающих окон.

1 голос
/ 17 ноября 2011

Даже в песочнице вы должны завершить покупку, подтвердив получение на сервер. Это соответствует шагам 6-7-8 встроенной модели и 11-12-13 модели сервера.

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/APIOverview/OverviewoftheStoreKitAPI.html

Все, что вам нужно сделать, это:

Извлеките данные квитанции из свойства транзакции транзакции и закодируйте их с помощью base64 encoding.create json следующим образом:

{
    "receipt-data" : "(receipt in base 64 encoding)"
}

Сделать сообщение для проверки URL для производства:

https://buy.itunes.apple.com/verifyReceipt

Для песочницы:

https://sandbox.itunes.apple.com/verifyReceipt

Ответ таков:

{
    "status" : 0,
    "receipt" : { ... }
}

Если значение статусного ключа 0, это действительная квитанция. Если значение отличается от 0, этот чек является недействительным.

Для получения дополнительной информации смотрите руководство: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/VerifyingStoreReceipts/VerifyingStoreReceipts.html

0 голосов
/ 13 марта 2014

Создание канадского тестового пользователя решит эту проблему.

0 голосов
/ 20 декабря 2013

Если у вас возникла такая проблема с покупкой 4-го пункта IAP.

Похоже, каждый тестовый аккаунт не работает для покупки более 3-х позиций приложения. Вы можете создать новую тестовую учетную запись из itunesconnect.apple.com-> Управление пользователями-> Тестовый пользователь , чтобы протестировать свой 4-й элемент IAP.

0 голосов
/ 18 сентября 2013

Зарегистрируйте нового тестового пользователя для США.Вы можете поставить любой адрес электронной почты.

Выйти из настроек.Удалить приложение.запустите его снова через xCode, войдите в систему с вашим новым пользователем в приложении.

Возможно, вы не находитесь в США и откроете браузер. Закройте браузер и запустите его снова.* Это должно работать сейчас.

0 голосов
/ 14 сентября 2013

Я столкнулся с той же проблемой, потратив несколько часов, и обнаружил, что округ / регион вашей тестовой учетной записи itunes connect и ваше устройство / симулятор должны совпадать .

Пожалуйста, проверьте это, поскольку это решило мою проблему

...