Produto BaaS (titular). Requer Bearer JWT do login da conta e assinatura HMAC obrigatória. Scope: baas.pix-payments.write. Guia: documentação técnica.
stringAssinatura HMAC-SHA256 da requisição (hex).
stringTimestamp Unix (segundos, UTC) usado na assinatura.
stringNonce único por requisição (anti-replay).
stringRequer Bearer token do login da conta e assinatura HMAC obrigatórios.
Scope: baas.pix-payments.write.
| Header | Obrigatório | Descrição |
|---|---|---|
Authorization | Sim | Bearer {{access_token}} |
Accept | Sim | application/json |
X-Signature | Sim | Assinatura HMAC |
X-Timestamp | Sim | Timestamp da assinatura |
X-Nonce | Sim | Nonce único por requisição |
Valores em centavos. Consulte a chave no DICT antes de type_initiation = 1.
| Campo | Obrigatório HTTP | Descrição |
|---|---|---|
value | Sim | Inteiro > 0 (ex.: 10050 = R$ 100,50). App limita a R$ 15.000,00 |
type_initiation | Sim | 0 manual (agência/conta), 1 por chave |
ispb | Sim | ISPB do banco destino |
agency | Sim | Agência destino |
account | Sim | Conta destino (diferente da conta origem) |
account_type | Sim | 0 corrente, 1 salário, 2 poupança, 3 pagamento, 4 PI |
document | Sim | CPF ou CNPJ do destinatário, sem pontuação |
person_type | Sim | 0 PF, 1 PJ |
idempotency_key | Sim | UUID v4, máx. 36 caracteres |
key | Condicional | Obrigatório se type_initiation = 1 |
name | Condicional | Obrigatório se type_initiation = 1; no manual (0) o app sempre envia |
favorite | Não (fluxo: sim) | Salvar favorito; default false |
appointment_date | Condicional | Y-m-d, após hoje, se agendar |
schedule_months | Condicional | 1 a 12, se recorrência |
description | Não | Máx. 60 caracteres |
| Código | Corpo | Causa |
|---|---|---|
422 | You cannot transfer to your own account. | Destino é a própria conta |
422 | Invalid key. | Chave inválida no DICT |
422 | The key data was not validated, try again later. | Consulta DICT sem documento |
400 | Insufficient balance. | Saldo insuficiente |
400 | Value exceeds pix limit. | Limite diário Pix |
400 | You have reached the limit of transfers per minute. | Rate limit |
400 | invalid_user | Conta em análise |
curl --request POST \
--url 'https://api-h.nuvende.com.br/api/v2/baas/pix/payments/key' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'X-Timestamp: {{timestamp}}' \
--header 'X-Nonce: {{nonce}}' \
--header 'X-Signature: {{signature}}' \
--data '{
"idempotency_key": "550e8400-e29b-41d4-a716-446655440000",
"type_initiation": 1,
"value": 10050,
"key": "[email protected]",
"name": "João Recebedor Exemplo",
"ispb": "60701190",
"agency": "0001",
"account": "1234567",
"account_type": 0,
"document": "52998224725",
"person_type": 0,
"favorite": false,
"description": "Pagamento servico exemplo"
}'
const axios = require("axios");
const data = {
idempotency_key: "550e8400-e29b-41d4-a716-446655440000",
type_initiation: 1,
value: 10050,
key: "[email protected]",
name: "João Recebedor Exemplo",
ispb: "60701190",
agency: "0001",
account: "1234567",
account_type: 0,
document: "52998224725",
person_type: 0,
favorite: false,
description: "Pagamento servico exemplo",
};
axios({
method: "post",
url: "https://api-h.nuvende.com.br/api/v2/baas/pix/payments/key",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: "Bearer {{access_token}}",
"X-Timestamp": "{{timestamp}}",
"X-Nonce": "{{nonce}}",
"X-Signature": "{{signature}}",
},
data,
})
.then((response) => console.log(JSON.stringify(response.data)))
.catch((error) => console.log(error.response?.data || error.message));
import json
import requests
url = "https://api-h.nuvende.com.br/api/v2/baas/pix/payments/key"
payload = {
"idempotency_key": "550e8400-e29b-41d4-a716-446655440000",
"type_initiation": 1,
"value": 10050,
"key": "[email protected]",
"name": "João Recebedor Exemplo",
"ispb": "60701190",
"agency": "0001",
"account": "1234567",
"account_type": 0,
"document": "52998224725",
"person_type": 0,
"favorite": false,
"description": "Pagamento servico exemplo",
}
headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Bearer {{access_token}}",
"X-Timestamp": "{{timestamp}}",
"X-Nonce": "{{nonce}}",
"X-Signature": "{{signature}}",
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
print(response.text)
<?php
$curl = curl_init();
$opts = [
CURLOPT_URL => 'https://api-h.nuvende.com.br/api/v2/baas/pix/payments/key',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"idempotency_key": "550e8400-e29b-41d4-a716-446655440000",
"type_initiation": 1,
"value": 10050,
"key": "[email protected]",
"name": "João Recebedor Exemplo",
"ispb": "60701190",
"agency": "0001",
"account": "1234567",
"account_type": 0,
"document": "52998224725",
"person_type": 0,
"favorite": false,
"description": "Pagamento servico exemplo"
}',
CURLOPT_HTTPHEADER => [
'Content-Type: application/json',
'Accept: application/json',
'Authorization: Bearer {{access_token}}',
'X-Timestamp: {{timestamp}}',
'X-Nonce: {{nonce}}',
'X-Signature: {{signature}}',
],
];
curl_setopt_array($curl, $opts);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
{
"id": 1268,
"receiver_account_id": 84,
"payer_account_id": 33,
"movement_date": "15/07/2026 14:30:00",
"value": "100.50",
"type": 23,
"status": 1,
"status_details": "CONFIRMADO",
"transaction_type": "pix",
"end_to_end_id": "E3829737420260715173040123456789",
"qr_code_payload": null,
"end_to_end_devolution_id": null,
"internal_id_request": "550e8400-e29b-41d4-a716-446655440000",
"jd_id": "JDPI-20260715143000-001",
"description": "Pagamento servico exemplo",
"payment_description": "Pagamento servico exemplo",
"receiver_account": {
"id": 84,
"name": "Joao Recebedor Exemplo",
"document": "52998224725",
"customer_id": 63,
"company_id": null,
"bank": {
"id": 1,
"name": "Instituicao Exemplo",
"compe_code": "260",
"ispb_code": "38297374"
},
"key": "[email protected]",
"key_type": 2,
"agency": "0001",
"account": "00001252",
"type": 0,
"is_local": false
},
"payer_account": {
"id": 33,
"name": "Maria Pagadora Exemplo",
"document": "11144477735",
"customer_id": 62,
"company_id": null,
"bank": {
"id": 1,
"name": "Instituicao Exemplo",
"compe_code": "260",
"ispb_code": "38297374"
},
"key": null,
"key_type": null,
"agency": "0001",
"account": "00000337",
"type": 0,
"is_local": true
},
"is_favorite": false,
"is_local": true,
"is_receiver": false,
"appointment_date": null,
"error_description": null,
"created_at": "2026-07-15 14:30:00",
"rec_status": null
}
curl --request POST \
--url 'https://api-h.nuvende.com.br/api/v2/baas/pix/payments/key' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'X-Timestamp: {{timestamp}}' \
--header 'X-Nonce: {{nonce}}' \
--header 'X-Signature: {{signature}}' \
--data '{"idempotency_key":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","type_initiation":0,"value":1050,"ispb":"60701190","agency":"0001","account":"1234567","account_type":0,"document":"52998224725","person_type":0,"description":"Pagamento manual exemplo"}'
curl --request POST \
--url 'https://api-h.nuvende.com.br/api/v2/baas/pix/payments/key' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'X-Timestamp: {{timestamp}}' \
--header 'X-Nonce: {{nonce}}' \
--header 'X-Signature: {{signature}}' \
--data '{"idempotency_key":"c3d4e5f6-a7b8-9012-cdef-123456789abc","type_initiation":1,"value":1050,"key":"[email protected]","name":"João Recebedor Exemplo","ispb":"60701190","agency":"0001","account":"1234567","account_type":0,"document":"11144477735","person_type":0,"description":"Pagamento agendado exemplo","appointment_date":"2025-02-01"}'
curl --request POST \
--url 'https://api-h.nuvende.com.br/api/v2/baas/pix/payments/key' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
--header 'X-Timestamp: {{timestamp}}' \
--header 'X-Nonce: {{nonce}}' \
--header 'X-Signature: {{signature}}' \
--data '{"idempotency_key":"d4e5f6a7-b8c9-0123-def0-23456789abcd","type_initiation":1,"value":50000,"key":"[email protected]","name":"Loja Exemplo LTDA","ispb":"60701190","agency":"0001","account":"9876543","account_type":0,"document":"43587980000107","person_type":1,"description":"Pagamento fornecedor exemplo"}'
{
"value": [
"The value field is required."
],
"message": "You cannot transfer to your own account."
}
{
"message": "Invalid key."
}
{
"message": "The key data was not validated, try again later."
}
{
"message": "Insufficient balance."
}
{
"message": "Your account is under review. This may take up to 1 business day.",
"error_type": "invalid_user",
"status": "pending",
"document_status": "waiting"
}