Как связать уведомления сервера Apple App Store с пользователями во Flutter, когда идентификатор транзакции недоступен?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как связать уведомления сервера Apple App Store с пользователями во Flutter, когда идентификатор транзакции недоступен?

Сообщение Anonymous »

Я разрабатываю приложение Flutter, которое реализует подписки в приложении с помощью плагина in_app_purchase. Чтобы связать покупки с конкретными пользователями, я использовал параметр applicationUserName с уникальным идентификатором пользователя (UUID) при инициации покупки:

Код: Выделить всё

final PurchaseParam purchaseParam = PurchaseParam(
productDetails: firstProduct,
applicationUserName: _appAccountToken, // Unique user ID
);
Проблема 1. В уведомлениях сервера App Store отсутствуют пользовательские данные
После успешной покупки я отправляю следующую информацию на мой сервер:

Код: Выделить всё

purchaseID
productID
verificationData
transactionDate
status
Однако, когда Apple отправляет уведомления серверу (например, о продлении или отмене подписки), эти уведомления не содержат какой-либо специфичной для пользователя информации, такой как applicationUserName или user_id . Из-за этого сложно сопоставить транзакцию с нужным пользователем в моей системе.
Проблема 2: устаревший API-интерфейс VerifiedReceipt
Кроме того, я обнаружил, что APIverifyReceipt устарел, что еще больше усложняет процесс проверки квитанций и безопасного связывания их с пользователями.
Вопросы:
  • Сопоставление транзакций пользователям:
  • Учитывая, что уведомления сервера Apple не содержат имя_пользователя приложения или идентификаторы, специфичные для пользователя, каков рекомендуемый подход для надежного связывания этих уведомлений с соответствующими пользователями в моем приложении Flutter ?
  • Альтернативы проверки квитанции:
  • С прекращением поддержки методаverceipt< /code> API, какие альтернативные методы или API мне следует использовать для проверки чеков и обеспечения подлинности транзакций? Как эти альтернативы могут помочь сопоставить транзакции с пользователями?
Дополнительный контекст:
  • Я использую последнюю версию плагина in_app_purchase.
  • Мой сервер создан на Node.js.
  • Я рассмотрел возможность реализации проверки квитанций на стороне сервера и поддержания сопоставления между PurchaseID и user_id, но я не знаю, как действовать без идентификатора транзакции.
Что Я пробовал:
  • Установить для applicationUserName уникальный и согласованный идентификатор пользователя.
    < li>Отправка идентификатора покупки и других сведений о покупке на сервер после завершения покупки.
  • Попытка сопоставить идентификатор покупки с пользователями на сервере, но в уведомлениях сервера Apple отсутствуют соответствующие идентификаторы.
Цель :
Установите безопасный и надежный метод сопоставления уведомлений сервера Apple App Store с правильными пользователями в моем приложении Flutter, гарантируя точное управление подписками, несмотря на отсутствие прямых идентификаторов пользователей в уведомления и прекращение поддержки verifyReceipt API.
Будем очень признательны за любую информацию, рекомендуемые методы или примеры реализации!

Подробнее здесь: https://stackoverflow.com/questions/790 ... utter-when
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»