Платежи через iTunes являются де-факто лидерами по монетизации контента мобильных приложений.
В одном из известных мне приложений доход от них в 3 раза превышает доход от пользователей Google Play, несмотря на то, что трафик у последних в 1,5 раза выше.
Таким образом, с одного пользователя iTunes вы можете получить до 5 раз больше денег, чем с одного пользователя Google Play. Этого аргумента достаточно для интеграции платежей iTunes в мобильные приложения.
В данной статье описаны некоторые особенности проверки платежей iTunes (в том числе подписок) со стороны сервера, которые, как мне показалось, недостаточно освещены в существующих статьях.
В соответствии с руководство разработчика Существует две схемы проверки платежных операций: простая, при которой транзакция подтверждается в результате взаимодействия мобильного приложения и App Store, и сложная.
Во втором случае вводится дополнительный этап подтверждения с вашего собственного сервера посредством доступа к сервису iTunes Connect. Тот факт, что платежная транзакция была успешно подтверждена через iTunes Connect, считается достаточным для подтверждения платежа.
К недостаткам простой проверки относятся потерянное доверие .
К преимуществам комплексного можно отнести простоту работы с подписками, возможность начисления мирских товаров и хранения списка товаров на стороне сервера.
Последние два пункта особенно актуальны, когда приходится неделю ждать обновления приложения в App Store. Или, может быть несколько недель , если вы вдруг решите порадовать пользователей заманчивым товаром накануне христианского Рождества.
О безопасности я даже не говорю — на следующем графике все вполне понятно:
Вот как может выглядеть совершенно обычный день в системе мониторинга платежных запросов абстрактного приложения.
Синий цвет обозначает общее количество запросов на проверку платежа.
Зеленый — запросы, которые действительно прошли через App Store. А красный цвет указывает на вредоносные запросы.
Страшно представить, какую упущенную выгоду может получить приложение, если проигнорирует подтверждение оплаты сервером.
Процент данных из графика представлен в следующей таблице:
Особенность запроса | Процент |
---|---|
Не подтверждено.
Ложные платежи, состоящие из данных, аналогичных правильным, но, возможно, отсутствует поле, число представлено в виде линии или имеется какая-то другая отличительная особенность, не позволяющая проверить платеж.
|
0.7% |
Повторы.
Запросы от клиента с подтвержденным платежом, но отправленным повторно через некоторое время |
1% |
Взломщики платежей (например, iAP-взломщик и так далее.
). Они отправляют на проверку платежи, сформулированные для подтверждения самостоятельно.
|
9.3% |
Фальшивый.
Подтвержденные iTunes платежи из других приложений |
79% |
Подтвержденный.
Действительно честный шопинг. Их количество соответствует цифрам покупок через аккаунт. |
10% |
Оплата iTunes представлена т.н.
рецепт .
Рецепт — это объект данных платежной транзакции в формате JSON в кодировке Base64. Для проверки оплаты или подписки через сервис App Store необходимо передать их рецепт, о котором сообщает клиентское приложение.
В ответ вы получите статус рецепта и некоторую информацию об оплате.
Давайте рассмотрим правильный рецепт (здесь и далее данные для правильных рецептов немного изменены):
Теги: #itunes Connect #автовозобновляемые подписки #покупки в приложениях для iOS #php #разработка для iOS$ php -r "var_dump(base64_decode('Re4LRece1PT='));" string(2453) "{
-
Geektimes.ru → Geektimes.com
19 Oct, 24 -
Видеообзор Wltoys V383 - Пробный Полет
19 Oct, 24 -
Наш Мозг Как Примитивная Нейронная Сеть
19 Oct, 24 -
Вопрос: Gettext И Ключи На Кириллице
19 Oct, 24