2.0.0-альфа3
(Я тоже пробовал 1.1.5, та же проблема)
iOS
validateReceiptIos возвращает 0/1 / true для действительных квитанций
validateReceiptIos всегда возвращает false
Настоящее устройство, песочница, магазин приложений
Я могу успешно совершать покупки автоматически возобновляемой подписки и получать квитанцию о транзакции. Когда я пытаюсь проверить это на iOS с помощью validateReceiptIos (receiveBody, true, 55), мне всегда возвращается false.
Если я регистрирую JSON.stringify (res), я получаю:
{"status": 21004, "environment": "Sandbox"}
Аналогичная проблема была на № 190
В какую строку вы вставляете журнал? 🤔
Кроме того, какая версия React Native у вас установлена?
@fabianunger Странно. Должен быть исправлен в # 190. Не могли бы вы поделиться некоторыми кодами?
"реагировать": "^ 16.3.2"
"react-native": "^ 0.55.3"
``
validate = async (product) => {
пытаться {
console.log (продукт);
const receiptBody = {
'receipt-data': product.transactionReceipt,
};
console.log(receiptBody);
const result = await RNIap.validateReceiptIos(receiptBody, true, 55);
console.log(result);
} catch(err) {
console.warn(err.code, err.message);
Alert.alert(err.message);
}
};
``
@fabianunger Не могли бы вы попробовать эту версию и посмотреть, дает ли она более подробное сообщение об ошибке?
npm install LinusU/react-native-iap#ios-validate
@LinusU @dooboolab
Я только что добавил общий секрет в ReceiverBody, и теперь все должно работать.
Может просто где-то в документации пропустил? Или это не так?
const receiptBody = {
'receipt-data': product.transactionReceipt,
'password': '*********'
};
(все еще используется версия 2.0.0-alpha3)
@LinusU
Я тестировал это также с вашей версией: тот же результат.
В ответ я получаю {"status": 21004, "environment": "Sandbox"}.
Работает, добавляя общий секрет в качестве «пароля» в ReceiverBody. В общем: все-таки это обычный способ?
@fabianunger Вы все сделали правильно. Для получения дополнительной информации см. Здесь. Будет хорошо обновлять док жестко.
Что такое shared secret
и где его найти?
Что такое
shared secret
и где его найти?
https://www.appypie.com/faqs/how-can-i-get-shared-secret-key-for-in-app-purchase
Подтвердите получение в производственном режиме, возвращающее {status: 21007}, может ли кто-нибудь помочь мне с этим.
заранее спасибо
Смотри сюда:
«21007: Это квитанция из тестовой среды, но она была отправлена в производственную среду для проверки. Вместо этого отправьте ее в тестовую среду».
используйте этот адрес для проверки тестовой среды: https://sandbox.itunes.apple.com/verifyReceipt
Самый полезный комментарий
@LinusU @dooboolab
Я только что добавил общий секрет в ReceiverBody, и теперь все должно работать.
Может просто где-то в документации пропустил? Или это не так?
(все еще используется версия 2.0.0-alpha3)