public Card CreateCard(CreaTarjetaOpenPayRequest pRequest, string pCustomerId)
        {
            //string customer_id = "awzhvjquygrvcinbzvyc";

            Card request = new Card
            {
                HolderName      = pRequest.HolderName.Trim(),
                CardNumber      = pRequest.CardNumber.Trim(),
                Cvv2            = pRequest.Cvv2.Trim(),
                ExpirationMonth = pRequest.ExpirationMonth.Trim(),
                ExpirationYear  = pRequest.ExpirationYear.Trim()
            };

            request.DeviceSessionId = pRequest.DeviceSessionId;
            //Address address = new Address();
            //address.City = "Queretaro";
            //address.CountryCode = "MX";
            //address.State = "Queretaro";
            //address.PostalCode = "79125";
            //address.Line1 = "Av. Pie de la cuesta #12";
            //address.Line2 = "Desarrollo San Pablo";
            //address.Line3 = "Qro. Qro.";
            //request.Address = address;

            return(openpayAPI.CardService.Create(pCustomerId, request));
        }
Exemple #2
0
        public IHttpActionResult CreateCardCustomer()
        {
            var open    = new OpenPayFunctions();
            var request = new CreaTarjetaOpenPayRequest();

            request.HolderName      = "Juan Perez Ramirez";
            request.CardNumber      = "4111111111111111";
            request.Cvv2            = "110";
            request.ExpirationMonth = "12";
            request.ExpirationYear  = "20";
            request.DeviceSessionId = "kR1MiQhz2otdIuUlQkbEyitIqVMiI16f";
            open.CreateCard(request, "awzhvjquygrvcinbzvyc");
            return(Ok(true));
        }
        public async Task <HttpResponseMessage> CrearTarjetaOpenPay(CreaTarjetaOpenPayRequest pRequest)
        {
            var respuesta    = new Respuesta {
            };
            var    strMetodo = "WSViajes - CrearTarjetaOpenPay ";
            string sid       = Guid.NewGuid().ToString();

            try
            {
                if (pRequest == null)
                {
                    respuesta.Mensaje = "No se recibió datos de petición.";
                }
                else if (String.IsNullOrEmpty(pRequest.HolderName.ToString()))
                {
                    respuesta.Mensaje = "El elemento <<HolderName>> no puede estar vacío ni igual a cero.";
                }
                else if (String.IsNullOrEmpty(pRequest.IdPersona.ToString()) || pRequest.IdPersona == 0)
                {
                    respuesta.Mensaje = "El elemento <<IdPersona>> no puede estar vacío ni igual a cero.";
                }
                else if (String.IsNullOrEmpty(pRequest.CardNumber) || (pRequest.CardNumber.Length != 16 && pRequest.CardNumber.Length != 19))
                {
                    respuesta.Mensaje = "El elemento <<CardNumber>> no puede estar vacío ni igual a cero y debe tener 16 o 19 caracteres.";
                }
                else if (String.IsNullOrEmpty(pRequest.ExpirationMonth.ToString()) || pRequest.ExpirationMonth.Length > 2)
                {
                    respuesta.Mensaje = "El elemento <<ExpirationMonth>> no puede estar vacío y debe terner 1 o 2 dígitos.";
                }
                else if (String.IsNullOrEmpty(pRequest.ExpirationYear.ToString()))
                {
                    respuesta.Mensaje = "El elemento <<ExpirationYear>> no puede estar vacío.";
                }
                else if (string.IsNullOrEmpty(pRequest.DeviceSessionId))
                {
                    respuesta.Mensaje = "El elemento <<DeviceSessionId>> no puede estar vacío.";
                }
                else
                {
                    string CustomerId = await new PersonaNegocio().ConsultarClienteIdOpenPay(pRequest.IdPersona);

                    if (string.IsNullOrEmpty(CustomerId))
                    {
                        respuesta.CodigoError = 10001;
                        respuesta.Mensaje     = $"El usuario indicado no cuenta con una relación a openpay interna.";
                    }
                    else
                    {
                        var resultado = new OpenPayFunctions().CreateCard(pRequest, CustomerId);

                        if (resultado != null)
                        {
                            respuesta.Exito   = true;
                            respuesta.Mensaje = "Tarjeta creada con éxito.";
                        }
                        else
                        {
                            respuesta.Mensaje = "No se pudo crear la tarjeta.";
                        }
                    }
                }
            }
            catch (ServiceException Ex)
            {
                respuesta.CodigoError = Ex.Codigo;
                respuesta.Mensaje     = Ex.Message;
            }
            catch (Exception Ex)
            {
                string strErrGUI  = Guid.NewGuid().ToString();
                string strMensaje = "Error Interno del Servicio [GUID: " + strErrGUI + "].";
                Log.Error(Ex, "[" + strMetodo + "]" + "[SID:" + sid + "]" + strMensaje);

                respuesta.CodigoError = 10001;
                respuesta.Mensaje     = "ERROR INTERNO DEL SERVICIO [" + strErrGUI + "]";
            }

            return(Request.CreateResponse(System.Net.HttpStatusCode.OK, respuesta));
        }