public override IMovilwayApiResponse PerformUtibaOperation(IMovilwayApiRequest requestObject, UMarketSCClient utibaClientProxy, String sessionID) { PayStockRequestBody request = requestObject as PayStockRequestBody; PayStockResponseBody response = null; payStockResponse utibaPayStockResponse = utibaClientProxy.payStock(new payStock() { payStockRequest = new payStockRequestType() { sessionid = sessionID, wait = false, waitSpecified = true, device_type = request.DeviceType, amount = request.Amount, details = ("Bank: " + request.BankName ?? "NULL") + " - Description: " + (request.Description ?? "NULL") + " - REF.: " + (request.TransactionReference ?? "NULL") } }); if (utibaPayStockResponse != null) { response = new PayStockResponseBody() { ResponseCode = Utils.BuildResponseCode(utibaPayStockResponse.payStockReturn.result, utibaPayStockResponse.payStockReturn.result_namespace), ResponseMessage = utibaPayStockResponse.payStockReturn.result_message, Fee = utibaPayStockResponse.payStockReturn.fee, TransactionID = utibaPayStockResponse.payStockReturn.transid }; } return(response); }
private PayStockResponseInternal PayStockInternal(PayStockRequestInternal internalRequest) { Log(Logger.LogMessageType.Info, "-> -------------------- Comienza la ejecución del método Stock.PayStockInternal", Logger.LoggingLevelType.Medium); PayStockResponseInternal internalResponse = null; try { UMarketSCClient utibaClient = new UMarketSCClient(); payStockResponse utibaPayStockResponse = null; using (OperationContextScope scope = new OperationContextScope(utibaClient.InnerChannel)) { HttpRequestMessageProperty messageProperty = new HttpRequestMessageProperty(); messageProperty.Headers.Add(HttpRequestHeader.UserAgent, UserAgent); OperationContext.Current.OutgoingMessageProperties.Add(HttpRequestMessageProperty.Name, messageProperty); Log(Logger.LogMessageType.Info, "-> -------------------- " + String.Format("Parámetros Recibidos Stock.PayStockInternal: " + "SessionID={0}, DeviceType={1}, Amount={2}, Bank={3}, Account={4}, Voucher={5}", internalRequest.SessionID, internalRequest.DeviceType, internalRequest.Amount, internalRequest.Bank, internalRequest.Account, internalRequest.Voucher), Logger.LoggingLevelType.Low); Log(Logger.LogMessageType.Info, "-> -------------------- " + String.Format("Parámetros Enviados Stock.PayStockInternal: " + "SessionID={0}, DeviceType={1}, Amount={2}, Bank={3}, Account={4}, Voucher={5}", internalRequest.SessionID, internalRequest.DeviceType, internalRequest.Amount, internalRequest.Bank, internalRequest.Account, internalRequest.Voucher), Logger.LoggingLevelType.Low); utibaPayStockResponse = utibaClient.payStock(new payStock() { payStockRequest = new payStockRequestType() { sessionid = internalRequest.SessionID, device_type = internalRequest.DeviceType, wait = false, waitSpecified = true, amount = internalRequest.Amount, details = " Banco: " + internalRequest.Bank + " Cuenta: " + internalRequest.Account + " N°Depósito: " + internalRequest.Voucher } }); } if (utibaPayStockResponse != null) { internalResponse = new PayStockResponseInternal() { ResponseCode = utibaPayStockResponse.payStockReturn.result, ResponseMessage = utibaPayStockResponse.payStockReturn.result_message, Fee = utibaPayStockResponse.payStockReturn.fee, TransactionID = utibaPayStockResponse.payStockReturn.transid }; } Log(Logger.LogMessageType.Info, "-> -------------------- " + String.Format("Resultado Obtenido Stock.PayStockInternal: ResponseCode={0}, ResponseMessage={1}, TransactionID={2}, " + "Fee={3}", internalResponse.ResponseCode, internalResponse.ResponseMessage, internalResponse.TransactionID, internalResponse.Fee), Logger.LoggingLevelType.Low); } catch (Exception ex) { Log(Logger.LogMessageType.Error, "Ocurrio una exception procesando el metodo Stock.PayStockInternal, los detalles son: " + ex.ToString(), Logger.LoggingLevelType.Low); return(null); } Log(Logger.LogMessageType.Info, "-> -------------------- Termina la ejecución del método Stock.PayStockInternal", Logger.LoggingLevelType.Medium); return(internalResponse); }