Spanish [SOLUCIONADO]Pasarela de pago

Discussion in 'Spanish Forum' started by Jorgelcr, Mar 6, 2018.

  1. Jorgelcr

    Jorgelcr Member Licensed User

    Hola,

    Quiero integrar en mi app la posibilidad de que el usuario pueda realizar pago con tarjeta.

    Tengo alguna duda:
    - Existe alguna libreria/modulo para implantar un tpv implantado. (Redsys/CECA) etc.
    - He visto que algunas apps piden los datos de la tarjeta la primera vez que te registras y así no tienen que introducir los datos cada vez que van a realizar un pago. Este caso no sé muy bien como lo
    harán.

    Alguien sabe de esto?
     
  2. bgsoft

    bgsoft Well-Known Member Licensed User

    Hola Jorge:

    Tendras que darte de alta en alguna de las pasarelas de pago que hay en el mercado, algunas aceptan tarjetas y Paypal. Tambien tu banco te puede informar, los bancos suelen tener, lo que pasa que te pondran mas condiciones que otros sitios

    Saludos
     
  3. Carlos marin

    Carlos marin Active Member Licensed User

  4. Jorgelcr

    Jorgelcr Member Licensed User

    Hola,

    Gracias por las respuestas.
    He creado la pasarela de pago con mi entidad, genero la firma en la app y mando a la url de la entidad para que el usuario introduzca los datos de su tarjeta y me funciona correctamente.

    Code:
    Clave = "xxxxx"

        MerchantID = 
    "xxxx"

        AcquirerBIN = 
    "xxxxx"

        TerminalID = 
    "xxx"

        Importe =PVP.Text *
    100

        Num_operacion = micodigopedido

        Exponente = 
    "2"

        TipoMoneda = 
    "978"

        Referencia = 
    "prueba1"

        Descripcion = 
    "Prueba"

        URL_OK = 
    "http://www.xxxxk.com"

        URL_NOK = 
    "http://www.xxx.com"

        firma = Clave & MerchantID & AcquirerBIN & TerminalID & Num_operacion & Importe & TipoMoneda & Exponente & 
    "SHA2" & URL_OK & URL_NOK

       

        
    Dim mm As MessageDigest
        
    Dim Data(),data2, b() As Byte
        
    Dim signature As String
        Data = firma.GetBytes(
    "UTF8")
       
      
        b=mm.GetMessageDigest(Data,
    "SHA-256")
       
       
       
        
    Dim bc As ByteConverter
        
    Log(bc.HexFromBytes(b))
     
        
    signature=bc.HexFromBytes(b)
       
       
       
        datos=
    "MerchantID=" & MerchantID & "&AcquirerBIN=" & AcquirerBIN & "&TerminalID=" & TerminalID & "&Num_operacion=" & Num_operacion & "&Importe=" & Importe & "&Descripcion= " & Descripcion & "&TipoMoneda=" & TipoMoneda & "&Exponente=" & Exponente & "&URL_OK=" & URL_OK & "&URL_NOK=" & URL_NOK & "&Cifrado=SHA2&Idioma=1&Pago_soportado=SSL&Firma=" & signature
       

        urltpv=
    "http://xxxxx?" & datos
       
      
       
      
        WebView1.LoadUrl(urltpv)
     
  5. Carlos marin

    Carlos marin Active Member Licensed User


    Hola jorge también estoy pasando por las mismas, me podrías compartir el código completo para estudiarlo (sin claves ni nada claro esta) necesito enviar estos datos a la url y obtener respuesta de la misma tengo un hilo pero estoy mas embalado, te lo agradeceria mucho. gracias
     
  6. Jorgelcr

    Jorgelcr Member Licensed User

    Hola,

    El código que te he puesto es el código completo que utilizo en el evento del botón "pagar".
    Lo que hace este código es asignar los datos proporcionados por la entidad bancaria, calcular la firma y enviar los datos a la web de la entidad bancaria.
    Después la url la muestro en un webview y ya el usuario realiza el pago directamente en la pasarela de la entidad bancaria.
     
  7. Carlos marin

    Carlos marin Active Member Licensed User

    hola jorge hable con los de soporte de la plataforma de pagos y me dieron este codigo que es un boton que los redirige a la pagina de ellos. e tratado de hacer lo que tienes en tu codigo (no se que librerías estas usando para encryptar) pero la pagina no me carga men no se que estoy haciendo mal. mira el código

    Code:
    <form id="frm_botonePayco" name="frm_botonePayco" method="post" action="https://secure.payco.co/checkout.php">
        <input name=
    "p_cust_id_cliente" type="hidden" value="xxxx">
        <input name=
    "p_key" type="hidden" value="xxxxxx">
        <input name=
    "p_id_invoice" type="hidden" value="">
        <input name=
    "p_description" type="hidden" value=" Vestido dama negro">
        <input name=
    "p_currency_code" type="hidden" value="COP">
        <input name=
    "p_amount" id="p_amount" type="hidden" value="59500.00">
        <input name=
    "p_tax" id="p_tax" type="hidden" value="9500">
        <input name=
    "p_amount_base" id="p_amount_base" type="hidden" value="50000">
        <input name=
    "p_test_request" type="hidden" value="FALSE">
        <input name=
    "p_url_response" type="hidden" value="">
        <input name=
    "p_url_confirmation" type="hidden" value="">
        <input name=
    "p_signature" type="hidden" id="signature"  value="cc7c26580955193975b49b2ecdaea136" />
        <input name=
    "idboton"type="hidden" id="idboton"  value="4380" />
        <input 
    type="image" id="imagen" src="https://369969691f476073508a-60bf0867add971908d4f26a64519c2aa.ssl.cf5.rackcdn.com/btns/btn4.png" />
    </
    form>
     
    Last edited: Mar 21, 2018
  8. Jorgelcr

    Jorgelcr Member Licensed User

    El código que pones es el del form, que error te da cuando haces clic en el boton?
     
  9. Carlos marin

    Carlos marin Active Member Licensed User

    :( me dice que la pagina no esta disponible, jorge me podrías mostrar las declaraciones de las variables y las librerias de encrypcion te lo agradeceria. gracias
     
  10. Jorgelcr

    Jorgelcr Member Licensed User

    Las variables que utilizo.

    Dim Clave,MerchantID,AcquirerBIN,TerminalID,Importe,Num_operacion,Exponente,TipoMoneda,Referencia,Descripcion,URL_OK,URL_NOK,firma As String
    Dim urltpv As String
    Dim datos As String
    Private PVP As Label
    Dim micodigopedido As String


    Las librerias que utilizo para calcular la clave en la app son ByteConverter y Encryption.
    Pero si tú no generas la clave en la app no las necesitas ya que estás pasando los datos a la pasarela mediante un form.

    Si te da error de página no disponible, es que no estás poniendo la ruta correctamente. No conozco tu plataforma de pago, pero normalmente las pasarelas de las entidades bancarias tienen buenos manuales.

    si el form que has puesto lo llamas p.ej. pasarela.htm y lo subes a tu web www.tuweb.com/pasarela.htm y accedes a esa dirección debería mostrarte un formulario con los datos que has introducido.
    Si no la muestra puedes tener algun error de codigo html y tu servidor no te muestre los errores
     
  11. Carlos marin

    Carlos marin Active Member Licensed User

    Jorge me dieron este código que lo veo mas fácil es un script, de pronto alguna idea de como ejecutarlo en b4a. yo este código lo guardo en un html simple y me genera el botón de pago y me lleva a la pagina de pago.

    Code:
    <form>
            <script
                src=
    "https://checkout.epayco.co/checkout.js"
                class=
    "epayco-button"
                data-epayco-key=
    "491d6a0b6e992cf924edd8d3d088aff1"
                data-epayco-amount=
    "50000"
                data-epayco-name=
    "Vestido Mujer Primavera"
                data-epayco-description=
    "Vestido Mujer Primavera"
                data-epayco-currency=
    "cop"
                data-epayco-country=
    "co"
                data-epayco-test=
    "true"
                data-epayco-external=
    "false"
                data-epayco-response=
    "https://ejemplo.com/respuesta.html"
                data-epayco-confirmation=
    "https://ejemplo.com/confirmacion">
            </script>
        </
    form>
     
  12. Jorgelcr

    Jorgelcr Member Licensed User

    Es lo mismo.
    Pero el boton te lleva a la web de la entidad para poder introducir los datos de la tarjeta?
     
  13. Carlos marin

    Carlos marin Active Member Licensed User

    si, me lleva a la entidad y ahí le pide la forma de pago al usuario
     
  14. Jorgelcr

    Jorgelcr Member Licensed User

    ahhh.
    Y cuando introduces los datos de la tarjeta que te dice?
     
  15. Carlos marin

    Carlos marin Active Member Licensed User

    Jorge yo tengo unos datos de tarjeta ficticia, uno que me da aceptada y otro fallida. es todo fácil lo que me esta rompiendo la cabeza es que trato de hacer lo que tu, hacerlo para mis clientes en sus apps pero no e podido adaptar este código
     
  16. Jorgelcr

    Jorgelcr Member Licensed User

    Buff no sé.
    Solamente tienes que poner los datos que te pide la entidad que pases en el formulario (Clave,descripción, importe, etc). Comprobar que te genera bien la firma y enviarlos a la dirección web dónde pide los datos de la tarjeta. No hay que hacer nada mas.
    Si por web te funciona en B4a en lo mismo.
     
  17. Carlos marin

    Carlos marin Active Member Licensed User

    bueno men, intentare hasta que de con el resultado. muchas gracias por tu ayuda voy a estudiar bien las variables gracias
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice