public override async void UpdatedTransactions (SKPaymentQueue queue, SKPaymentTransaction[] transactions)
{
if (transactions == null)
return;
try {
foreach (var t in transactions) {
try {
Console.WriteLine ("STORE Transaction: {0} {1} {2} {3} {4}", t.Payment.ProductIdentifier, t.TransactionState, t.TransactionIdentifier, t.TransactionDate, t.Error);
switch (t.TransactionState) {
case SKPaymentTransactionState.Purchased:
productsPurchased.Add (t);
await CompleteTransactionAsync (t);
break;
case SKPaymentTransactionState.Restored:
productsRestored.Add (t);
await CompleteTransactionAsync (t);
break;
case SKPaymentTransactionState.Failed:
await CompleteTransactionAsync (t);
break;
}
} catch (Exception ex) {
Log.Error (ex);
}
}
} catch (Exception ex) {
Log.Error (ex);
}
}