Atualizar CVV
Envie um novo valor de verificação do cartão para um cartão salvo pertencente ao usuário autenticado.
Headers#
2Parâmetros de rota#
2Corpo da solicitação#
1123Resposta#
7Antes de atualizar o CVV#
- Autentique o cliente e envie seu token de acesso de usuário no cabeçalho Authorization.
- Defina o ID de usuário da rota como o UUID do cliente autenticado e use um ID de cartão retornado por Listar cartões armazenados.
- Solicite ao cliente o valor de verificação do cartão (CVV) do cartão salvo. O cartão deve pertencer a esse cliente e ter uma data de validade válida.
Envie a solicitação de atualização#
Use a URL base de sandbox abaixo para testes e https://api.deuna.io para produção. Envie um objeto JSON com a string obrigatória card_cvv contendo o CVV de três ou quatro dígitos. Não há parâmetros de consulta. Esta operação atualiza um cartão existente; não cria um cartão nem cobra o 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))
}Verifique o resultado#
Uma solicitação bem-sucedida retorna HTTP 204 No Content com corpo vazio. Não o interprete como JSON. A resposta confirma a conclusão da atualização do CVV; não confirma um pagamento nem expõe o CVV em uma resposta de cartão. Não é necessário um webhook de pagamento para confirmar esta operação.
Continue com sua solicitação de pagamento quando o cliente estiver pronto para pagar.
Trate erros e novas tentativas#
HTTP 400 indica identificadores inválidos, JSON malformado ou CVV ausente ou inválido. HTTP 401 indica autorização de usuário inválida. HTTP 404 significa que o cartão salvo não foi encontrado para o usuário autenticado. HTTP 422 indica cartão vencido, dados de validade inválidos ou um cartão cujo CVV não pode ser atualizado. Corrija os dados ou selecione outro cartão antes de tentar novamente.
Se um tempo limite ou erro do servidor deixar o resultado incerto, não reenvie o CVV automaticamente. Não há contrato de chave de idempotência definido para esta operação. Permita que o cliente tente novamente no fluxo ativo e solicite o CVV novamente quando necessário. Consulte códigos de resposta e solução de problemas.
Esta página foi útil?