Сейчас я использую RevenueCat на android (react-native-purchases
), чтобы купить «непотребляемый продукт». Я настроил свой аккаунт в соответствии с do c (отлично do c!). Однако я столкнулся с проблемой.
Прежде всего, вы знаете, что android позволяет приобрести продукт с 4 разными картами в аккаунте тестера. У меня нет проблем с картой, которая всегда отклоняется, карта всегда принимается и карта принимается после задержки. Но моя проблема с отменой карты через несколько минут.
Вот как я поступаю:
1.
Добавление прослушивателя
// function for purchase Listener
this.purchaserInfoUpdateListener = (info) => {
checkIfPro(info, this._becomePremium);
};
// add this function to Purchases's Listener
Purchases.addPurchaserInfoUpdateListener(this.purchaserInfoUpdateListener);
//function call when listener is called
function checkIfPro(purchaserInfo, callbackFunction) {
// Check when function is called
console.log('checkIfPro is called ! ');
if (typeof purchaserInfo.entitlements.active.premium !== 'undefined') {
// Unlock premium content :
console.log('#Unlock great content#');
// Active premium
callbackFunction();
} else {
console.log('Not premium');
}
}
2.
Приобрести товар (карта будет отменена через несколько минут)
const { purchaserInfo, productIdentifier } = await Purchases.purchaseProduct(
itemToPurchase,
null,
Purchases.PURCHASE_TYPE.INAPP
);
3.
Смотреть журналы
e.userInfo.readableErrorCode = 'PaymentPendingError'
Мы можем увидеть «PaymentPendingError», все нормально, транзакция еще не завершена.
4.
Подождите несколько минут
5.
Поскольку ничего не произошло (слушатель не звонит или что-то показывает, что транзакция отменена), я пытаюсь купить продукт еще раз. Однако в журналах говорится:
ProductAlreadyPurchasedError
, тогда как когда я звоню
await Purchases.getPurchaserInfo()
, право неактивно.
Мои проблемы:
- Я не могу знать, отменена ли транзакция через несколько минут, поэтому я не могу попытаться купить ее после (когда транзакция официально отменен)
- Мой продукт также действует как «расходный» продукт, и я не знаю, как настроить его как «не расходуемый продукт». Потому что, если я выберу карточку, которая всегда принимается, я могу купить товар столько, сколько захочу.