У меня странная проблема с покупками в приложении на Android.
Прежде всего, я использую эту оболочку: https://github.com/dooboolab/react-native-iap, поскольку приложение ReactNative based.
Покупки в большинстве случаев работают нормально. Но иногда в сбоях я вижу странные сбои, которые происходят, когда я пытаюсь завершить покупку. Копаясь в журналах cra sh и хлебных крошках, я обнаружил, что первоначальный вызов функции querySkuDetailsAsync
(что здесь делается https://github.com/dooboolab/react-native-iap/blob/master/android/src/main/java/com/dooboolab/RNIap/RNIapModule.java) возвращает совершенно неверные данные.
Буквально у меня есть разовая покупка, а не продукт на основе подписки. Но, глядя на хлебную крошку и ответ, я вижу следующий ответ для всех разбившихся пользователей:
{
"productId": "my.inapp.product.id",
"type":"inapp",
"price":"0.52",
"title":"product id",
"description":"product id",
"price_amount_micros":52000000,
"price_currency_code":"USD",
"subscriptionPeriod":"365",
"freeTrialPeriod":"365"
}
Все здесь выключено, только правильное значение productId
, все остальное неверно - цена и т. Д. на. Есть также freeTrialPeriod
, который недействителен для моего продукта, так как это не подписка.
И как только я не провожу проверку на стороне сервера, покупка проходит, но, очевидно, без оплаты.
Глядя на это, у меня есть предположение, что это что-то вроде хака, но не уверен на 100%, возможно, у вас есть идеи или подсказки по этому поводу?
Большое спасибо!