testApiConnectivity static method

Future<bool> testApiConnectivity({
  1. required MastercardConfig config,
})

Test basic API connectivity

Implementation

static Future<bool> testApiConnectivity({
  required MastercardConfig config,
}) async {
  final dio = Dio();
  dio.options.connectTimeout = const Duration(seconds: 30);
  dio.options.receiveTimeout = const Duration(seconds: 30);

  try {
    final authString = '${config.apiUsername}:${config.apiPassword}';
    final authBytes = utf8.encode(authString);
    final authBase64 = base64Encode(authBytes);

    final response = await dio.get(
      '${config.gatewayUrl}/api/rest/version/83/merchant/${config.merchantId}/information',
      options: Options(
        headers: {
          'Authorization': 'Basic $authBase64',
          'Content-Type': 'application/json',
        },
      ),
    );

    return response.statusCode == 200;
  } on DioException {
    return false;
  } catch (e) {
    return false;
  }
}