Notreve Pay
v1.0 REST PixAPI REST da Notreve Pay. Integre contas, emita cobranças Pix, gerencie chaves Pix, realize transferências, consulte saldo/extrato e responda infrações do MED. Todos os endpoints retornam {success, message, data}.
- Header obrigatorio em todos os endpoints:
Authorization: Bearer {SEU_TOKEN} - Seu token de cliente esta disponivel no painel.
- O token autentica a conta principal da sua empresa
- Subcontas sao identificadas por
subaccount_idnas rotas que aceitam escopo - Omitir
subaccount_idopera na conta principal - MED: use sempre a conta principal; o retorno inclui principal e subcontas com seus IDs
- JSON em todas requisicoes e respostas
- Datas de período:
YYYY-MM-DD - Valores monetarios em reais
- Infracoes MED:
amountem centavos +amount_brlem reais
- Use
integration_id/idempotency_keypara evitar duplicatas - Consulte o saldo antes de transferir
- Armazene os IDs retornados para consultas futuras
subaccount_idAs taxas sao configuradas por empresa no painel de administracao. No fluxo atual, a taxa configurada de recebimentos (cash-in) pode ser aplicada automaticamente quando houver configuracao valida; a taxa de plataforma de saques/transferencias (cash-out) permanece desativada.
mediator_fee (opcional): é a taxa sua (do seu negócio) cobrada do seu vendedor/subconta — ela é por cima da taxa da plataforma. Não inclua a taxa da plataforma no mediator_fee, senão o valor é cobrado em dobro.
| Conceito | Como funciona |
|---|---|
| Taxa da plataforma | Definida por empresa no painel. Pode ser aplicada no cash-in; o cash-out permanece desativado no fluxo atual. |
| mediator_fee | Taxa adicional sua, cobrada do vendedor/subconta. Opcional. Por cima da taxa da plataforma. |
| Split de recebimento | No cash-in, o valor é dividido entre você, o vendedor e a plataforma automaticamente. |
mediator_fee representa somente a taxa adicional do seu negocio, quando aplicavel; nao some a taxa da plataforma novamente. Para cash-out, nao considere debito de taxa de plataforma enquanto a flag permanecer desativada.
Quando ocorre um evento (pagamento recebido, transferência, infração, mudança de conta etc.), a plataforma envia uma notificação HTTP POST para uma URL configurada. A entrega é automática e pode ser reenviada em caso de falha.
| Evento | Quando é enviado |
|---|---|
| CashIn | Um Pix foi recebido (pagamento de cobrança ou recebimento em chave). |
| Transfer | Uma transferência/saque foi processada (inclui pernas de split e taxas). |
| Infraction | Uma infração MED foi registrada e aguarda análise. |
| Account | Uma conta (subconta/multiconta) mudou de status. |
{
"id": "uuid-unico",
"object": "CashIn",
"date": "2026-08-27T15:30:00.000Z",
"account_id": "id-da-conta",
"data": { ...detalhes do evento... }
}
id, para não processar o mesmo evento duas vezes.
Abre uma nova conta sob o customer_id da sua empresa. Aceita os campos via JSON no body.
Authorization: Bearer {SEU_TOKEN}{
"tax_id": "12345678000199",
"external_id": "cliente_001",
"name": "João da Silva"
}
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| tax_idreq | string | Sim | CPF (11 dígitos) ou CNPJ (14 dígitos). Também aceita o alias cpf_cnpj. |
| external_idreq | string | Sim | Identificador externo para conciliação. Também aceita o alias hash_conta. |
| nameopt | string | Nao | Nome do titular/beneficiário. Opcional (retrocompatível). Usado no comprovante; se ausente, é buscado no DICT pelo tax_id. |
{
"success": true,
"message": "OK",
"data": {
"id": "65c4f6d4-d832-4e21-bf3a-6eb18a880001",
"status": "active"
}
}{
"success": false,
"message": "Missing required fields: tax_id, external_id",
"data": null
}{
"success": false,
"message": "Client Transfeera credentials not configured",
"data": null
}curl -X POST "https://api.notrevepay.com.br/payfac/v1/accounts/new" \
-H "Authorization: Bearer {SEU_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"tax_id": "12345678000199",
"external_id": "cliente_001",
"name": "João da Silva"
}'
Lista as contas da sua empresa, com filtros e paginação por cursor.
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| statusopt | query | string | Nao | Filtra por status (active, pending, blocked, closed etc.). |
| page_cursoropt | query | string | Nao | Cursor retornado na resposta anterior para paginar. |
| page_sizeopt | query | integer | Nao | Registros por página. Máx: 200. |
{
"success": true,
"message": "OK",
"data": {
"items": [
{
"id": "65c4f6d4-...",
"status": "active"
}
]
}
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/accounts/list" \
-H "Authorization: Bearer {SEU_TOKEN}"
Retorna os dados de uma conta pelo seu ID.
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| idreq | query | string | Sim | ID da conta (ou account_id). |
{
"success": true,
"message": "OK",
"data": {
"id": "65c4f6d4-...",
"status": "active"
}
}{
"success": false,
"message": "Missing required parameter: id",
"data": null
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/accounts/get" \
-H "Authorization: Bearer {SEU_TOKEN}"
Solicita o encerramento de uma conta (POST /accounts/{id}/close na Transfeera) passando o id na query.
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| idreq | query | string | Sim | ID da conta a encerrar (ou account_id). |
{
"success": true,
"message": "OK",
"data": null
}{
"success": false,
"message": "Missing required parameter: id",
"data": null
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/accounts/close" \
-H "Authorization: Bearer {SEU_TOKEN}"
subaccount_id para a subconta; omita para a conta principal.Cria uma nova chave Pix. Se o campo key for omitido, a Transfeera gera uma chave aleatória (EVP).
Authorization: Bearer {SEU_TOKEN}{
"key": "cliente@empresa.com.br"
}
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| keyopt | string | Nao | Valor da chave. Opcional: se omitido, gera chave aleatória. |
{
"success": true,
"message": "OK",
"data": {
"id": "9fa12c44-...",
"key_type": "EVP",
"key": "a1b2c3d4-...",
"status": "active"
}
}{
"success": false,
"message": "Invalid client token",
"data": null
}curl -X POST "https://api.notrevepay.com.br/payfac/v1/pixkey/new" \
-H "Authorization: Bearer {SEU_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"key": "cliente@empresa.com.br"
}'
Lista as chaves Pix da conta (principal ou subconta via scope).
Authorization: Bearer {SEU_TOKEN}Nenhum parametro necessario.
{
"success": true,
"message": "OK",
"data": {
"items": [
{
"id": "9fa12c44-...",
"key_type": "EVP",
"key": "a1b2c3d4-..."
}
]
}
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/pixkey/list" \
-H "Authorization: Bearer {SEU_TOKEN}"
Retorna os dados de uma chave Pix específica.
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| idreq | query | string | Sim | ID da chave Pix. |
{
"success": true,
"message": "OK",
"data": {
"id": "9fa12c44-...",
"key_type": "EVP",
"key": "a1b2c3d4-..."
}
}{
"success": false,
"message": "Missing required parameter: id",
"data": null
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/pixkey/get" \
-H "Authorization: Bearer {SEU_TOKEN}"
Remove uma chave Pix pelo ID. Quando a Transfeera retorna 204, confirma com GET (404 = removida).
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| idreq | query | string | Sim | ID da chave Pix a remover (aceita também via POST). |
{
"success": true,
"message": "OK",
"data": {
"deleted": true,
"verified": true,
"key_id": "..."
}
}{
"success": false,
"message": "Missing required parameter: id",
"data": null
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/pixkey/delete" \
-H "Authorization: Bearer {SEU_TOKEN}"
Consulta qualquer chave Pix no DICT do Banco Central (GET /pix/dict_key/{key}). Use para validar o destinatário antes de transferir.
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| keyreq | query | string | Sim | Valor da chave Pix a consultar. |
| key_typeopt | query | string | Nao | EMAil | CPF | CNPJ | TELEFONE | CHAVE_ALEATORIA. |
{
"success": true,
"message": "OK",
"data": {
"key": "...",
"key_type": "CNPJ",
"held_person": {
"name": "Empresa Exemplo LTDA",
"tax_id": "12.345.678/0001-99"
}
}
}{
"success": false,
"message": "Missing required parameter: key",
"data": null
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/pixkey/dict_get" \
-H "Authorization: Bearer {SEU_TOKEN}"
subaccount_id para a subconta; omita para a conta principal.Retorna o saldo disponível e em espera da conta (principal ou subconta via subaccount_id).
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| subaccount_idopt | query | string | Nao | ID da subconta. Omita para a conta principal. |
{
"success": true,
"message": "OK",
"data": {
"value": 1250.75,
"waiting_value": 100
}
}{
"success": false,
"message": "Invalid client token",
"data": null
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/wallet/balance" \
-H "Authorization: Bearer {SEU_TOKEN}"
Rota única de saque/transferência Pix (batch). Antes de transferir consulta o saldo; se insuficiente, retorna erro 400. Informe idempotency_key em retentativas para evitar duplicidade.
Authorization: Bearer {SEU_TOKEN}{
"value": 150.25,
"destination_bank_account": {
"pix_key_type": "CNPJ",
"pix_key": "12345678000199"
},
"receiver_document": "12345678000199",
"pix_description": "Pagamento de serviço",
"integration_id": "pedido_9001",
"idempotency_key": "pedido_9001_v1"
}
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| subaccount_idopt | string | Nao | ID da subconta origem. Omita para a conta principal. |
| valuereq | number | Sim | Valor em reais a transferir. Ex: 100.50 |
| destination_bank_account.pix_key_typereq | string | Sim | CPF | CNPJ | EMAIL | TELEFONE | CHAVE_ALEATORIA. |
| destination_bank_account.pix_keyreq | string | Sim | Chave Pix do destinatário. |
| receiver_documentreq | string | Sim | CPF (11) ou CNPJ (14) do favorecido, somente números. |
| pix_descriptionopt | string | Nao | Descrição da transferência (máx 140 caracteres). |
| integration_idopt | string | Nao | ID externo da transação no seu sistema. |
| idempotency_keyopt | string | Nao | Chave de idempotência para evitar duplicatas em retentativas. |
| mediator_fee.tipoopt | string | Nao | FIXED ou PERCENTAGE (taxa de processamento, quando aplicavel). |
| mediator_fee.valoropt | number | Nao | Valor da taxa (reais se FIXED, percentual se PERCENTAGE). |
{
"success": true,
"message": "OK",
"data": {
"txid": "...",
"integration_id": "pedido_9001"
}
}{
"success": false,
"message": "Insufficient balance.",
"data": {
"saldo_disponivel": 0,
"total_necessario": 150.25
}
}{
"success": false,
"message": "Invalid value",
"data": null
}{
"success": false,
"message": "Invalid client token",
"data": null
}curl -X POST "https://api.notrevepay.com.br/payfac/v1/wallet/transfer" \
-H "Authorization: Bearer {SEU_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"value": 150.25,
"destination_bank_account": {
"pix_key_type": "CNPJ",
"pix_key": "12345678000199"
},
"receiver_document": "12345678000199",
"pix_description": "Pagamento de serviço",
"integration_id": "pedido_9001",
"idempotency_key": "pedido_9001_v1"
}'
subaccount_id para a subconta; omita para a conta principal.Gera um QR Code de cobranca imediata. O sistema seleciona a chave Pix ativa da conta no escopo (principal ou subconta); o valor enviado em pix_key e mantido apenas por compatibilidade. Retorna txid, integration_id, pix_copia_cola (EMV) e qrcode_base64.
Authorization: Bearer {SEU_TOKEN}{
"pix_key": "cliente@empresa.com.br",
"original_value": 59.9,
"integration_id": "pedido_001",
"mediator_fee": {
"tipo": "FIXED",
"valor": 0.2
},
"beneficiary": "João da Silva"
}
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| pix_keyopt | string | Nao | Campo mantido por compatibilidade; a chave ativa da conta no escopo e selecionada automaticamente. |
| original_valuereq | number | Sim | Valor da cobrança em reais. |
| expirationopt | integer | Nao | Segundos de validade (padrão 86400). |
| value_change_modeopt | string | Nao | VALOR_FIXADO (padrão) ou aceitar outro. |
| integration_idopt | string | Nao | ID externo da cobrança (máx 36). |
| mediator_fee.tipoopt | string | Nao | FIXED ou PERCENTAGE (taxa de processamento, quando aplicavel). |
| mediator_fee.valoropt | number | Nao | Valor da taxa. |
| beneficiaryopt | string | Nao | Nome do beneficiário final exibido no comprovante. Se vazio, usa o nome cadastrado na conta. |
{
"success": true,
"message": "OK",
"data": {
"txid": "...",
"integration_id": "pedido_001",
"pix_copia_cola": "00020126...",
"qrcode_base64": "iVBORw0KGgo..."
}
}{
"success": false,
"message": "Missing/invalid required field: original_value ou no_pix_key",
"data": null
}{
"success": false,
"message": "Invalid client token",
"data": null
}curl -X POST "https://api.notrevepay.com.br/payfac/v1/pix/immediate" \
-H "Authorization: Bearer {SEU_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"pix_key": "cliente@empresa.com.br",
"original_value": 59.9,
"integration_id": "pedido_001",
"mediator_fee": {
"tipo": "FIXED",
"valor": 0.2
},
"beneficiary": "João da Silva"
}'
Consulta uma cobrança/QR pelo seu ID ou TXID.
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| idreq | query | string | Sim | ID ou TXID do QR Code. |
{
"success": true,
"message": "OK",
"data": {
"txid": "...",
"status": "paid",
"value": 59.9
}
}{
"success": false,
"message": "Missing required parameter: id",
"data": null
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/pix/cashin/get" \
-H "Authorization: Bearer {SEU_TOKEN}"
Lista os Pix recebidos (cashin). Tem método GET obrigatório (senão 405). Todos os filtros são opcionais.
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| pageopt | query | integer | Nao | Número da página. |
| page_sizeopt | query | integer | Nao | Registros por página (máx 100). |
| typeopt | query | string | Nao | DEPOSIT | DEPOSIT_REFUND | PENDING_DEPOSIT_REFUND | CANCELLED_DEPOSIT_REFUND. |
| initial_dateopt | query | string | Nao | Data inicial. |
| end_dateopt | query | string | Nao | Data final. |
| pix_keyopt | query | string | Nao | Filtra por chave Pix. |
| txidopt | query | string | Nao | Filtra por TXID. |
| integration_idopt | query | string | Nao | Filtra pelo ID de integração externo. |
| valueopt | query | string | Nao | Filtra por valor. |
| payer_documentopt | query | string | Nao | CPF/CNPJ do pagador. |
{
"success": true,
"message": "OK",
"data": {
"entries": [
{
"id": "...",
"value": 59.9,
"type": "DEPOSIT",
"txid": "...",
"payer": {
"name": "João da Silva",
"document": "12345678901"
},
"receiver": {
"name": "Empresa Exemplo",
"document": "12345678000199"
}
}
],
"metadata": null
}
}{
"success": false,
"message": "Method not allowed",
"data": null
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/pix/cashin/list" \
-H "Authorization: Bearer {SEU_TOKEN}"
subaccount_id para a subconta; omita para a conta principal.Solicita a geração assíncrona de um relatório de extrato. Consulte o ID retornado em /report_get até o status ficar pronto.
Authorization: Bearer {SEU_TOKEN}{
"format": "pdf",
"created_at__gte": "2026-03-01",
"created_at__lte": "2026-03-31"
}
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| subaccount_idopt | string | Nao | ID da subconta. Omita para a conta principal. |
| formatreq | string | Sim | csv | xlsx | ofx | pdf |
| created_at__gtereq | string | Sim | Data inicial do período. Formato: YYYY-MM-DD |
| created_at__ltereq | string | Sim | Data final do período. Formato: YYYY-MM-DD |
{
"success": true,
"message": "OK",
"data": {
"id": "stmt_a1b2c3",
"status": "processing",
"format": "pdf"
}
}{
"success": false,
"message": "Invalid format (use csv, xlsx, ofx or pdf)",
"data": null
}{
"success": false,
"message": "Method not allowed",
"data": null
}curl -X POST "https://api.notrevepay.com.br/payfac/v1/statement/report_request" \
-H "Authorization: Bearer {SEU_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"format": "pdf",
"created_at__gte": "2026-03-01",
"created_at__lte": "2026-03-31"
}'
Consulta o status de um relatório. Quando pronto, retorna file_url e file_name.
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| idreq | query | string | Sim | ID do relatório retornado em /report_request. |
{
"success": true,
"message": "OK",
"data": {
"id": "stmt_a1b2c3",
"status": "done",
"format": "pdf",
"file_url": "https://...",
"file_name": "..."
}
}{
"success": false,
"message": "Missing required query param: id",
"data": null
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/statement/report_get" \
-H "Authorization: Bearer {SEU_TOKEN}"
Lista as infrações MED da conta principal e das subcontas vinculadas. Não envie subaccount_id: a consulta é feita no escopo principal e cada item mantém os identificadores de conta retornados pelo provedor. Converte amount e refund.refunded_amount (centavos) para *_brl.
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| infraction_date__gteopt | query | string | Nao | Data inicial. Formato: YYYY-MM-DD |
| infraction_date__lteopt | query | string | Nao | Data final. |
| transaction_idopt | query | string | Nao | EndToEndID da transação (E2E). |
| analysis_status__inopt | query | string | Nao | pending | accepted | rejected | delayed (separar por vírgula). |
| payer_tax_idopt | query | string | Nao | CPF ou CNPJ do pagador. |
| page_cursoropt | query | string | Nao | Cursor de paginação. |
| page_sizeopt | query | integer | Nao | Registros por página (máx 200). |
{
"success": true,
"message": "OK",
"data": {
"items": [
{
"id": "1f0f23d1-...",
"account_id": "id-da-conta-ou-subconta",
"situation_type": "scam",
"analysis_status": "pending",
"amount": 50000,
"amount_brl": 500,
"infraction_date": "2026-03-25"
}
],
"metadata": null
}
}{
"success": false,
"message": "Invalid client token",
"data": null
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/infractions/list" \
-H "Authorization: Bearer {SEU_TOKEN}"
Retorna os dados de uma infração por ID usando a conta principal. O registro pode ser da conta principal ou de uma subconta vinculada, conforme o identificador de conta retornado. Valores convertidos para *_brl.
Authorization: Bearer {SEU_TOKEN}| Nome | In | Tipo | Obrigatorio | Descricao |
|---|---|---|---|---|
| idreq | query | string | Sim | ID da infração. |
{
"success": true,
"message": "OK",
"data": {
"id": "1f0f23d1-...",
"account_id": "id-da-conta-ou-subconta",
"analysis_status": "pending",
"amount": 50000,
"amount_brl": 500,
"transaction_id": "E000000..."
}
}{
"success": false,
"message": "Missing required param: id",
"data": null
}curl -X GET "https://api.notrevepay.com.br/payfac/v1/infractions/get" \
-H "Authorization: Bearer {SEU_TOKEN}"
Submete o parecer pela conta principal, inclusive para uma infração originada em subconta, e opcionalmente arquivos de evidência (multipart/form-data, campo attachments). Não envie subaccount_id.
Authorization: Bearer {SEU_TOKEN}curl -X POST "https://api.notrevepay.com.br/payfac/v1/infractions/analysis" \
-H "Authorization: Bearer {SEU_TOKEN}" \
-F "id=1f0f23d1-26be-6834-a9a2-aaf954149dd3" \
-F "analysis=rejected" \
-F "analysis_description=Transação legítima confirmada pelo cliente."
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| idreq | string | Sim | ID da infração (aceita via GET ?id= ou POST). |
| analysisreq | string | Sim | accepted | rejected |
| analysis_descriptionreq | string | Sim | Justificativa da análise. |
| attachmentsopt | file | Nao | Evidências (anexos). |
{
"success": true,
"message": "OK",
"data": null
}{
"success": false,
"message": "Invalid analysis (use accepted or rejected)",
"data": null
}{
"success": false,
"message": "Method not allowed",
"data": null
}curl -X POST "https://api.notrevepay.com.br/payfac/v1/infractions/analysis" \
-H "Authorization: Bearer {SEU_TOKEN}" \
-F "id=1f0f23d1-26be-6834-a9a2-aaf954149dd3" \
-F "analysis=rejected" \
-F "analysis_description=Transação legítima confirmada pelo cliente."