Tokens

Guarda de manera segura la información de las tarjetas de tus clientes.

La tokenización es un mecanismo que evita que los comercios tengan que obtener una certificación PCI DSS, dado que la información de las tarjetas nunca llega a pasar por sus servidores. Cuando el tarjetahabiente ingresa al website del comercio e ingresa los datos de su tarjeta, éstos viajan de forma segura hasta nuestra bóveda.

El servicio de tokenización recibe los datos de la tarjeta y retorna un token (tkn_live_XXXXXX o tkn_test_XXXXX), el cual sirve para identificar tu tarjeta dentro del flujo de pago.

El token tiene un tiempo de vida de 5 minutos y solo se puede usar una vez. Al final de los 5 minutos o después de ser usado, los datos de la tarjeta son descartados de la bóveda.


En caso se use CulqiJS o el API directamente, es responsabilidad del comercio cumplir con la normativa PCI DSS. ESto se debe a que se está manipulando los datos de la tarjeta directamente.

El token es usado para crear un cargo (transacción), el cual se envía al banco para su autorización.

Recuerda que no debes guardar los datos de las tarjetas de tus clientes si no cuentas con la certificación PCI DSS.

Creando un token

Un token se crea a partir de la información de la tarjeta ingresada por el cliente. Los datos necesarios para crearlo son los siguientes:

{
  "card_number": "4111111111111111",
  "cvv": "123",
  "expiration_month": "09",
  "expiration_year": "2025",
  "email": "richard@piedpiper.com"
}

Anatomía de un token

El tokenizador nos retorna un Objeto con más información de la tarjeta, banco emisor y datos del cliente.

Los datos del cliente son muy útiles para detectar fraude, ya que puedes usar esta información para rastrear la procedencia de tu cliente:

{
  "object": "token",
  "id": "tkn_live_0CjjdWhFpEAZlxlz",
  "type": "card",
  "email": "richard@piedpiper.com",
  "creation_date": 1476132639,
  "card_number": "442328******1214",
  "last_four": "1214",
  "active": true,
  "iin": {
    "object": "iin",
    "bin": "442328",
    "card_brand": "Visa",
    "card_type": "credito",
    "card_category": "platinum",
    "issuer": {
      "name": "Silicon Valley Bank",
      "country": "United States",
      "country_code": "US",
      "website": "https://www.svb.com",
      "phone_number": "+1.800.774.7390"
    },
    "installments_allowed": [ 2, 4, 8, 12, 24, 36]
  },
  "client": {
    "ip": "72.229.28.185",
    "ip_country": "United States",
    "ip_country_code": "US",
    "browser": "Google Chrome 56.0.2924.87",
    "device_fingerprint": "6rITdVTYkWfOrss8",
    "device_type": "escritorio"
  },
  "metadata": {
    "dni":"5831543"
  }
}

Token YAPE

El API de Tokenización permite crear tokens asociados a la tarjeta registrada en el aplicativo YAPE de tu cliente. Para crear un token se necesita el número telefónico y el OTP (código de aprobación) de tu aplicativo YAPE y como respuesta se retorna un objeto token (ype_live_XXXXXX o ype_test_XXXXX) que puedes usar luego para realizar un cargo.

El token tiene un tiempo de vida de 5 minutos y solo se puede usar una vez. Al final de los 5 minutos o después de ser usado, los datos del teléfono y OTP son descartados de la bóveda.

En caso se use CulqiJS o el API directamente, es responsabilidad del comercio cumplir con la normativa PCI DSS . Esto se debe a que se está manipulando los datos del Yapero directamente.

El token es usado para crear un cargo (transacción), el cual se envía al banco para su autorización. Recuerda que no debes guardar los datos del Yapero si no cuentas con la certificación PCI DSS.

NOTA: El OTP o Código de aprobación de Yape, es un código generado en la aplicación de YAPE, el cual se usará como mecanismo de autoriación de la transacción.

Crear un token YAPE

Un token yape se crea a partir de la información del número telefónico y OTP ingresada por el cliente. Los datos necesarios para crearlo son los siguientes:

{
   "number_phone": "912345678", //número telefónico del Yapero
   "otp": "716688", // Se obtiene del aplicativo YAPE
   "amount": "3000",
   "metadata": {
       "negocio": "culqi store" // Metadata relacionada al comercio
   }
}

Anatomía de un token YAPE

Se mantiene la estructura del token pero cambia id que se retorna, tal como se ve en la siguiente imagen:

{
  "object": "token",
  "id": "ype_live_1AbXq1pLyYyaW1z9", // Formato: ype_(live|test)_XXXXXX
  "type": "card",
  ...
}

Token API

Revisa nuestra API de tokens para obtener más información: