useBalance method

  1. @override
Future<BalanceUpdate> useBalance({
  1. required UseBalanceRequest request,
  2. String? idempotencyKey,
})
override

Use balance for a customer.

Implementation

@override
Future<BalanceUpdate> useBalance({
  required UseBalanceRequest request,
  String? idempotencyKey,
}) async {
  try {
    final result = await methodChannel.invokeMethod(
      'useBalance',
      {
        'request': request.toMap(),
        'idempotencyKey': idempotencyKey,
      },
    );
    if (result != null) {
      final balanceUpdateMap = Map<String, dynamic>.from(result);
      final balanceUpdate = BalanceUpdate.fromMap(balanceUpdateMap);
      return balanceUpdate;
    } else {
      throw PlatformException(
        code: 'NULL_RESULT',
        message: 'useBalance returned null',
      );
    }
  } on PlatformException {
    rethrow;
  }
}