async Task CompleteTransactionAsync (SKPaymentTransaction t)
{
if (t == null)
return;
if (t.TransactionState == SKPaymentTransactionState.Failed) {
Console.WriteLine ("STORE ERROR CompleteTransaction: {0} {1} {2}", t.TransactionState, t.TransactionIdentifier, t.TransactionDate);
foreach (var a in FailActions) {
await a (t);
}
} else {
Console.WriteLine ("STORE CompleteTransaction: {0} {1} {2} {3}", t.Payment.ProductIdentifier, t.TransactionState, t.TransactionIdentifier, t.TransactionDate);
foreach (var a in CompletionActions) {
await a (t);
}
}
Console.WriteLine ("STORE FinishTransaction()");
SKPaymentQueue.DefaultQueue.FinishTransaction (t);
}