public void PagoServicio() { TokenDto token = new TokenDto(3215, 3); PagoServiciosRequest pago = new PagoServiciosRequest(); pago.SkuCode = 1; pago.SkuCodePagoServicio = ""; pago.Cuenta = "501097118548123"; var result = new AdministracionPagoServiciosBusiness(token).PagoServicio(pago, 100, ""); Assert.IsNotNull(result); }
private OperationResponse PagoServicios(FinalizarVentaRequest request) { OperationResponse response = new OperationResponse(); response.CodeNumber = "1"; VentaResponse venta = this.repository.ObtenerVentaPorFolio(request.FolioVenta, 0); PagoServiciosRequest pago = new PagoServiciosRequest(); pago.Cuenta = venta.Lineas[0].Articulo.InformacionProveedorExternoAsociadaPS.Cuenta; pago.SkuCodePagoServicio = venta.Lineas[0].Articulo.InformacionProveedorExternoAsociadaPS.SkuCompania; pago.SkuCode = venta.Lineas[0].Articulo.Sku; pago.InfoAdicional = venta.Lineas[0].Articulo.InformacionProveedorExternoAsociadaPS.InfoAdicional; ResponseBussiness <OperationResponse> resultTA = new AdministracionPagoServiciosBusiness(this.token).PagoServicio(pago, float.Parse(venta.Lineas[0].Articulo.PrecioConImpuestos.ToString()), request.FolioVenta); if (resultTA.Data.CodeNumber != "1") { response.CodeNumber = resultTA.Data.CodeNumber; response.CodeDescription = resultTA.Data.CodeDescription; } return(response); }
/// <summary> /// Pago de servicio /// </summary> /// <returns></returns> public ResponseBussiness <OperationResponse> PagoServicio(PagoServiciosRequest pagoServiciosRequest, float monto, string folio) { SecurityCCK.encripta encripta = new encripta(); int intento = 1; string resultadoConfirmarEnvioRecibido = ""; return(tryCatch.SafeExecutor(() => { OperationResponse operation = new OperationResponse(); string requestId = string.Empty; requestId = GetRequestId(0); if (requestId != "") { object cuenta = pagoServiciosRequest.Cuenta; var cuanteEncripatada = encripta.Encrypt(ref cuenta); ProxyPagoServicios.Form formulario = this.ObtenerElementosAdicionales(pagoServiciosRequest.InfoAdicional, pagoServiciosRequest.InfoAdicional.ModuloId); ProxyPagoServicios.TResponse respuestaDot = GetDot(requestId, this.credenciales.UserName, pagoServiciosRequest.SkuCodePagoServicio, cuanteEncripatada.ToString(), monto, this.token.CodeBox, formulario); if (respuestaDot.rcode == 2)//En proceso { while (intento <= this.credenciales.NumeroIntentos) { Thread.Sleep(5000 * 1); ProxyPagoServicios.TResponse respuestaVerificarTransaccion = this.ChecarTransaccion(requestId, this.credenciales.UserName); //si la respuesta es qeu no esta en proceso if (respuestaVerificarTransaccion.rcode != 2) { resultadoConfirmarEnvioRecibido = this.TerminarTransaccionCorrecta(respuestaDot.rcode, requestId, respuestaVerificarTransaccion.op_authorization); intento = 1000; } intento++; } if (resultadoConfirmarEnvioRecibido == "") { ProxyPagoServicios.ReverseResponse respuestaDor = this.DoR(requestId, this.credenciales.UserName); operation.CodeNumber = respuestaDor.rcode.ToString(); operation.CodeDescription = respuestaDor.rcode_description; } else { operation.CodeNumber = "1"; operation.CodeDescription = resultadoConfirmarEnvioRecibido; } } else if (respuestaDot.rcode == 0 || respuestaDot.rcode == 1) //termino correctamente con ó sin autorizacion { resultadoConfirmarEnvioRecibido = this.TerminarTransaccionCorrecta(respuestaDot.rcode, requestId, respuestaDot.op_authorization); operation.CodeNumber = "1"; operation.CodeDescription = resultadoConfirmarEnvioRecibido; this.repository.RegistrarAutorizacionPago(pagoServiciosRequest.SkuCodePagoServicio, pagoServiciosRequest.SkuCode, folio, respuestaDot.op_authorization); } else { operation.CodeNumber = "0"; operation.CodeDescription = respuestaDot.rcode_description; } } else { operation.CodeDescription = "Error del Web Service, contactar a Administrador del Sistema"; operation.CodeNumber = "0"; } return operation; })); }