public OrderStatusResponse GetOrderStatus(OrderStatusRequest orderStatusRequest) { // Validate Request RequestValidator.ValidateOrderStatusRequest(orderStatusRequest); // Build Request object var request = RequestMapper.MapOrderStatusRequest(orderStatusRequest, _shopId); request.Request.MAC = _encoder.GetMac(RequestHandler.GetMacDictionary(request), _apiResultKey); var xmlBody = XmlTool.Serialize(request); // Do call to VPOS var xmlResponse = _restClient.CallApi(_urlAPI, xmlBody); // Map response var objectResponse = XmlTool.Deserialize <BPWXmlResponse <DataOrderStatus> >(xmlResponse); // Verify Mac Response VerifyMacResponse(objectResponse); VerifyPanAliasData(objectResponse.Data.PanAliasData); foreach (var authorization in objectResponse.Data.Authorizations) { VerifyAuthorization(authorization); } return(ResponseMapper.MapOrderStatusResponse(objectResponse)); }