Сценарий потребления и отмены покупки
Обработка незавершённых платежей должна производиться разработчиком AnyApp.
Метод отмены покупки (deletePurchase) необходимо использовать, если:
1. Метод получения списка покупок (getPurchases) вернул покупку со статусом:
- PurchaseState.CREATED.
- PurchaseState.INVOICE_CREATED.
Важно. В некоторых случаях, после оплаты через приложение банка (СБП, СберPay, TinkoffPay и т.д.), при последующем возврате обратно в AnyApp приложение, статус покупки может быть всё ещё PurchaseState.INVOICE_CREATED. Это связано с временем обработки покупки на стороне банка. Поэтому разработчику необходимо правильно связать логику получения списка покупок с ЖЦ экрана.
Альтернативным вариантом решения данной проблемы является отмена покупки в статусе PurchaseState.INVOICE_CREATED только через взаимодействие пользователя с приложением. Например, вынести эту логику в отдельную кнопку.
2. Метод покупки (purchaseProduct) вернул PaymentResult.Cancelled.
3. Метод покупки (purchaseProduct) вернул PaymentResult.Failure.
Метод потребления продукта (confirmPurchase) необходимо использовать, если метод получения списка покупок (getPurchases) вернул покупку типа CONSUMABLE и со статусом PurchaseState.PAID.