paymentQueueWrapper method
Implementation
Future paymentQueueWrapper(
{String? payId, bool delayed = true, bool finish = true}) async {
if (Platform.isIOS) {
var transactions = await SKPaymentQueueWrapper().transactions();
if (payId != null) {
transactions = transactions.skipWhile((value) {
return payId.isEmpty == false &&
payId != value.payment.productIdentifier;
}).toList();
}
AppConfig.printLog('paymentQueueWrapper: ${transactions.length}');
if (transactions.isEmpty == false) {
if (finish) {
AppConfig.printLog(
'paymentQueueWrapper finishTransaction: ${transactions.length}');
for (SKPaymentTransactionWrapper wrapper in transactions) {
await SKPaymentQueueWrapper().finishTransaction(wrapper);
}
}
if (delayed) {
await Future.delayed(const Duration(seconds: 5), () async {
await paymentQueueWrapper(finish: finish);
});
}
}
}
}