finishTransaction method
Finish a transaction on both android
and iOS
.
Call this after finalizing server-side validation of the reciept.
Implementation
Future<String?> finishTransaction(PurchasedItem purchasedItem,
{bool isConsumable = false}) async {
if (_platform.isAndroid) {
if (isConsumable) {
return await _channel.invokeMethod('consumeProduct', <String, dynamic>{
'token': purchasedItem.purchaseToken,
});
} else {
if (purchasedItem.isAcknowledgedAndroid == true) {
return Future.value(null);
} else {
return await _channel
.invokeMethod('acknowledgePurchase', <String, dynamic>{
'token': purchasedItem.purchaseToken,
});
}
}
} else if (_platform.isIOS) {
return await _channel.invokeMethod('finishTransaction', <String, dynamic>{
'transactionIdentifier': purchasedItem.transactionId,
});
}
throw PlatformException(
code: _platform.operatingSystem, message: "platform not supported");
}