JavaScript - Implementando API de conekta

 
Vista:

Implementando API de conekta

Publicado por Augusto Ramirez (2 intervenciones) el 02/08/2015 19:35:28
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<script>
$(document).ready(function(){
  $('.version').click(function(){
    var callType = $(this).attr('id');
    if(callType == "basic"){
      $('.advanced').slideUp(350);
      $('#advanced').removeClass('active');
      $(this).addClass('active');
    }
    if(callType == "advanced"){
      $('.advanced').slideDown({queue: false}, 350);
      $('#basic').removeClass('active');
      $(this).addClass('active');
    }
  });
  // CVC Input security
  $("input[name='card_cvc']").focus(function(){$(this).attr('type','text');});
  $("input[name='card_cvc']").blur(function(){$(this).attr('type','password');});
  // Input formats
  // Cards
  $('input[name="card_number"]').formatter({
    'pattern': '{{9999}} {{9999}} {{9999}} {{9999}}'
  });
  $('input[name="card_exp"]').formatter({
    'pattern': '{{99}} / {{9999}}'
  });
  $('input[name="card_cvc"]').formatter({
    'pattern': '{{999}}'
  });
});
 
function validar(){
	var numtarjeta=$('input[name="card_number"]').val();
	var nombretarjeta=$('input[name="customer_name"]').val();
	var cvc=$('input[name="card_cvc"]').val();
	var card_exp=$('input[name="card_exp"]').val();
	var resultado=card_exp.split(" ");
	var mes = $.trim(resultado[0]);
	var ano = $.trim(resultado[2]);
	var numtarjetaerror=Conekta.card.validateNumber(numtarjeta);
	var expiraerror=Conekta.card.validateExpirationDate(mes, ano);
	var cvcerror=Conekta.card.validateCVC(cvc);
	var guardarerror=" ";
	if(numtarjetaerror==false){
		guardarerror+="La tarjeta introducida es incorrecta\n";
	}
	if(expiraerror==false){
		guardarerror+="La fecha de expiracion no es correcta\n";
	}
	if(cvcerror==false){
		guardarerror+="El codigo de verificacion no es correcto\n";
	}
	if(numtarjetaerror==true && expiraerror==true && cvcerror==true){
		enviartarjeta(nombretarjeta,numtarjeta,ano,mes,cvc);
	}else{
		alert(guardarerror);
	}
	 $("#enviarinfo").prop("disabled", true);
}
 
function enviartarjeta(nombretarjeta,numtarjeta,ano,mes,cvc){
	Conekta.setPublishableKey("key_Cyt1btNDJrsZ5m2xjmKTekg");
	Conekta.getPublishableKey();
/* Los parámetros pueden ser un objeto de javascript, una forma de HTML o una forma de JQuery */
	var errorResponseHandler, successResponseHandler, tokenParams;
	tokenParams = {
		"card": {
    	"number": numtarjeta,
	    "name": nombretarjeta,
    	"exp_year": ano,
	    "exp_month": mes,
    	"cvc": cvc
  		}
	};
/* Después de tener una respuesta exitosa, envía la información al servidor */
	successResponseHandler = function(token) {
	  return $.post('cargotarjeta.php?token_id=' + token.id, function() {
//    	return document.location = 'cargotarjeta.php';
 
	  });
	};
 
	/* Después de recibir un error */
	errorResponseHandler = function(error) {
		$("#tarjeta-errors").text(response.message);
//	  return console.log(error.message);
	};
	/* Tokenizar una tarjeta en Conekta */
	Conekta.token.create(tokenParams, successResponseHandler, errorResponseHandler);
//	window.location.assign("http://localhost/a/test/cargotarjeta.php");	
}
</script>
 
  <script src='jquery.js'></script>
  <script src='examples.js'></script>
  <script src='jquery.formatter.js'></script>
  <script type="text/javascript" src="conekta.js"></script>
</head>
<body>
<form method="post">
<div id="AjaxCapa"></div>
<div id="tarjeta-errors"></div>
        <div class='input_box'>
	        <div class="descripciones">
          <label for='customer_name'>Nombre del Tarjetahabiente</label>
    	    </div>
          <input name='customer_name' type='text' class="infofinanciera" size="30"  data-conekta="card[name]">
        </div>
        <div class='input_box'>
           <div class="descripciones">
        	  <label for='card_number'>Número de tarjeta (sin guiones)</label>
           </div>
          <input name='card_number' value="4242424242424242" placeholder='' type='text'  class="infofinanciera" size="12" data-conekta="card[number]">
        </div>
        <div class='input_box'>
            <div class="descripciones">
	          <label for='card_exp'>F. de Expiración</label>
            </div>
          <input name='card_exp' placeholder='' type='text'  class="infofinanciera" size="3" >
          <br>
        </div>
        <div class='input_box'>
            <div class="descripciones">
	          <label for='card_cvc'>Cód. de Seguridad</label>
            </div>
          <input name='card_cvc' placeholder='' type='text'  class="infofinanciera" size="1"data-conekta="card[cvc]">
          <br>
 
          <input type="submit" value="validar" onClick="validar()" id="enviarinfo">
</form>
        </div>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder