internal MoviPaymentResponseInternal MoviPaymentInternal(MoviPaymentRequestInternal request) { Log(Logger.LogMessageType.Info, "-> -------------------- Comienza la ejecución del método MoviPin.MoviPaymentInternal", Logger.LoggingLevelType.Medium); UMarketSCClient utibaClient = new UMarketSCClient(); MoviPaymentResponseInternal movipaymentResult; 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 MoviPin.MoviPaymentInternal: SessionID={0}, DeviceType={1}, Amount={2}, " + "CouponID={3}, Type={4}", request.SessionID, request.DeviceType, request.Amount, request.CouponID, request.Type), Logger.LoggingLevelType.Low); Log(Logger.LogMessageType.Info, "-> -------------------- " + String.Format("Parámetros Enviados MoviPin.MoviPaymentInternal: SessionID={0}, DeviceType={1}, Amount={2}, " + "CouponID={3}, Type={4}", request.SessionID, request.DeviceType, request.Amount, request.CouponID, request.Type), Logger.LoggingLevelType.Low); coupontransferResponse myMoviPayment = utibaClient.coupontransfer(new Utiba.coupontransfer() { coupontransferRequestType = new coupontransferRequestType() { sessionid = request.SessionID, device_type = request.DeviceType, amount = request.Amount, couponid = request.CouponID, type = request.Type, typeSpecified = true } }); movipaymentResult = new MoviPaymentResponseInternal() { ResponseCode = myMoviPayment.coupontransferReturn.result, ResponseMessage = myMoviPayment.coupontransferReturn.result_message, TransactionID = myMoviPayment.coupontransferReturn.transid, Fee = myMoviPayment.coupontransferReturn.fee, ResultNameSpace = myMoviPayment.coupontransferReturn.result_namespace, ScheduleID = myMoviPayment.coupontransferReturn.schedule_id, TransExtReference = myMoviPayment.coupontransferReturn.trans_ext_reference }; Log(Logger.LogMessageType.Info, "-> -------------------- " + String.Format("Resultado Obtenido MoviPin.MoviPaymentInternal: ResponseCode={0}, ResponseMessage={1}, TransactionID={2}, " + "Fee={3}, ResultNameSpace={4}, ScheduleID={5}, TransExtReference={6}", movipaymentResult.ResponseCode, movipaymentResult.ResponseMessage, movipaymentResult.TransactionID, movipaymentResult.Fee, movipaymentResult.ResultNameSpace, movipaymentResult.ScheduleID, movipaymentResult.TransExtReference), Logger.LoggingLevelType.Low); } Log(Logger.LogMessageType.Info, "-> -------------------- Termina la ejecución del método MoviPin.MoviPaymentInternal", Logger.LoggingLevelType.Medium); return(movipaymentResult); }
public override IMovilwayApiResponse PerformUtibaOperation(IMovilwayApiRequest requestObject, UMarketSCClient utibaClientProxy, String sessionID) { MoviPaymentRequestBody request = requestObject as MoviPaymentRequestBody; MoviPaymentResponseBody response = null; coupontransferRequestType couponTransferRequest = new coupontransferRequestType() { sessionid = sessionID, device_type = request.DeviceType, amount = request.Amount, couponid = request.MoviPin, type = int.Parse(ConfigurationManager.AppSettings["CouponWalletType"]), typeSpecified = true }; KeyValuePair[] keyValues; if (!String.IsNullOrEmpty(request.ProductId)) { keyValues = new KeyValuePair[] { new KeyValuePair() { key = "host_trans_ref", value = request.ExternalTransactionReference }, new KeyValuePair() { key = "dollar_amount", value = request.DollarAmount.ToString() }, new KeyValuePair() { key = "exchange_rate", value = request.ExchangeRate.ToString() }, new KeyValuePair() { key = "product_id", value = request.ProductId } } } ; else { keyValues = new KeyValuePair[] { new KeyValuePair() { key = "host_trans_ref", value = request.ExternalTransactionReference }, new KeyValuePair() { key = "dollar_amount", value = request.DollarAmount.ToString() }, new KeyValuePair() { key = "exchange_rate", value = request.ExchangeRate.ToString() } } }; couponTransferRequest.extra_trans_data = keyValues; coupontransferResponse utibaCouponTransferResponse = utibaClientProxy.coupontransfer(new coupontransfer() { coupontransferRequestType = couponTransferRequest }); if (utibaCouponTransferResponse != null) { response = new MoviPaymentResponseBody() { ResponseCode = Utils.BuildResponseCode(utibaCouponTransferResponse.coupontransferReturn.result, utibaCouponTransferResponse.coupontransferReturn.result_namespace), ResponseMessage = utibaCouponTransferResponse.coupontransferReturn.result_message, Fee = utibaCouponTransferResponse.coupontransferReturn.fee, TransactionID = utibaCouponTransferResponse.coupontransferReturn.transid }; } return(response); } }