fetchDataFromApi function

Future<DataResponseCheckout> fetchDataFromApi(
  1. String transactionId,
  2. String referrerId, {
  3. dynamic context,
})

Implementation

Future<DataResponseCheckout> fetchDataFromApi(
    String transactionId, String referrerId,
    {context}) async {
  final bool? isProduction = B24PaymentSdk.storeIsProduction;

  final url =
      isProduction == false ? envDemo().UrlCheckout : envPro().UrlCheckout;

  final Map<String, dynamic> data = {
    'tran_id': transactionId,
  };

  final Map<String, String> headers = {
    'token': envDemo().token,
    'Content-Type': 'application/json',
    'X-Referrer-Key': referrerId,
  };

  final response =
      await http.post(Uri.parse(url), body: jsonEncode(data), headers: headers);

  if (response.statusCode == 200) {
    final jsonData = json.decode(response.body);
    errorCode = jsonData['code'];
    Message = jsonData['message'];
    MessageKh = jsonData['message_kh'];

    cachedData = DataResponseCheckout.fromJson(jsonData);
    return DataResponseCheckout.fromJson(jsonData);
  } else {
    throw Exception('Failed to load data from API');
  }
}