getMerchantPayModes method

Future<void> getMerchantPayModes()

Implementation

Future<void> getMerchantPayModes() async {
  loaderController.add(true);
  String? encodedMerchantId = CryptoUtils.encrypt(
      MerchantConstants.merchantId, KeywordConstants.internalKey);
  await appRepository.getMerchantPayModeAndScheme(encodedMerchantId!).then(
          (Response response) async {
        debugPrint(
            'Get merchant payment mode api response is ${response.body}');
        MerchantPayModeSchemesResponse payModeSchemesResponse =
        MerchantPayModeSchemesResponse.fromJson(json.decode(response.body));
        String encryptedSchemes = payModeSchemesResponse.payModeSchemes;
        String? schemes = CryptoUtils.decrypt(
            encryptedSchemes,
            MerchantConstants.merchantKey);
        debugPrint('Decrypted schemes are $schemes');
        if(schemes != null && schemes.isNotEmpty){
          paymentModeList = <PaymentMode>[];
          List<dynamic> jsonMapList = json.decode(schemes);
          for(Map<String, dynamic> jsonMap in jsonMapList){
            paymentModeList?.add(PaymentMode.fromJson(jsonMap));
          }
        }
        loaderController.add(false);
      }, onError: (dynamic e) {
    loaderController.add(false);
    debugPrint(
        'Get merchant payment mode api exception is ${e.toString()}');
  });
}