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.
-
Pide la llave pública de Wompi.
GEThttps://api.lavitrina-online.com/api/storefront/payments/card-tokenization{"PublicKey": "pub_prod_AbC123...","TokenizeUrl": "https://production.wompi.co/v1/tokens/cards"} -
Desde el navegador, envía la tarjeta a Wompi (
TokenizeUrl, conPublicKeycomo 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 -
Guarda el token en la cuenta del cliente:
POSThttps://api.lavitrina-online.com/api/storefront/cards
| 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. |
Ejemplo
Sección titulada «Ejemplo»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"}'const response = await fetch('https://api.lavitrina-online.com/api/storefront/cards', { method: 'POST', headers: { Authorization: `Bearer ${tokenCliente}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ "Name": "Mi Visa", "Token": "tok_prod_123_abc", "Brand": "VISA", "LastFour": "4242", "ExpMonth": "08", "ExpYear": "29", "CardHolder": "LAURA GOMEZ" }),});const data = await response.json();import requests
response = requests.post( "https://api.lavitrina-online.com/api/storefront/cards", headers={"Authorization": f"Bearer {token_cliente}"}, json={ "Name": "Mi Visa", "Token": "tok_prod_123_abc", "Brand": "VISA", "LastFour": "4242", "ExpMonth": "08", "ExpYear": "29", "CardHolder": "LAURA GOMEZ" },)data = response.json()Respuesta 201
Sección titulada «Respuesta 201»{ "Saved": true }Para saber su CardId, lista las tarjetas.