I'm running into a problem where BillingServices is throwing exceptions during RestorePurchases() after I deleted a test IAP product from the Google Play Console that testers had "bought". It throws an error inside FinishTransactions in the native code. I've been able to work around this by modifying FinishTransactions like so, by adding a couple of null checks to not add null products to the finishableTransactions array:
{
if (item == null || item.Product == null) return false;
var transactionState = item.TransactionState;
return !(transactionState == BillingTransactionState.Purchasing ||
transactionState == BillingTransactionState.Deferred);
});
But I still see errors being thrown in the logcat from native code:
I am currently trying to figure out why Billing Services is returning 0 products on store init after adding a new IAP product, and while I don't think it's related, I'm trying to eliminate any possible problems.