2015-05-15 6 views
1

Я создаю приложение ios изначально в IOS 6. Я пытаюсь перенести его в IOS 7+/IOS 8, и у меня возникают проблемы с проверкой покупки в приложении.Миграция ios в App Purchase Verification

Проверка завершена сервер сторона. После каждой покупки я отправляю SKPaymentTransaction.transactionReceipt в качестве строки Base64 на мой сервер (nodeJS), который затем использует IAP_VERIFIER (https://github.com/pcrawfor/iap_verifier) для подтверждения получения.

Поскольку SKPaymentTransaction.transactionReceipt лишен, я хочу изменить его на новый NSBundle.appStoreReceiptURL, однако, когда я отправляю эту квитанцию ​​на свой сервер для проверки, проверка apple говорит, что она недействительна. Сравнивая строку Base64 трансассионацииReceipt и appStoreReceipt, они совершенно разные, appStoreReceipt намного больше.

Как проверить одну квитанцию ​​на покупку In-App с новым методом?

+0

Результаты base64 будут разными, потому что содержимое appStoreReceiptURL унифицировано для всех транзакций, поэтому вы не можете использовать разницу в закодированной информации (отдельно) для диагностики вашей проблемы. Возможно, вы должны отметить любые подробные ошибки или другое неправильное поведение. О, и посмотрите на это (документы Apple о процессе): https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html#//apple_ref/doc/uid/TP40010573- CH104-SW1 –

ответ

0

Вы уверены, что это не проблема с песочницей/производством?

Check this page, вопрос 15: Какой URL-адрес я должен использовать для подтверждения получения квитанции?

И убедитесь, что вы не попали в неправильную среду. Также проверьте кодировку base64 с помощью другого инструмента, чтобы убедиться, что вы не используете функцию багги-кодирования.