setCurrency method

Future setCurrency(
  1. dynamic paymentID,
  2. dynamic selectedCurrency,
  3. dynamic network,
  4. dynamic toJsonMap,
)

Implementation

Future setCurrency(paymentID, selectedCurrency, network, toJsonMap) async {
  try {
    dynamic response;
    response = await http.patch(
        Uri.parse(
            '${Util.END_POINT}/payments/checkout/$paymentID/currency/set/$selectedCurrency/$network'),
        headers: <String, String>{
          'Content-Type': 'application/json; charset=UTF-8',
          'Authorization':
              'Bearer ${GlobalizerController.paymentConfig!.publicKey}',
        },
        body: jsonEncode(toJsonMap));
    //Handling Status codes Error Via Snackbar
    if (response.statusCode == 201 || response.statusCode == 200) {
      return jsonDecode(response.body);
    } else if (response.statusCode == 401) {
      //Bad Public key
      debugPrint("Your public key is not authorized");
      return jsonDecode(response.body);
    } else if (response.statusCode == 404) {
      debugPrint("setCurrency() service status: 404");

      return jsonDecode(response.body);
    } else if (response.body == "null") {
      debugPrint("setCurrency() returning null from API");
      return jsonDecode(response.body);
    } else {
      return jsonDecode(response.body);
    }
  } on Exception catch (e) {
    rethrow;
  }
}