Conekta Developer's Hub

Bienvenido al Conekta Developer's Hub. Aquí encontrarás la más robusta documentación del API Conekta y todos los tutoriales que te ayudarán a comenzar a recibir pagos de la manera más rápida, sencilla y segura.

JavaScript


Procesa pagos directamente del lado del cliente.


📘

Primeros pasos

  • Conekta.JS permite tokenizar (encriptar) los datos de la tarjeta de tu usuario final.
  • Recuerda que por motivos de seguridad NO puedes tokenizar los datos de la tarjeta desde un lenguaje backend y tampoco puedes crear cargos desde el frontend de tu proyecto.

Incluir la librería

Puedes incluir nuestra librería sin descargarla en tu sitio.

<script type="text/javascript" src="https://cdn.conekta.io/js/latest/conekta.js"></script>

Llave pública

Para tokenizar necesitarás tu llave pública. Recuerda reemplazar tu llave de modo prueba por la de producción cuando estés listo para procesar cargos reales. Puedes obtener todas las llaves en el admin dentro de la sección API Keys.

Conekta.setPublicKey("key_eYvWV7gUaMyaN4iD");

Para obtener tu llave pública:

Conekta.getPublicKey();

Lenguaje

Para cambiar el lenguaje de respuesta:

Conekta.setLanguage("es");          // "en" para inglés

Para obtener el lenguaje configurado:

Conekta.getLanguage();

Token

var successResponseHandler = function(token) {
  // Do something on sucess
  // you need to send the token to the backend.
};

successResponseHandler recibe el token como un objeto de javascript con el cuál podrás enviar el token_id a tu servidor.

var errorResponseHandler = function(error) {
  // Do something on error
};

errorResponseHandler será usado para cualquier condición generada por una respuesta no exitosa. Esto se normalmente ocurre con errores de validación de la tarjeta.

var tokenParams = {
  "card": {
    "number": "4242424242424242",
    "name": "Fulanito Pérez",
    "exp_year": "2020",
    "exp_month": "12",
    "cvc": "123",
    "address": {
        "street1": "Calle 123 Int 404",
        "street2": "Col. Condesa",
        "city": "Ciudad de Mexico",
        "state": "Distrito Federal",
        "zip": "12345",
        "country": "Mexico"
     }
  }
};

tokenParams es un hash. Los atributos mínimos requeridos son number, name, cvc, exp_month y exp_year.

Conekta.Token.create(tokenParams, successResponseHandler, errorResponseHandler);

Conekta.Token.create envía la información a nuestro servidor para generar el token y que viaje de manera segura a tu servidor.

Además de crear el objeto, puedes usar data-attributes junto con jQuery para generar el token, visita nuestro tutorial de tarjetas para revisar un ejemplo.

Validaciones

Conekta.card.validateNumber revisa que el formato del número de la tarjeta.

Conekta.card.validateNumber('4242424242424242');          //true
Conekta.card.validateNumber('4242-42424242-4242');        //true
Conekta.card.validateNumber('4242 4242 4242 4242');       //true
Conekta.card.validateNumber('4242-1111-1111-1111');       //true
Conekta.card.validateNumber('12345678');                  //false
Conekta.card.validateNumber('mistake');                   //false

Conekta.card.validateExpirationDate revisa si la fecha de expiración es una fecha válida y futura.

Conekta.card.validateExpirationDate('02', '2020');        //true
Conekta.card.validateExpirationDate(2, 2020);             //true
Conekta.card.validateExpirationDate('02', '10');          //false
Conekta.card.validateExpirationDate('02', '14');          //false

Conekta.card.validateCVC revisa si el código de seguridad es un entero válido (de 3 a 4 caracteres).

Conekta.card.validateCVC('123');                          //true
Conekta.card.validateCVC(123);                            //true
Conekta.card.validateCVC(1234);                           //true
Conekta.card.validateCVC('');                             //false
Conekta.card.validateCVC('abc');                          //false
Conekta.card.validateCVC(99999999);                       //false

Conekta.card.getBrand regresa el tipo de tarjeta como un string.

Conekta.card.getBrand('4242-4242-4242-4242');             //visa
Conekta.card.getBrand('378282246310005');                 //amex
Conekta.card.getBrand('5555555555554444');                //mastercard
Conekta.card.getBrand('1234');                            //unknown

Realiza un cargo en tu servidor

Tras obtener el token, deberás enviarlo a tu servidor y generar la orden.