Open Stophface opened 1 year ago
I was also facing the issue earlier but it was solved by making some changes to the way I was passing the parameter to the validateReceiptIos. before I was passing it as "RNIap.validateReceiptIos(receiptBody, true)". but now I have made the changes and called it like this "RNIap.validateReceiptIos({receiptBody: receiptBody, isTest: true})" and It started working properly .
i think one of the reasons this issue is rising is because the docs are not giving the right suggestions. i solved with this useEffect
useEffect(() => {
const subscription = purchaseUpdatedListener((purchase) => {
// console.log('>>> APP JS useEffect purchaseUpdatedListener', purchase.transactionReceipt);
const verify = async purchase => {
const verifyPurchase = await validateReceiptIos({
receiptBody: { 'receipt-data': purchase.transactionReceipt },
isTest: true
});
}
verify(purchase);
});
return () => {
subscription.remove();
};
}, []);
Description
I am trying to validate an iOS receipt on the device. I am following along what is written in the documentation here: https://react-native-iap.dooboolab.com/docs/guides/receipts. This should be pretty straigh forward. What I am actually getting as a response is a
{"status": 21002}
. When I validate the receipt with another library (https://github.com/sibelius/iap-receipt-validator) I am able to validate the receipt. I wonder why it is not working with react-native-iap.Expected Behavior
A validated receipt from Apple.
Screenshots
Environment:
To Reproduce This does not work
This on the contrary works