Ir al contenido

Guardar una tarjeta

El número de la tarjeta nunca pasa por tu servidor ni por La Vitrina. El navegador del cliente la envía directo a Wompi, que devuelve un token (tok_…). Ese token es lo que se guarda.

  1. Pide la llave pública de Wompi.

    GEThttps://api.lavitrina-online.com/api/storefront/payments/card-tokenizationToken del cliente (su inicio de sesión en tu sitio).
    {
    "PublicKey": "pub_prod_AbC123...",
    "TokenizeUrl": "https://production.wompi.co/v1/tokens/cards"
    }
  2. Desde el navegador, envía la tarjeta a Wompi (TokenizeUrl, con PublicKey como token):

    const res = await fetch(tokenization.TokenizeUrl, {
    method: 'POST',
    headers: { Authorization: `Bearer ${tokenization.PublicKey}`, 'Content-Type': 'application/json' },
    body: JSON.stringify({ number: '4242424242424242', cvc: '123', exp_month: '08', exp_year: '29', card_holder: 'Laura Gómez' }),
    });
    const { data } = await res.json();
    // data.id = "tok_...", data.brand, data.last_four, data.exp_month, data.exp_year, data.card_holder
  3. Guarda el token en la cuenta del cliente:

    POSThttps://api.lavitrina-online.com/api/storefront/cardsToken del cliente (su inicio de sesión en tu sitio).
Campo Tipo Descripción
Name texto, 1 a 50 Un nombre para reconocerla, por ejemplo “Mi Visa”.
Token texto data.id de Wompi. Empieza por tok_.
Brand texto data.brand: VISA, MASTERCARD o AMEX.
LastFour texto data.last_four: los últimos 4 dígitos.
ExpMonth texto data.exp_month, por ejemplo "08".
ExpYear texto data.exp_year, por ejemplo "29".
CardHolder texto, 1 a 100 data.card_holder: nombre en la tarjeta.
Ventana de terminal
curl -X POST "https://api.lavitrina-online.com/api/storefront/cards" \
-H "Authorization: Bearer $TOKEN_CLIENTE" \
-H "Content-Type: application/json" \
-d '{"Name":"Mi Visa","Token":"tok_prod_123_abc","Brand":"VISA","LastFour":"4242","ExpMonth":"08","ExpYear":"29","CardHolder":"LAURA GOMEZ"}'
{ "Saved": true }

Para saber su CardId, lista las tarjetas.