PaymentsCards & Services

Tokenización

Almacenamiento tokenizado de tarjetas y pagos card-on-file en Cobru.

Esta superficie viene de materiales legacy de Cobru y todavía necesita una validación fresca en sandbox. Trátala como contrato beta hasta contar con el export oficial de OpenAPI o una nueva verificación endpoint por endpoint.

Para qué sirve esta capability

Usa tokenización cuando tu integración necesite:

  • registrar una tarjeta una sola vez y cobrarla después
  • evitar recolectar PAN completo en cada flujo de pago
  • listar tarjetas guardadas de la cuenta autenticada
  • eliminar tarjetas almacenadas cuando el usuario lo solicite

Flujo Cobru

Obtén la llave pública RSA desde GET /base/get_constants_key_public/.

Encripta los campos sensibles de la tarjeta en el cliente o en un servicio con alcance PCI.

Registra la tarjeta con POST /register_tc/.

Consulta tarjetas con GET /list_tc/ y cobra con POST /tc_payment/.

Mapa de endpoints

EndpointPropósitoEstado
GET /base/get_constants_key_public/Obtener la llave pública RSALegacy doc
POST /register_tc/Registrar un token de tarjetaLegacy doc
GET /list_tc/Listar tarjetas guardadas o consultar una por card_uuidLegacy doc
POST /tc_payment/Pagar con una tarjeta guardada o tokenizadaLegacy doc
DELETE /delete_tc/Eliminar una tarjeta almacenadaLegacy doc

Modelo de autenticación

Los exports de Spotlight sugieren que los endpoints de tokenización son superficies autenticadas del usuario. Hasta completar una nueva validación en sandbox, asume que:

  • aplican los headers estándar de autenticación Cobru
  • las requests deben salir de un backend confiable o de servicios con alcance PCI
  • x-api-key nunca debe vivir en frontend público

Ejemplo: obtener la llave pública

curl -X GET https://dev.cobru.co/base/get_constants_key_public/ \
  -H "x-api-key: $COBRU_API_KEY" \
  -H "Authorization: Bearer $COBRU_ACCESS_TOKEN"
const response = await fetch('https://dev.cobru.co/base/get_constants_key_public/', {
  method: 'GET',
  headers: {
    'x-api-key': process.env.COBRU_API_KEY!,
    Authorization: `Bearer ${accessToken}`,
  },
});

const payload = await response.json();
console.log(payload.data.text_long_value);
import requests

response = requests.get(
    "https://dev.cobru.co/base/get_constants_key_public/",
    headers={
        "x-api-key": COBRU_API_KEY,
        "Authorization": f"Bearer {access_token}",
    },
)
print(response.json())
<?php

use GuzzleHttp\Client;

$client = new Client();
$response = $client->request('GET', 'https://dev.cobru.co/base/get_constants_key_public/', [
    'headers' => [
        'x-api-key' => getenv('COBRU_API_KEY'),
        'Authorization' => 'Bearer ' . $accessToken,
    ],
]);

$payload = json_decode((string) $response->getBody(), true, 512, JSON_THROW_ON_ERROR);
var_dump($payload);

Notas operativas

Siguientes pasos

On this page