Aggiornare il CVV
Invia un nuovo valore di verifica della carta per una carta salvata appartenente all’utente autenticato.
Header#
2Parametri del percorso#
2Corpo della richiesta#
1123Risposta#
7Prima di aggiornare il CVV#
- Autentica il cliente e invia il suo token di accesso utente nell’header Authorization.
- Imposta l’ID utente del percorso con l’UUID del cliente autenticato e usa un ID carta restituito da Elencare le carte memorizzate.
- Richiedi al cliente il valore di verifica della carta (CVV) per la carta salvata. La carta deve appartenere a quel cliente e avere una data di scadenza valida.
Inviare la richiesta di aggiornamento#
Usa l’URL di base sandbox qui sotto per i test e https://api.deuna.io per la produzione. Invia un oggetto JSON con la stringa obbligatoria card_cvv contenente il CVV di tre o quattro cifre. Non sono previsti parametri di query. Questa operazione aggiorna una carta esistente; non crea una carta e non addebita il 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 il risultato#
Una richiesta riuscita restituisce HTTP 204 No Content con un corpo vuoto. Non interpretarlo come JSON. La risposta conferma il completamento dell’aggiornamento del CVV; non conferma un pagamento né espone il CVV in una risposta relativa alla carta. Non serve un webhook di pagamento per confermare questa operazione.
Prosegui con la tua richiesta di pagamento quando il cliente è pronto a pagare.
Gestire errori e nuovi tentativi#
HTTP 400 indica identificatori non validi, JSON non valido o un CVV mancante o non valido. HTTP 401 indica un’autorizzazione utente non valida. HTTP 404 significa che la carta salvata non è stata trovata per l’utente autenticato. HTTP 422 indica una carta scaduta, dati di scadenza non validi o una carta il cui CVV non può essere aggiornato. Correggi i dati o seleziona un’altra carta prima di riprovare.
Se un timeout o un errore del server lascia l’esito incerto, non inviare nuovamente il CVV in automatico. Per questa operazione non è definito un contratto di chiave di idempotenza. Consenti al cliente di riprovare nel flusso attivo e richiedi nuovamente il CVV quando necessario. Consulta codici di risposta e risoluzione dei problemi.
Questa pagina è stata utile?