in_app_purchase как мне получить данные, необходимые для проверки Android с сервераVerificationData

Я пытаюсь реализовать проверку на стороне сервера для IAP в моем приложении flutter. Я использую пакет

https://pub.dev/packages/in_app_purchase

версия: ^ 0.3.4 + 8

И я не понимаю, как я получаю данные для подтверждения моей покупки для Android и IOS. В документации говорится:

или проверьте данные, используя свой собственный сервер с помощью serverVerificationData.

Кажется, эта строка возвращает какую-то закодированную строку. Как мне затем извлечь необходимые данные из этой строки? Я попробовал base64Decode (), поскольку localVerificationData имеет кодировку base64Encoded, но это не сработало.

Android требуется название пакета, идентификатор покупки и покупной токен. И iOS нужен объект-получение-данные. Я не понимаю, как мне получить эти данные из строки serverVerificationData.

В настоящее время я сначала внедряю Android.

В документации localVerificationData говорится

Данные, используемые для локальной проверки.

Если источником является IAPSource.AppStore, эти данные представляют собой строку в кодировке based64. Структура полезной нагрузки определяется с использованием ASN.1. Если источником является IAPSource.GooglePlay, эти данные представляют собой строку JSON.

Таким образом, serverVerificationData должен отличаться от localVerificationData, поскольку он совсем не похож на JSON. Я также не уверен, безопасно ли размещать здесь serverVerificationData, поскольку он может содержать конфиденциальную информацию.

Это строка, похожая на ту, что у меня на android, только я поменял все буквы, цифры и т. Д. Так что дело только в формате

zdfdzcdshxvbxmgbafdxvdzt.JK-GR58OHRPOGFEFHEGVEACBEIFDAPDH_EFHEWFEHFHPEGVERBWBASZWDAWODPAWD-HDSWCGOEWFP-EFPEQFHPEDHEWYIFEWFUWEFDASCNAQWFDefphFEQUIWEFpofgewpfFEWHFPWEF

В репо они показывают, что вызывают _verifyPurchase (покупка); который не имеет реализации в примере.

https://github.com/flutter/plugins/tree/master/packages/in_app_purchase#listening-to-purchase-updates

person Mike Ottink    schedule 18.09.2020    source источник
comment
Попробуйте RevenueCat, они могут выполнить проверку на стороне сервера за вас   -  person Mr Random    schedule 22.09.2020
comment
Я видел это, но мне не интересно им пользоваться. Спасибо за совет.   -  person Mike Ottink    schedule 22.09.2020


Ответы (1)


Оказалось, что данные были в файле detail.verificationData.localVerificationData, а не в detail.verificationData.serverVerificationData, а detail.verificationData.serverVerificationData - это токен покупки на Android.

person Mike Ottink    schedule 23.09.2020