Мне нужно реализовать покупку подписки в apple, но при этом уже имеется способ оплаты через мерчант.
Я представлял работу себе так:
Генерируется id пользователя в apple и после того, как apple отправит на webhook ответ искать пользователя по id и выдавать подписку.
Но как я понимаю, apple_id - это конфиденциальная информация и ее нет в ответе. К чему я могу привязаться в данном случае?
Вот, что возвращает apple: https://developer.apple.com/documentation/appstore...
Использую пакет: laravel-in-app-purchases
Дополнительно:
Содержание
что к чему вы хотите привязывать?
Вот клиент хочет узнать, какой конкретно пользователь оплатил подписку.
И то пока не понятно в какое поле ему это передавать )
Нет api метода на покупку подписки: https://developer.apple.com/documentation/appstore...
Все что у меня есть - это при оформлении на api метод apple отправляет тело, в котором нет данных о том, кто это купил.
Бэк не участвует в создании оплаты, он только принимает последствия.
Такое ощущение, что до самого платежа вы даже еще не добрались, а все ходите тут и причитаете. Сделайте хотя бы один платеж в сандбоксе, и тысячи вопросов тут же отпадут
Как мне теперь понять, какому пользователю в системе выдать подписку?
У меня есть срок, товар, стоимость и вообще вся информация о товаре.
Только вот вопрос - кому этот товар принадлежит? Получается, что пользователь его оплатил через apple, но подписку свою не получит, поскольку система не понимает, кто купил.
Эту проблему может решить только ключ, который бэк знает на этапе формирования заказа и получает его же через сервер уведомлений, а потом по этому номеру понимает, кому принадлежит товар.
Мой вопрос и заключается в том, как его передать (номер заказа)?
Что я неясно написал? Сделайте оплату, вопросы снимутся.
зачем вы вообще вопросы задаете, если не читаете, что вам пишут.
Ответы:
Непонятно, зачем вам apple_id и что вы собрались к нему привязывать.
Если вы когда-нибудь совершали покупки в интернет-магазине, то может быть заметили, что там есть такая штука, как номер заказа.
Перед тем как отправить клиента платить, вы сообщаете банку номер заказа, а он сообщает вам номер транзакции.
По которому вы потом смотрите ее статус.
Вот у цветочков с пчелками все точно также (с)
- Только apple на бэке не позволяет создавать заказы, получается, что фронт должен отправить запрос на генерацию заказа, получить его номер, отправить его в apple и потом я уже через хук смогу его прочитать.
И то пока не понятно в какое поле ему это передавать )
- Вроде бы через payment token https://developer.apple.com/documentation/apple_pa...
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?
Для синхронизации данных о подписках между своей базой и Apple, вам потребуется использовать Apple's Server-to-Server Notifications API. Этот API позволяет вашему серверу получать уведомления о событиях подписок, таких как продление, отмена или изменение статуса подписки.
Вот как вы можете настроить синхронизацию данных о подписках между вашей базой и Apple:
1. Создайте серверный обработчик для получения уведомлений от Apple. Этот обработчик должен быть доступен по HTTPS URL и должен быть защищенным.
2. Зарегистрируйте ваш серверный обработчик в настройках вашего приложения в App Store Connect. Вам потребуется указать URL вашего обработчика и выбрать типы событий, о которых вы хотите получать уведомления.
3. В вашем серверном обработчике обработайте уведомления от Apple и обновите данные о подписках в вашей базе данных. Для этого вам понадобится разбирать JSON-объект, который приходит от Apple и обновлять соответствующие записи в вашей базе данных.
Пример кода на PHP для обработки уведомлений от Apple:
Не забудьте также добавить обработку ошибок, логирование и защиту от несанкционированного доступа к вашему серверному обработчику.
С помощью Apple's Server-to-Server Notifications API вы сможете эффективно синхронизировать данные о подписках между своей базой и Apple, обеспечивая актуальность информации и корректную работу вашего сервиса подписок.