Покупки В Приложении Itunes На Стороне Сервера

Платежи через iTunes являются де-факто лидерами по монетизации контента мобильных приложений.

В одном из известных мне приложений доход от них в 3 раза превышает доход от пользователей Google Play, несмотря на то, что трафик у последних в 1,5 раза выше.

Таким образом, с одного пользователя iTunes вы можете получить до 5 раз больше денег, чем с одного пользователя Google Play. Этого аргумента достаточно для интеграции платежей iTunes в мобильные приложения.

В данной статье описаны некоторые особенности проверки платежей iTunes (в том числе подписок) со стороны сервера, которые, как мне показалось, недостаточно освещены в существующих статьях.

В соответствии с руководство разработчика Существует две схемы проверки платежных операций: простая, при которой транзакция подтверждается в результате взаимодействия мобильного приложения и App Store, и сложная.

Во втором случае вводится дополнительный этап подтверждения с вашего собственного сервера посредством доступа к сервису iTunes Connect. Тот факт, что платежная транзакция была успешно подтверждена через iTunes Connect, считается достаточным для подтверждения платежа.

К недостаткам простой проверки относятся потерянное доверие .

К преимуществам комплексного можно отнести простоту работы с подписками, возможность начисления мирских товаров и хранения списка товаров на стороне сервера.

Последние два пункта особенно актуальны, когда приходится неделю ждать обновления приложения в App Store. Или, может быть несколько недель , если вы вдруг решите порадовать пользователей заманчивым товаром накануне христианского Рождества.

О безопасности я даже не говорю — на следующем графике все вполне понятно:

Покупки в приложении iTunes на стороне сервера

Вот как может выглядеть совершенно обычный день в системе мониторинга платежных запросов абстрактного приложения.

Синий цвет обозначает общее количество запросов на проверку платежа.

Зеленый — запросы, которые действительно прошли через App Store. А красный цвет указывает на вредоносные запросы.

Страшно представить, какую упущенную выгоду может получить приложение, если проигнорирует подтверждение оплаты сервером.

Процент данных из графика представлен в следующей таблице:

Особенность запроса Процент
Не подтверждено.

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

0.7%
Повторы.

Запросы от клиента с подтвержденным платежом, но отправленным повторно через некоторое время

1%
Взломщики платежей (например, iAP-взломщик и так далее.

).

Они отправляют на проверку платежи, сформулированные для подтверждения самостоятельно.

9.3%
Фальшивый.

Подтвержденные iTunes платежи из других приложений

79%
Подтвержденный.

Действительно честный шопинг.

Их количество соответствует цифрам покупок через аккаунт.

10%
Фактически, большинство вредоносных запросов можно выявить самостоятельно, не тратя трафик на доступ к сервису проверки.

Оплата iTunes представлена т.н.

рецепт .

Рецепт — это объект данных платежной транзакции в формате JSON в кодировке Base64. Для проверки оплаты или подписки через сервис App Store необходимо передать их рецепт, о котором сообщает клиентское приложение.

В ответ вы получите статус рецепта и некоторую информацию об оплате.

Давайте рассмотрим правильный рецепт (здесь и далее данные для правильных рецептов немного изменены):

   

$ php -r "var_dump(base64_decode('Re4LRece1PT='));" string(2453) "{

Теги: #itunes Connect #автовозобновляемые подписки #покупки в приложениях для iOS #php #разработка для iOS
Вместе с данным постом часто просматривают: