Когда пользователь покупает подписку, некоторые покупки остаются застрявшими в состоянии «ожидающего платежа» в течение нескольких дней.
В течение этого времени пользователь технически имеет доступ к премиальному содержанию, если они обнаруживают, но он получает по электронной почте. это. Тем не менее, открытие приложения не решает проблему.
Если у кого -то есть пример кода или наилучшую практику для правильной обработки этого конкретного случая, я бы очень признателен! /> try {< /p>
// if active subscriptions
await rniap.initconnection ();
const buics = await rniap.getavailablepurchases ();
const activesubscription = rniap.getavailpurchases ();
const activesubscription = productuds & productirds. покупка.transactionReceipt
)
.map(purchase) => покупка.productid); // recupérer Uniquement Les Ids des abonnements Actifs
setActivSubScriptions (ActiveSubScriptions); < /p>
// Список предложений
const products = wat rniap.getsubscription ({{skus: productids});
return;
} < /p>
const monthly_priceiap = продукты [0]?.. Подписка продукты [1]? Console.warn ('erreur lors de l'Achat ou de la récupération de l'abonnement:', err);
} наконец {
await rniap.endconnection ();
}
}; < /p>
< /li>
get: < /p>
< /li>
subscribe = async (number) => {
try {
await rniap.initconnection (); < /p>
const products = await rniap.getsubscriptions ({skus: productids});
if (production.length == 0) {
/wrarn. truvé ');
return;
} < /p>
const offertoken = products [number] .subscriptionofferdetails [0] .offertoken;
const productId = products [number] .productId; < /p>
await rniap.RequestSUBSUBRES /> Offertoken,
sku: productId,
}],
}); < /p>
} catch (err) {
console.warn(''
} {br /> await rnaip />}; < /p>
< /li>
после функции подписки: < /p>
useeffect (() => {
const buyupdatesubsupr покупка.transactionReceipt; < /p>
if (
checipt &&
pplatform.os === 'Android' &&
purchase.purchasestateAndroid === 1 && //
!purchase.isacknowgedAdgedAddRoide
) l'utilisateur comme abonné
setIssubScribed (true);
setActivSubScriptions ((prev) => [... prev, buy.productid]); < /p>
// 2. подтверждает l'AchatReckEntoDroid (uchateSeetSeetRoddroid. /> // 3. Finalizer
await rniap.finishTransaction (покупка, true);
// 4. Навигация
router.replace('/'); Finishing Transaction
setIssubScribled (true);
router.replace(''/');
await rniap.finishtransaction (покупка, true);
} < /p>
} catch (err) {br /> warn(''
}); < /p>
const buyerRorsUbscription = rniap.purchaseErrorListerener ((erry) => {
console.warn(''
}); < /p>
return () => /> purchaseupdatesubscription.remove();;br /> purchaseErrorrorsubscription.remove();;br />};
}, []); < /p>
< /li>
< /ul>
< /p>
< /li>
< /ul>
< /p>
< /li>
< /ul>
Подробнее здесь: https://stackoverflow.com/questions/796 ... for-3-days
Мобильная версия