https://api.notrevepay.com.br/payfac
🔑 Bearer Token

Notreve PayFac

v1.0 REST Pix

API REST para integracao com a plataforma Notreve PayFac. Permite criar subcontas, processar pagamentos Pix, emitir cobranças, consultar extratos e receber notificacoes via webhook.

Autenticacao
  • Header obrigatorio em todos os endpoints:
    Authorization: Bearer {SEU_TOKEN}
  • Seu token esta em Painel → Empresas
Conta Mae vs Subconta
  • Sua integracao opera como conta mae
  • Subcontas sao identificadas por subaccount_id
  • Omitir subaccount_id opera na conta mae
Formato
  • JSON em todas requisicoes e respostas
  • Datas: YYYY-MM-DD
  • DateTimes: RFC3339 com timezone -03:00
  • Valores monetarios em reais (nao centavos)
Boas Praticas
  • Use idempotency_key em transferencias com retry
  • Armazene os IDs retornados para consultas futuras
  • Configure webhooks para status em tempo real
Contexto:
Conta Mae opera na sua conta principal
Subconta exige subaccount_id
Ambas subaccount_id opcional
🏢
🏦 Opera na conta mae autenticada.
POST
/v1/accounts/new
Criar Subconta
Conta Mae

Cria uma nova subconta vinculada à conta mãe autenticada. O status inicial é pending enquanto o cadastro é processado.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Request body application/json
{
    "name": "Empresa Exemplo LTDA",
    "tax_id": "12345678000199",
    "email": "financeiro@empresaexemplo.com.br",
    "phone": "5511999999999",
    "external_id": "cliente_001"
}
CampoTipoObrigatorioDescricao
namereq string Sim Razão social ou nome do responsável.
tax_idreq string Sim CPF (11 dígitos) ou CNPJ (14 dígitos), somente números.
emailreq string Sim E-mail principal da subconta.
phoneopt string Nao Telefone no formato internacional. Ex: 5511999999999
external_idopt string Nao Identificador externo para conciliação no seu sistema.
Responses
201 Subconta criada com sucesso
{
    "status": "success",
    "message": "Subaccount created successfully.",
    "data": {
        "id": "65c4f6d4-d832-4e21-bf3a-6eb18a880001",
        "name": "Empresa Exemplo LTDA",
        "status": "pending"
    }
}
409 CNPJ ou e-mail já cadastrado
{
    "status": "error",
    "message": "Tax ID or email already registered.",
    "data": null
}
cURL
curl -X POST "https://api.notrevepay.com.br/payfac/v1/accounts/new" \
  -H "Authorization: Bearer {SEU_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Empresa Exemplo LTDA",
    "tax_id": "12345678000199",
    "email": "financeiro@empresaexemplo.com.br",
    "phone": "5511999999999",
    "external_id": "cliente_001"
}'
GET
/v1/accounts/list
Listar Subcontas
Conta Mae

Lista todas as subcontas com filtros e paginação por cursor.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
statusopt query string Nao active | pending | blocked | closed
page_cursoropt query string Nao Cursor retornado na resposta anterior para paginar.
page_sizeopt query integer Nao Registros por página. Padrão: 20. Máx: 100.
Responses
200 Lista retornada
{
    "status": "success",
    "data": {
        "items": [
            {
                "id": "65c4f6d4-...",
                "name": "Empresa Exemplo LTDA",
                "status": "active"
            }
        ],
        "next_page_cursor": null,
        "total_count": 1
    }
}
cURL
curl -X GET "https://api.notrevepay.com.br/payfac/v1/accounts/list" \
  -H "Authorization: Bearer {SEU_TOKEN}"
GET
/v1/accounts/get
Consultar Subconta
Conta Mae

Retorna os dados completos de uma subconta pelo seu ID.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
idreq query string (uuid) Sim ID da subconta.
Responses
200 Subconta encontrada
{
    "status": "success",
    "data": {
        "id": "65c4f6d4-...",
        "name": "Empresa Exemplo LTDA",
        "status": "active",
        "tax_id": "12.345.678/0001-99",
        "email": "financeiro@empresaexemplo.com.br"
    }
}
404 Subconta não encontrada
{
    "status": "error",
    "message": "Subaccount not found.",
    "data": null
}
cURL
curl -X GET "https://api.notrevepay.com.br/payfac/v1/accounts/get" \
  -H "Authorization: Bearer {SEU_TOKEN}"
POST
/v1/accounts/close
Encerrar Subconta
Conta Mae

Solicita o encerramento de uma subconta. Processo assíncrono — o status muda para closed após processamento.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
idreq query string (uuid) Sim ID da subconta a encerrar.
Responses
200 Solicitação registrada
{
    "status": "success",
    "message": "Subaccount close requested.",
    "data": null
}
cURL
curl -X POST "https://api.notrevepay.com.br/payfac/v1/accounts/close" \
  -H "Authorization: Bearer {SEU_TOKEN}"
🔑
🏢 Todos os endpoints exigem subaccount_id na query string.
POST
/v1/pixkey/new
Criar Chave Pix
Subconta

Cria uma nova chave Pix vinculada à subconta. Para chave aleatória (EVP), omita o campo key.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
subaccount_idreq querystring (uuid) Sim ID da subconta. Obtido em POST /v1/accounts/new.
Request body application/json
{
    "key_type": "EVP"
}
CampoTipoObrigatorioDescricao
key_typereq string Sim EVP
keyopt string Nao Valor da chave. Obrigatório para todos os tipos exceto EVP.
Responses
201 Chave criada
{
    "status": "success",
    "data": {
        "id": "9fa12c44-7730-4c3b-ab01-ffce00b1a2c3",
        "key_type": "EVP",
        "key": "a1b2c3d4-e5f6-...",
        "status": "active"
    }
}
409 Chave já cadastrada nesta subconta
{
    "status": "error",
    "message": "Key already registered.",
    "data": null
}
cURL
curl -X POST "https://api.notrevepay.com.br/payfac/v1/pixkey/new?subaccount_id={SUBCONTA_ID}" \
  -H "Authorization: Bearer {SEU_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "key_type": "EVP"
}'
GET
/v1/pixkey/list
Listar Chaves Pix
Subconta

Lista todas as chaves Pix ativas da subconta.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
subaccount_idreq querystring (uuid) Sim ID da subconta. Obtido em POST /v1/accounts/new.
Responses
200 Lista retornada
{
    "status": "success",
    "data": {
        "items": [
            {
                "id": "9fa12c44-...",
                "key_type": "EVP",
                "key": "a1b2c3d4-...",
                "status": "active"
            }
        ]
    }
}
cURL
curl -X GET "https://api.notrevepay.com.br/payfac/v1/pixkey/list?subaccount_id={SUBCONTA_ID}" \
  -H "Authorization: Bearer {SEU_TOKEN}"
GET
/v1/pixkey/get
Consultar Chave Pix
Subconta

Retorna os dados de uma chave Pix específica da subconta.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
subaccount_idreq querystring (uuid) Sim ID da subconta. Obtido em POST /v1/accounts/new.
idreq query string (uuid) Sim ID da chave Pix.
Responses
200 Chave encontrada
{
    "status": "success",
    "data": {
        "id": "9fa12c44-...",
        "key_type": "EVP",
        "status": "active"
    }
}
cURL
curl -X GET "https://api.notrevepay.com.br/payfac/v1/pixkey/get?subaccount_id={SUBCONTA_ID}" \
  -H "Authorization: Bearer {SEU_TOKEN}"
GET
/v1/pixkey/dict_get
Consultar Chave no DICT
Subconta

Consulta qualquer chave Pix no DICT do Banco Central. Use para validar o destinatário antes de uma transferência.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
subaccount_idreq querystring (uuid) Sim ID da subconta. Obtido em POST /v1/accounts/new.
keyreq query string Sim Valor da chave Pix a consultar.
key_typereq query string Sim EVP
Responses
200 Chave encontrada no DICT
{
    "status": "success",
    "data": {
        "owner_name": "Joao da Silva",
        "owner_document": "***.456.789-**",
        "bank_name": "Nubank",
        "account_type": "payment_account"
    }
}
404 Chave nao encontrada
{
    "status": "error",
    "message": "Key not found in DICT.",
    "data": null
}
cURL
curl -X GET "https://api.notrevepay.com.br/payfac/v1/pixkey/dict_get?subaccount_id={SUBCONTA_ID}" \
  -H "Authorization: Bearer {SEU_TOKEN}"
💰
🔀 Inclua subaccount_id para operar em uma subconta; omita para a conta mae.
GET
/v1/wallet/balance
Consultar Saldo
Ambas

Retorna o saldo disponivel. Sem subaccount_id consulta a conta mae; com subaccount_id consulta a subconta.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
subaccount_idopt query string (uuid) Nao ID da subconta. Omita para consultar a conta mae.
Responses
200 Saldo consultado
{
    "status": "success",
    "data": {
        "balance": 1250.75,
        "currency": "BRL"
    }
}
cURL
curl -X GET "https://api.notrevepay.com.br/payfac/v1/wallet/balance" \
  -H "Authorization: Bearer {SEU_TOKEN}"
POST
/v1/wallet/transfer
Transferir via Pix
Ambas

Realiza uma transferencia Pix. Inclua subaccount_id no body para debitar de uma subconta; omita para debitar da conta mae. Informe idempotency_key em retentativas para evitar duplicatas.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Request body application/json
{
    "value": 150.25,
    "destination_bank_account": {
        "pix_key_type": "CNPJ",
        "pix_key": "12345678000199"
    },
    "receiver_document": "12345678000199",
    "pix_description": "Pagamento de servico",
    "integration_id": "pedido_9001",
    "idempotency_key": "pedido_9001_v1"
}
CampoTipoObrigatorioDescricao
subaccount_idopt string (uuid) Nao ID da subconta origem. Omita para usar a conta mae.
valuereq number Sim Valor em reais. Ex: 100.50
destination_bank_account.pix_key_typereq string Sim CPF | CNPJ | EMAIL | PHONE | EVP
destination_bank_account.pix_keyreq string Sim Chave Pix do destinatario.
receiver_documentreq string Sim CPF ou CNPJ do favorecido, somente numeros.
pix_descriptionopt string Nao Descricao da transferencia (max 140 caracteres).
integration_idopt string Nao ID externo da transacao no seu sistema.
idempotency_keyopt string Nao Chave de idempotencia para evitar duplicatas em retentativas.
Responses
200 Transferencia iniciada
{
    "status": "success",
    "data": {
        "transaction_id": "trx_a1b2c3d4",
        "status": "pending",
        "created_at": "2026-03-25T14:30:00-03:00"
    }
}
402 Saldo insuficiente
{
    "status": "error",
    "message": "Insufficient balance.",
    "data": null
}
cURL
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 servico",
    "integration_id": "pedido_9001",
    "idempotency_key": "pedido_9001_v1"
}'
🏢 Todos os endpoints exigem subaccount_id na query string.
POST
/v1/pix/immediate
Criar Cobranca Pix
Subconta

Gera um QR Code de cobranca imediata para a subconta. O campo pix_key deve ser o ID de uma chave Pix da subconta (obtido em /v1/pixkey/new), nao o valor da chave.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
subaccount_idreq querystring (uuid) Sim ID da subconta. Obtido em POST /v1/accounts/new.
Request body application/json
{
    "pix_key": "6c909414-ba56-40a0-8c90-b30034279c5f",
    "original_value": 59.9,
    "integration_id": "pedido_001",
    "mediator_fee": {
        "tipo": "FIXED",
        "valor": 0.2
    }
}
CampoTipoObrigatorioDescricao
pix_keyreq string (uuid) Sim ID da chave Pix da subconta (campo id retornado em /v1/pixkey/new).
original_valuereq number Sim Valor da cobranca em reais.
integration_idopt string Nao Identificador externo da cobranca no seu sistema.
mediator_fee.tipoopt string Nao Tipo da taxa do mediador: FIXED ou PERCENT.
mediator_fee.valoropt number Nao Valor da taxa (reais se FIXED, percentual 0-100 se PERCENT).
Responses
201 Cobranca criada
{
    "status": "success",
    "data": {
        "txid": "pix_a1b2c3d4",
        "status": "pending",
        "qr_code": "00020126...",
        "expires_at": "2026-03-25T15:30:00-03:00"
    }
}
cURL
curl -X POST "https://api.notrevepay.com.br/payfac/v1/pix/immediate?subaccount_id={SUBCONTA_ID}" \
  -H "Authorization: Bearer {SEU_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "pix_key": "6c909414-ba56-40a0-8c90-b30034279c5f",
    "original_value": 59.9,
    "integration_id": "pedido_001",
    "mediator_fee": {
        "tipo": "FIXED",
        "valor": 0.2
    }
}'
GET
/v1/pix/cashin/get
Consultar Cobranca
Subconta

Consulta uma cobranca pelo ID interno, txid ou EndToEndID (E2E).

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
subaccount_idreq querystring (uuid) Sim ID da subconta. Obtido em POST /v1/accounts/new.
idreq query string Sim ID da cobranca, txid ou EndToEndID.
Responses
200 Cobranca encontrada
{
    "status": "success",
    "data": {
        "txid": "pix_a1b2c3d4",
        "status": "paid",
        "value": 59.9,
        "paid_at": "2026-03-25T14:32:00-03:00"
    }
}
cURL
curl -X GET "https://api.notrevepay.com.br/payfac/v1/pix/cashin/get?subaccount_id={SUBCONTA_ID}" \
  -H "Authorization: Bearer {SEU_TOKEN}"
GET
/v1/pix/cashin/list
Listar Pix Recebidos
Subconta

Lista os recebimentos Pix da subconta. Todos os filtros sao opcionais — sem filtros retorna os registros mais recentes.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
subaccount_idreq querystring (uuid) Sim ID da subconta. Obtido em POST /v1/accounts/new.
initial_dateopt query datetime (RFC3339) Nao Data e hora inicial. Ex: 2026-03-01T00:00:00-03:00
end_dateopt query datetime (RFC3339) Nao Data e hora final.
typeopt query string Nao DEPOSIT | DEPOSIT_REFUND | PENDING_DEPOSIT_REFUND | CANCELLED_DEPOSIT_REFUND
pix_keyopt query string Nao Filtra por ID de chave Pix especifica.
txidopt query string Nao Filtra por TXID.
integration_idopt query string Nao Filtra pelo ID de integracao externo.
payer_documentopt query string Nao CPF ou CNPJ do pagador, somente numeros.
page_sizeopt query integer Nao Registros por pagina.
pageopt query string Nao Numero da pagina.
Responses
200 Lista retornada
{
    "status": "success",
    "data": {
        "items": [
            {
                "txid": "pix_a1b2c3d4",
                "status": "paid",
                "value": 59.9,
                "payer_name": "Joao da Silva",
                "created_at": "2026-03-25T14:30:00-03:00",
                "paid_at": "2026-03-25T14:32:00-03:00"
            }
        ],
        "total_count": 1
    }
}
cURL
curl -X GET "https://api.notrevepay.com.br/payfac/v1/pix/cashin/list?subaccount_id={SUBCONTA_ID}" \
  -H "Authorization: Bearer {SEU_TOKEN}"
📄
🔀 Inclua subaccount_id para operar em uma subconta; omita para a conta mae.
POST
/v1/statement/report_request
Solicitar Extrato
Ambas

Solicita a geracao assincrona de um relatorio de extrato. Apos a chamada, consulte o ID retornado em /report_get ate o status ser done.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Request body application/json
{
    "format": "pdf",
    "created_at__gte": "2026-03-01",
    "created_at__lte": "2026-03-31"
}
CampoTipoObrigatorioDescricao
subaccount_idopt string (uuid) Nao ID da subconta. Omita para extrato da conta mae.
formatreq string Sim pdf | csv | xlsx | ofx
created_at__gtereq date Sim Data inicial do periodo. Formato: YYYY-MM-DD
created_at__ltereq date Sim Data final do periodo. Formato: YYYY-MM-DD
Responses
200 Solicitacao registrada
{
    "status": "success",
    "data": {
        "id": "stmt_a1b2c3",
        "status": "processing"
    }
}
cURL
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"
}'
GET
/v1/statement/report_get
Consultar / Baixar Extrato
Ambas

Consulta o status de um extrato solicitado. Quando status for done, o campo download_url estara disponivel (URL com validade de 1 hora).

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
idreq query string (uuid) Sim ID do relatorio retornado em /report_request.
subaccount_idopt query string (uuid) Nao ID da subconta. Omita para extrato da conta mae.
Responses
200 Relatorio disponivel
{
    "status": "success",
    "data": {
        "id": "stmt_a1b2c3",
        "status": "done",
        "download_url": "https://storage.notrevepay.com.br/reports/stmt_a1b2c3.pdf",
        "expires_at": "2026-03-25T16:00:00-03:00"
    }
}
200 Ainda processando
{
    "status": "success",
    "data": {
        "id": "stmt_a1b2c3",
        "status": "processing",
        "download_url": null
    }
}
cURL
curl -X GET "https://api.notrevepay.com.br/payfac/v1/statement/report_get" \
  -H "Authorization: Bearer {SEU_TOKEN}"
⚠️
🏦 Opera na conta mae autenticada.
GET
/v1/infractions/list
Listar Infracoes
Conta Mae

Lista as infracoes com filtros por status de analise, periodo e pagador. A paginacao e feita por cursor.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
infraction_date__gteopt query date Nao Data inicial. Formato: YYYY-MM-DD
infraction_date__lteopt query date Nao Data final.
analysis_status__inopt query string Nao pending | accepted | rejected | delayed. Separe por virgula para multiplos.
transaction_idopt query string Nao EndToEndID da transacao (E2E).
payer_tax_idopt query string Nao CPF ou CNPJ do pagador, somente numeros.
page_sizeopt query integer Nao Registros por pagina. Padrao: 50.
page_cursoropt query string Nao Cursor de paginacao.
Responses
200 Lista retornada
{
    "status": "success",
    "data": {
        "items": [
            {
                "id": "1f0f23d1-26be-6834-a9a2-aaf954149dd3",
                "situation_type": "scam",
                "analysis_status": "pending",
                "amount": 50000,
                "infraction_date": "2026-03-25",
                "analysis_due_date": "2026-04-01T23:59:59-03:00"
            }
        ],
        "meta": {
            "next": null
        }
    }
}
cURL
curl -X GET "https://api.notrevepay.com.br/payfac/v1/infractions/list" \
  -H "Authorization: Bearer {SEU_TOKEN}"
GET
/v1/infractions/get
Consultar Infracao
Conta Mae

Retorna os dados completos de uma infracao por ID, incluindo prazo de analise.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Parametros
NomeInTipoObrigatorioDescricao
idreq query string (uuid) Sim ID da infracao.
Responses
200 Infracao encontrada
{
    "status": "success",
    "data": {
        "id": "1f0f23d1-...",
        "situation_type": "scam",
        "analysis_status": "pending",
        "amount": 50000,
        "payer_name": "Joao da Silva",
        "transaction_id": "E0000000020260325..."
    }
}
cURL
curl -X GET "https://api.notrevepay.com.br/payfac/v1/infractions/get" \
  -H "Authorization: Bearer {SEU_TOKEN}"
POST
/v1/infractions/analysis
Enviar Analise
Conta Mae

Submete o parecer (aceitar ou rejeitar) e, opcionalmente, arquivos de evidencia. Use multipart/form-data para enviar anexos.

🔑 Requer Authorization: Bearer {SEU_TOKEN}
Request body multipart/form-data
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=Transacao legitima confirmada pelo cliente. Comprovante anexado." \
  -F "attachments=@comprovante.pdf"
CampoTipoObrigatorioDescricao
idreq string (uuid) Sim ID da infracao.
analysisreq string Sim accepted: devolve o valor. rejected: contesta a infracao.
analysis_descriptionreq string Sim Justificativa da analise (minimo 10 caracteres).
attachmentsopt file Nao Evidencias: PDF, ZIP, RAR, JPEG ou PNG. Max 15 MB por arquivo.
Responses
200 Analise enviada
{
    "status": "success",
    "message": "Analysis submitted successfully.",
    "data": {
        "id": "1f0f23d1-...",
        "analysis_status": "rejected"
    }
}
410 Prazo de analise expirado
{
    "status": "error",
    "message": "Analysis deadline has passed.",
    "data": null
}
cURL
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=Transacao legitima confirmada pelo cliente. Comprovante anexado." \
  -F "attachments=@comprovante.pdf"