getBanks static method

Future<List<Bank>> getBanks(
  1. Client client,
  2. String publicKey
)

This method fetches a list of Nigerian banks it returns an instance of GetBanksResponse or throws an error

Implementation

static Future<List<Bank>> getBanks(final http.Client client, String publicKey) async {
  try {
    final response = await client.get(
      Uri.parse("https://api.flutterwave.com/v3/banks/NG"),
      headers: {
        HttpHeaders.authorizationHeader:
            "Bearer $publicKey",
        HttpHeaders.contentTypeHeader: 'application/json'
      },
    );
    if (response.statusCode == 200) {
      final List<dynamic> banks = jsonDecode(response.body)["data"];
      final result = banks.map((e) => Bank.fromJson(e)).toList();
      return result;
    } else {
      throw (FlutterWaveError(
          "Unable to fetch banks. Please contact support"));
    }
  } catch (error) {
    throw (FlutterWaveError(error.toString()));
  } finally {
    client.close();
  }
}