Я создаю приложение для iOS, которое предоставляет услугу, которую уже предоставляет наш веб-сайт. Это сервис на основе подписки, где все функции включены, когда вы подписаны. Чтобы заставить людей подписаться на регулярные платежи в приложении, мне кажется, что мне придется пройти через Apple в API покупки приложений с автоматическим продлением подписок. Это нормально, но проблема в том, что сервис, который пользователи будут покупать через приложение, также должен быть доступен на сайте. Но, прочитав пошаговые руководства и руководство разработчика, похоже, что единственный способ обработки транзакций - это само приложение, которое затем можно настроить для передачи информации на сервер. Но тогда я представляю себе такой сценарий:
Пользователь покупает подписку в приложении iOS, переключается между сайтом и приложением iOS. В день, когда с пользователя взимается плата, и в последующие дни, по любой причине, он использует только веб-сайт. Сервер не знает, что им выставлен счет, и поэтому функции отключены. Чтобы сервер узнал, что Apple выставил счет пользователю, пользователь должен открыть приложение на своем iphone или ipad и синхронизировать его как с Apple, так и с моим сервером.
Может ли мой сервер напрямую пропинговать Apple и получать информацию о покупках, сделанных для моего приложения для данного пользователя? Я не смог ничего найти; оба предложенных макета, с сервером или без него, используют приложение iOS в качестве единственного коммуникатора с Apple, за исключением того, что сервер проверяет достоверность информации. Если сервер не может получить эту информацию из первых рук, какое еще возможное решение может быть?
- Старайтесь не использовать встроенную платежную систему Apple и рискуйте получить отказ (если приложение дублирует службу, которая была доступна в течение многих лет в Интернете, нам больше не придется использовать их в системе покупки приложений?)
- Если пользователь платит через Apple, пусть сервер предоставит ему щедрый буфер между ожидаемыми датами оплаты и когда функции отключены (проблема возникает реже, но не решает ее)
- Когда срок действия его учетной записи на сервере истек, но он этого не ожидает, отправьте пользователю электронное письмо с сообщением о том, что ему нужно открыть приложение, иначе его учетная запись не будет зачислена на приобретенное время (странно и не очень большая вещь, чтобы попросить пользователя сделать, чтобы использовать сервис)
Это все, что я смог придумать до сих пор. У кого-нибудь есть советы по этим решениям, или кто-то знает, или знает, с кем я мог бы поговорить, чтобы попытаться выяснить это?