Efetiva pagamento iniciado. Required reais: id, valor, chave_idempotencia, recebedor. Não exigir endToEndId nem pagador no body. Status: "9" confirmado, "0" processando, "-1" erro. Scope: pix.write.
Tipo de conteúdo aceito na resposta
stringTipo de conteúdo da requisição
stringRequer Bearer token com scope pix.write.
| Header | Obrigatório | Descrição |
|---|---|---|
Authorization | Sim | Bearer {{access_token}} |
Accept | Sim | application/json |
Content-Type | Sim | application/json |
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
id | Sim | String | UUID da iniciação (404 se não existir) |
valor | Sim | Number | Valor a efetivar (omitir tende a 500) |
chave_idempotencia | Sim | String | Única por intenção; omitir tende a 500 (não 422) |
recebedor | Sim | Object | Espelhar pessoa + conta da iniciação (omitir tende a 500) |
endToEndId | Não | String | Ignorado no body — vem do pagamento ou é gerado na confirmação |
pagador | Não | Object | Montado da conta autenticada; envie pessoa.nome só se o titular não tiver nome |
descricao | Não | String | Mensagem |
prioridade_pagamento / tp_prioridade_pagamento | Não | Integer | Defaults 0 |
idConciliacaoRecebedor | Não | String | Conciliação opcional |
{
"id": "{{pagamento_id}}",
"valor": 10.50,
"chave_idempotencia": "confirm-chave-001",
"recebedor": {
"pessoa": { "nome": "Recebedor DICT", "tipo": 0, "cpfCnpj": "98765432100" },
"conta": { "ispb": "87654321", "agencia": "0001", "conta": "7654321", "tipo": 0 }
}
}
Não envie endToEndId nem pagador (salvo fallback de nome). O mesmo formato vale para iniciação por chave, QR ou manual — espelhe o recebedor da resposta de iniciação.
status | Significado |
|---|---|
"9" | Confirmado (débito efetivado) — comum em Pix interno (mesmo ISPB) |
"0" | Processando / aceito no JDPI — Pix externo pode evoluir depois para "9" |
"-1" | Erro |
| Código | Significado | Descrição |
|---|---|---|
| 200 | OK | Confirmação aceita |
| 403 | Forbidden | Scope pix.write ausente |
| 404 | Not Found | id inexistente |
| 500 | Internal Server Error | Campos críticos omitidos (valor, recebedor, chave_idempotencia) |
chave_idempotencia nova por intenção distinta; reutilize só em retentativa.curl --location 'https://api-h.nuvende.com.br/api/v2/pix/pagamentos/confirmar' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'Content-Type: application/json' \
--data '{
"id": "{{pagamento_id}}",
"valor": 10.50,
"chave_idempotencia": "confirm-chave-001",
"recebedor": {
"pessoa": { "nome": "Recebedor DICT", "tipo": 0, "cpfCnpj": "98765432100" },
"conta": { "ispb": "87654321", "agencia": "0001", "conta": "7654321", "tipo": 0 }
}
}'
const axios = require("axios");
const data = {
id: "{{pagamento_id}}",
valor: 10.5,
chave_idempotencia: "confirm-chave-001",
recebedor: {
pessoa: { nome: "Recebedor DICT", tipo: 0, cpfCnpj: "98765432100" },
conta: { ispb: "87654321", agencia: "0001", conta: "7654321", tipo: 0 },
},
};
axios
.post("https://api-h.nuvende.com.br/api/v2/pix/pagamentos/confirmar", data, {
headers: {
Accept: "application/json",
Authorization: "Bearer {{access_token}}",
"Content-Type": "application/json",
},
})
.then((response) => console.log(JSON.stringify(response.data)))
.catch((error) => console.log(error.response?.data || error.message));
import requests
url = "https://api-h.nuvende.com.br/api/v2/pix/pagamentos/confirmar"
headers = {
"Accept": "application/json",
"Authorization": "Bearer {{access_token}}",
"Content-Type": "application/json",
}
payload = {
"id": "{{pagamento_id}}",
"valor": 10.50,
"chave_idempotencia": "confirm-chave-001",
"recebedor": {
"pessoa": {"nome": "Recebedor DICT", "tipo": 0, "cpfCnpj": "98765432100"},
"conta": {"ispb": "87654321", "agencia": "0001", "conta": "7654321", "tipo": 0},
},
}
response = requests.post(url, headers=headers, json=payload)
print(response.text)
<?php
$payload = [
'id' => '{{pagamento_id}}',
'valor' => 10.50,
'chave_idempotencia' => 'confirm-chave-001',
'recebedor' => [
'pessoa' => ['nome' => 'Recebedor DICT', 'tipo' => 0, 'cpfCnpj' => '98765432100'],
'conta' => ['ispb' => '87654321', 'agencia' => '0001', 'conta' => '7654321', 'tipo' => 0],
],
];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api-h.nuvende.com.br/api/v2/pix/pagamentos/confirmar',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
'Accept: application/json',
'Authorization: Bearer {{access_token}}',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode($payload),
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;