Actualizar CVV
Envía un nuevo valor de verificación de tarjeta para una tarjeta guardada que pertenece al usuario autenticado.
Encabezados#
2Parámetros de ruta#
2Cuerpo de la solicitud#
1123Respuesta#
7Antes de actualizar el CVV#
- Autentica al cliente y envía su token de acceso de usuario en el encabezado Authorization.
- Establece el ID de usuario de la ruta con el UUID del cliente autenticado y usa un ID de tarjeta devuelto por Enumerar tarjetas almacenadas.
- Solicita al cliente el valor de verificación de tarjeta (CVV) de la tarjeta guardada. La tarjeta debe pertenecer a ese cliente y tener una fecha de vencimiento válida.
Envía la solicitud de actualización#
Usa la URL base de sandbox que se muestra a continuación para las pruebas y https://api.deuna.io para producción. Envía un objeto JSON con la cadena obligatoria card_cvv que contiene el CVV de tres o cuatro dígitos. No hay parámetros de consulta. Esta operación actualiza una tarjeta existente; no crea una tarjeta ni realiza un cargo al cliente.
curl --request POST \
--url 'https://api.sandbox.deuna.io/users/USER_ID/cards/CARD_ID/refresh-cvv' \
--header 'Authorization: Bearer USER_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data '{"card_cvv":"123"}'const response = await fetch("https://api.sandbox.deuna.io/users/USER_ID/cards/CARD_ID/refresh-cvv", {
method: "POST",
headers: {
"Authorization": "Bearer USER_ACCESS_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"card_cvv": "123"
})
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();import requests
response = requests.request(
"POST",
"https://api.sandbox.deuna.io/users/USER_ID/cards/CARD_ID/refresh-cvv",
headers={
"Authorization": "Bearer USER_ACCESS_TOKEN",
"Content-Type": "application/json"
},
json={
"card_cvv": "123"
},
)
response.raise_for_status()
data = response.json()<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.deuna.io/users/USER_ID/cards/CARD_ID/refresh-cvv",
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer USER_ACCESS_TOKEN",
"Content-Type: application/json"
],
CURLOPT_POSTFIELDS => json_encode([
"card_cvv" => "123"
])
]);
$response = curl_exec($curl);
curl_close($curl);import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.sandbox.deuna.io/users/USER_ID/cards/CARD_ID/refresh-cvv"))
.header("Authorization", "Bearer USER_ACCESS_TOKEN")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString("{\"card_cvv\":\"123\"}"))
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.body());
}
}package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
request, err := http.NewRequest("POST", "https://api.sandbox.deuna.io/users/USER_ID/cards/CARD_ID/refresh-cvv", strings.NewReader("{\"card_cvv\":\"123\"}"))
if err != nil { panic(err) }
request.Header.Set("Authorization", "Bearer USER_ACCESS_TOKEN")
request.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}Verifica el resultado#
Una solicitud exitosa devuelve HTTP 204 No Content con un cuerpo vacío. No lo analices como JSON. La respuesta confirma que se completó la actualización del CVV; no confirma un pago ni expone el CVV en una respuesta de tarjeta. No se necesita un webhook de pago para confirmar esta operación.
Continúa con tu solicitud de pago cuando el cliente esté listo para pagar.
Gestiona errores y reintentos#
HTTP 400 indica identificadores inválidos, JSON mal formado o un CVV ausente o inválido. HTTP 401 indica una autorización de usuario inválida. HTTP 404 significa que no se encontró la tarjeta guardada para el usuario autenticado. HTTP 422 indica una tarjeta vencida, datos de vencimiento inválidos o una tarjeta cuyo CVV no puede actualizarse. Corrige los datos o selecciona otra tarjeta antes de reintentar.
Si un tiempo de espera agotado o un error del servidor deja el resultado incierto, no reenvíes el CVV automáticamente. No se define un contrato de clave de idempotencia para esta operación. Permite que el cliente reintente dentro del flujo activo y solicita el CVV de nuevo cuando sea necesario. Consulta códigos de respuesta y resolución de problemas.
¿Te resultó útil esta página?