Pular para o conteúdo principal

Pré-captura com cartão de crédito

Inicia uma transação de cartão. O valor é autorizado, mas não capturado até a confirmação.

POST/api/v1/online/sales/pre-capture/
{
"payment_type": "CREDIT_CARD",
"value": 1500,
"card_number": "4111111111111111",
"cvv": "123",
"exp_month": "12",
"exp_year": "2028",
"card_holder": "JOAO DA SILVA",
"document": "52998224725",
"email": "[email protected]",
"mobile": "11999999999"
}
CampoTipoObrigatórioDescrição
payment_typestringNão"CREDIT_CARD" (padrão) ou "PIX"
valueintegerSimValor em centavos, inteiro de 1 a 2147483647. Ex.: 1500 = R$ 15,00
card_numberstringSimNúmero completo do cartão. Precisa ter dígito verificador válido
cvvstringSimCódigo de segurança
exp_monthstringSimMês de validade. Ex.: "12"
exp_yearstringSimAno de validade. Ex.: "2028"
card_holderstringSimNome do titular como impresso no cartão
documentstringNãoCPF ou CNPJ, somente dígitos
emailstringNãoE-mail do pagador
mobilestringNãoTelefone do pagador
brandstringNãoBandeira. Detectada pelo número quando omitida
value é sempre em centavos

R$ 19,90 é 1990. Um número com fração, como 19.90, devolve 400 Invalid value (expected positive integer cents, max 2147483647) — nunca é arredondado nem truncado. Se você recebeu esse erro, provavelmente enviou reais no lugar de centavos.

Recusa chega com HTTP 200 e "status": "success"

O 200 diz que a chamada foi processada; o resultado do pagamento está em data.approved. Nunca libere um pedido olhando só o código HTTP.

Resposta 200 — autorizada
{
"status": "success",
"data": { "online_sale_id": 61, "sale_status": "PRE_CAPTURED", "approved": true }
}
Resposta 200 — recusada pelo adquirente
{
"status": "success",
"data": {
"online_sale_id": 94,
"sale_status": "DENIED",
"approved": false,
"denial": { "code": "05", "message": "Not Authorized" }
}
}
CampoDescrição
approvedtrue quando a venda foi autorizada (PRE_CAPTURED ou CONFIRMED). false em qualquer outro caso. É o campo para decidir
sale_statusEstado da venda — ver Referência de status
denial.codeCódigo de retorno do adquirente. Presente só na recusa
denial.messageMensagem do adquirente, repassada sem tradução. Presente só na recusa

O denial pode não vir em recusas sem código do adquirente; approved: false vale sempre. Uma venda DENIED não pode ser capturada: a captura devolve 409.

Erros específicos​

HTTPQuando
400 Campos obrigatórios ausentesFalta algum campo obrigatório. Lista em missing
400 Invalid value (expected positive integer cents, max 2147483647)value com fração, zero, negativo ou acima do limite
400 Bandeira do cartão não reconhecidaO número não corresponde a nenhuma bandeira aceita e brand não foi enviado. O adquirente não é chamado
400 Número do cartão inválidoO número falha no dígito verificador. O adquirente não é chamado
400 Data de validade inválida (use exp_month de 01 a 12 e exp_year AAAA)exp_month fora de 01–12, ou exp_year que não tem 2 nem 4 dígitos. O adquirente não é chamado
400 Cartão vencidoO mês de validade já terminou. O adquirente não é chamado
502Falha de comunicação com o adquirente — não há resultado de pagamento. Ver Respostas de erro