performTransaction method
Future<PaymentResponseModel?>
performTransaction(
- RequestModel requestModel,
- String msisdn,
- String pin,
- String tokenId,
- BuildContext context,
Implementation
Future<PaymentResponseModel?> performTransaction(RequestModel requestModel,
String msisdn, String pin, String tokenId, BuildContext context) async {
try {
String authToken =
"Basic ${base64.encode(utf8.encode("${requestModel.user.toString()}:${requestModel.password.toString()}"))}";
String url = ApiConstants.getSelectedBaseUrl() + ApiConstants.PAYMENT;
Map<String, String> data = new Map();
data["RefId"] = requestModel.refId.toString();
data["Amount"] = requestModel.amount.toString();
data["MerchantCode"] = requestModel.merchantCode.toString();
data["Msisdn"] = msisdn;
data["pin"] = pin;
data["TokenId"] = tokenId;
Map<String, String> headers = new Map();
headers["Authorization"] = authToken;
headers["Module"] = requestModel.module.toString();
headers["Content-Type"] = "application/json;charset=UTF-8";
var response = await http.post(Uri.parse(url),
body: jsonEncode(data), headers: headers);
if (response.statusCode == 401) {
Utils.showSnackbar(context, "Unauthorized");
return null;
} else if (response.body == null) {
Utils.showSnackbar(context, "Something Went Wrong");
return null;
} else {
PaymentResponseModel model =
PaymentResponseModel.fromJson(json.decode(response.body));
return model;
}
} catch (ex) {
}
}