Foros del Web » Programando para Internet » Jquery »

batallando con el API de conekta

Estas en el tema de batallando con el API de conekta en el foro de Jquery en Foros del Web. Estoy usando la API de Conekta https://www.conekta.io/es/docs/referencias/conekta-js , principalmente un ejemplo que dan en otra pagina complementado con el del vinculo que puse, pero la ...
  #1 (permalink)  
Antiguo 01/08/2015, 23:52
 
Fecha de Ingreso: julio-2014
Mensajes: 161
Antigüedad: 9 años, 9 meses
Puntos: 4
batallando con el API de conekta

Estoy usando la API de Conekta https://www.conekta.io/es/docs/referencias/conekta-js, principalmente un ejemplo que dan en otra pagina complementado con el del vinculo que puse, pero la consola del Chrome dice que el token es invalido, y la venta no se procesa adecuadamente al parecer por la culpa de este javascript
Código Javascript:
Ver original
  1. <script>
  2. $(document).ready(function(){
  3.   $('.version').click(function(){
  4.     var callType = $(this).attr('id');
  5.     if(callType == "basic"){
  6.       $('.advanced').slideUp(350);
  7.       $('#advanced').removeClass('active');
  8.       $(this).addClass('active');
  9.     }
  10.     if(callType == "advanced"){
  11.       $('.advanced').slideDown({queue: false}, 350);
  12.       $('#basic').removeClass('active');
  13.       $(this).addClass('active');
  14.     }
  15.   });
  16.   // CVC Input security
  17.   $("input[name='card_cvc']").focus(function(){$(this).attr('type','text');});
  18.   $("input[name='card_cvc']").blur(function(){$(this).attr('type','password');});
  19.   // Input formats
  20.   // Cards
  21.   $('input[name="card_number"]').formatter({
  22.     'pattern': '{{9999}} {{9999}} {{9999}} {{9999}}'
  23.   });
  24.   $('input[name="card_exp"]').formatter({
  25.     'pattern': '{{99}} / {{9999}}'
  26.   });
  27.   $('input[name="card_cvc"]').formatter({
  28.     'pattern': '{{999}}'
  29.   });
  30. });
  31.  
  32. function validar(){
  33.     var numtarjeta=$('input[name="card_number"]').val();
  34.     var nombretarjeta=$('input[name="customer_name"]').val();
  35.     var cvc=$('input[name="card_cvc"]').val();
  36.     var card_exp=$('input[name="card_exp"]').val();
  37.     var resultado=card_exp.split(" ");
  38.     var mes = $.trim(resultado[0]);
  39.     var ano = $.trim(resultado[2]);
  40.     var numtarjetaerror=Conekta.card.validateNumber(numtarjeta);
  41.     var expiraerror=Conekta.card.validateExpirationDate(mes, ano);
  42.     var cvcerror=Conekta.card.validateCVC(cvc);
  43.     var guardarerror=" ";
  44.     if(numtarjetaerror==false){
  45.         guardarerror+="La tarjeta introducida es incorrecta\n";
  46.     }
  47.     if(expiraerror==false){
  48.         guardarerror+="La fecha de expiracion no es correcta\n";
  49.     }
  50.     if(cvcerror==false){
  51.         guardarerror+="El codigo de verificacion no es correcto\n";
  52.     }
  53.     if(numtarjetaerror==true && expiraerror==true && cvcerror==true){
  54.         enviartarjeta(nombretarjeta,numtarjeta,ano,mes,cvc);
  55.     }else{
  56.         alert(guardarerror);
  57.     }
  58.      $("#enviarinfo").prop("disabled", true);
  59. }
  60.  
  61. function enviartarjeta(nombretarjeta,numtarjeta,ano,mes,cvc){
  62.     Conekta.setPublishableKey("key_Cyt1btNDJrsZ5m2xjmKTekg");
  63.     Conekta.getPublishableKey();
  64. /* Los parámetros pueden ser un objeto de javascript, una forma de HTML o una forma de JQuery */
  65.     var errorResponseHandler, successResponseHandler, tokenParams;
  66.     tokenParams = {
  67.         "card": {
  68.         "number": numtarjeta,
  69.         "name": nombretarjeta,
  70.         "exp_year": ano,
  71.         "exp_month": mes,
  72.         "cvc": cvc
  73.         }
  74.     };
  75. /* Después de tener una respuesta exitosa, envía la información al servidor */
  76.     successResponseHandler = function(token) {
  77.       return $.post('cargotarjeta.php?token_id=' + token.id, function() {
  78. //      return document.location = 'cargotarjeta.php';
  79.  
  80.       });
  81.     };
  82.  
  83.     /* Después de recibir un error */
  84.     errorResponseHandler = function(error) {
  85.         $("#tarjeta-errors").text(response.message);
  86. //    return console.log(error.message);
  87.     };
  88.     /* Tokenizar una tarjeta en Conekta */
  89.     Conekta.token.create(tokenParams, successResponseHandler, errorResponseHandler);
  90. //  window.location.assign("http://localhost/a/test/cargotarjeta.php");
  91. }
  92. </script>

Este es el HTML

Código HTML:
Ver original
  1. <script src='jquery.js'></script>
  2.   <script src='examples.js'></script>
  3.   <script src='jquery.formatter.js'></script>
  4.   <script type="text/javascript" src="conekta.js"></script>
  5. </head>
  6. <form method="post">
  7. <div id="AjaxCapa"></div>
  8. <div id="tarjeta-errors"></div>
  9.         <div class='input_box'>
  10.             <div class="descripciones">
  11.           <label for='customer_name'>Nombre del Tarjetahabiente</label>
  12.             </div>
  13.           <input name='customer_name' type='text' class="infofinanciera" size="30"  data-conekta="card[name]">
  14.         </div>
  15.         <div class='input_box'>
  16.            <div class="descripciones">
  17.               <label for='card_number'>Número de tarjeta (sin guiones)</label>
  18.            </div>
  19.           <input name='card_number' value="4242424242424242" placeholder='' type='text'  class="infofinanciera" size="12" data-conekta="card[number]">
  20.         </div>
  21.         <div class='input_box'>
  22.             <div class="descripciones">
  23.               <label for='card_exp'>F. de Expiración</label>
  24.             </div>
  25.           <input name='card_exp' placeholder='' type='text'  class="infofinanciera" size="3" >
  26.           <br>
  27.         </div>
  28.         <div class='input_box'>
  29.             <div class="descripciones">
  30.               <label for='card_cvc'>Cód. de Seguridad</label>
  31.             </div>
  32.           <input name='card_cvc' placeholder='' type='text'  class="infofinanciera" size="1"data-conekta="card[cvc]">
  33.           <br>
  34.      
  35.           <input type="submit" value="validar" onClick="validar()" id="enviarinfo">
  36. </form>
  37.         </div>

Etiquetas: api
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:00.