Este documento descreve a API da Rendix para pagamentos Pix internacionais. Destina-se a parceiros que integram com a Rendix para criar vendas, consultar taxas de câmbio, acompanhar vendas, processar reembolsos, cadastrar estabelecimentos em lote, obter códigos de operação, baixar o documento de termos e consultar dados de liquidação. Todas as APIs seguem o padrão REST para garantir segurança e desempenho.
Os parceiros recebem credenciais de sandbox tanto para acesso de parceiro quanto de estabelecimento (merchant).
| Ambiente | Credenciais |
|---|---|
| Sandbox | E-mail de acesso, senha e MerchantId para o parceiro e para o estabelecimento |
| Ambiente | Disponibilidade |
|---|---|
| Sandbox | 24x7 |
| Código de Status | Mensagem | Descrição |
|---|---|---|
| 200 | OK | Requisição processada com sucesso |
| 400 | Bad Request | Requisição inválida, parâmetro malformado ou valor inesperado |
| 401 | Unauthorized | Falha de autenticação ou permissão insuficiente |
| 404 | Not Found | Identificador do recurso não foi encontrado |
| 422 | Unprocessable Entity | A requisição contém dados de negócio inválidos |
| 500 | Internal Server Error | Erro interno inesperado no servidor |
Todos os endpoints protegidos exigem um token Bearer retornado pelo endpoint de autenticação.
Exemplo de cabeçalho:
Authorization: Bearer {token}
/efx/v2/externo/loginGera um token de acesso para usuários parceiros ou estabelecimentos.
Content-Type: application/json{
"email": "partner@example.com",
"password": "StrongPassword123"
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "E-mail do parceiro ou estabelecimento utilizado para autenticação."
},
"password": {
"type": "string",
"description": "Senha associada ao e-mail informado."
}
},
"required": [
"email",
"password"
]
}200Content-Type: application/json{
"success": true,
"message": "Authentication successful",
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.example",
"expiration": "2026-02-24T15:00:00Z",
"expirationInMilliSeconds": 3600000
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se a requisição de autenticação foi processada com sucesso."
},
"message": {
"type": "string",
"description": "Mensagem de resposta em formato legível."
},
"data": {
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "Token de acesso JWT utilizado nas requisições autenticadas."
},
"expiration": {
"type": "string",
"description": "Data e hora de expiração do token em UTC."
},
"expirationInMilliSeconds": {
"type": "number",
"description": "Tempo de vida do token em milissegundos."
}
},
"required": [
"token",
"expiration",
"expirationInMilliSeconds"
],
"description": "Dados de autenticação retornados pela API."
}
},
"required": [
"success",
"message",
"data"
]
}401Content-Type: application/json{
"success": false,
"message": "Unauthorized"
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica que a requisição de autenticação falhou."
},
"message": {
"type": "string",
"description": "Mensagem de erro de autenticação retornada pela API."
}
},
"required": [
"success",
"message"
]
}/efx/v2/externo/taxas{?merchantId,currencyCode}Retorna a taxa de câmbio utilizada para converter a moeda da transação em BRL.
number (required) Example: 20Identificador único do estabelecimento.
string (required) Example: USDMoeda da venda no formato ISO de 3 letras maiúsculas.
Authorization: Bearer {token}200Content-Type: application/json{
"success": true,
"message": "Exchange rate retrieved successfully",
"data": "5,2100"
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se a requisição foi processada com sucesso."
},
"message": {
"type": "string",
"description": "Mensagem de resposta em formato legível."
},
"data": {
"type": "string",
"description": "Taxa de câmbio retornada pela API."
}
},
"required": [
"success",
"message",
"data"
]
}400Content-Type: application/json{
"success": false,
"message": "Invalid merchantId or currencyCode"
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica que a requisição era inválida."
},
"message": {
"type": "string",
"description": "Mensagem de erro de validação."
}
},
"required": [
"success",
"message"
]
}/efx/v2/externo/venderCria uma venda Pix e retorna o QR Code e o payload Pix copia e cola.
Content-Type: application/json
Authorization: Bearer {token}{
"merchantId": 20,
"purchase": 100,
"cpfCnpj": "12345678900",
"customerAcceptedTerms": true,
"controlNumber": "ORDER-ABC-123",
"phone": "+5511999999999",
"email": "buyer@example.com",
"webhook": "https://partner.example.com/webhooks/rendix",
"currencyCode": "USD",
"operationCode": 1,
"beneficiary": "Pedro Silva"
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"merchantId": {
"type": "number",
"description": "Identificador único do estabelecimento."
},
"purchase": {
"type": "number",
"description": "Valor da venda em moeda estrangeira."
},
"cpfCnpj": {
"type": "string",
"description": "Número do documento do comprador. Utilize CPF para compradores pessoa física."
},
"customerAcceptedTerms": {
"type": "boolean",
"description": "Indica se o comprador aceitou os termos e condições."
},
"controlNumber": {
"type": "string",
"description": "Número de controle da venda do parceiro."
},
"phone": {
"type": "string",
"description": "Número de telefone celular do comprador, incluindo o código do país."
},
"email": {
"type": "string",
"description": "Endereço de e-mail do comprador."
},
"webhook": {
"type": "string",
"description": "Endpoint de callback usado para notificar mudanças de status da venda."
},
"currencyCode": {
"type": "string",
"description": "Moeda da venda no formato ISO de 3 letras maiúsculas."
},
"operationCode": {
"type": "number",
"description": "Código de operação BACEN. Obrigatório quando o parceiro possui mais de um tipo de operação disponível."
},
"beneficiary": {
"type": "string",
"description": "Nome do beneficiário associado à venda."
}
},
"required": [
"merchantId",
"purchase",
"cpfCnpj",
"controlNumber",
"phone",
"webhook",
"currencyCode"
]
}200Content-Type: application/json{
"success": true,
"message": "Sale created successfully",
"data": {
"pixCopyPaste": "00020101021226840014br.gov.bcb.pix2562...",
"saleID": 12345,
"qrCodeBase64": "iVBORw0KGgoAAAANSUhEUgAA...",
"priceNationalCurrency": 520,
"currency": "USD",
"vetTax": 5.2,
"qrCodeExpiration": "2026-02-24T18:05:00Z",
"creditCardPayment": {
"qrCodeCheckout": "iVBORw0KGgoAAAANSUhEUgAA...",
"urlCheckout": "https://checkout.example.com/pay/12345",
"installmentOptions": [
{
"installmentQuantity": 1,
"installmentValue": 520,
"vetTax": 5.2,
"totalAmount": 520
},
{
"installmentQuantity": 2,
"installmentValue": 265,
"vetTax": 5.2,
"totalAmount": 530
}
]
}
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se a requisição foi processada com sucesso."
},
"message": {
"type": "string",
"description": "Mensagem de resposta em formato legível."
},
"data": {
"type": "object",
"properties": {
"pixCopyPaste": {
"type": "string",
"description": "Payload Pix para pagamento via copia e cola."
},
"saleID": {
"type": "number",
"description": "Identificador único da venda."
},
"qrCodeBase64": {
"type": "string",
"description": "Imagem do QR Code codificada em Base64."
},
"priceNationalCurrency": {
"type": "number",
"description": "Valor da venda convertido para BRL."
},
"currency": {
"type": "string",
"description": "Moeda da venda."
},
"vetTax": {
"type": "number",
"description": "Taxa de câmbio aplicada à venda."
},
"qrCodeExpiration": {
"type": "string",
"description": "Data e hora de expiração do QR Code em UTC."
},
"creditCardPayment": {
"type": "object",
"properties": {
"qrCodeCheckout": {
"type": "string",
"description": "QR Code de checkout do cartão de crédito codificado em Base64."
},
"urlCheckout": {
"type": "string",
"description": "URL de checkout do cartão de crédito."
},
"installmentOptions": {
"type": "array",
"description": "Opções de parcelamento disponíveis para a venda."
}
},
"description": "Informações adicionais de pagamento com cartão de crédito, quando essa forma de pagamento estiver disponível."
}
},
"required": [
"pixCopyPaste",
"saleID",
"qrCodeBase64",
"priceNationalCurrency",
"currency",
"vetTax",
"qrCodeExpiration"
],
"description": "Dados da venda retornados pela API."
}
},
"required": [
"success",
"message",
"data"
]
}422Content-Type: application/json{
"success": false,
"message": "Unprocessable Entity"
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica que a requisição não pôde ser processada."
},
"message": {
"type": "string",
"description": "Mensagem de erro de validação ou de regra de negócio."
}
},
"required": [
"success",
"message"
]
}/efx/v2/externo/vender/cnpjCria uma venda Pix utilizando o documento da empresa compradora (CNPJ).
Content-Type: application/json
Authorization: Bearer {token}{
"merchantId": 20,
"purchase": 100,
"cpfCnpj": "12345678000199",
"customerAcceptedTerms": true,
"controlNumber": "ORDER-CNPJ-001",
"phone": "+5511999999999",
"email": "buyer@example.com",
"webhook": "https://partner.example.com/webhooks/rendix",
"currencyCode": "USD",
"operationCode": 1,
"beneficiary": "Pedro Silva"
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"merchantId": {
"type": "number",
"description": "Identificador único do estabelecimento."
},
"purchase": {
"type": "number",
"description": "Valor da venda em moeda estrangeira."
},
"cpfCnpj": {
"type": "string",
"description": "Número do documento da empresa compradora no formato CNPJ."
},
"customerAcceptedTerms": {
"type": "boolean",
"description": "Indica se o comprador aceitou os termos e condições."
},
"controlNumber": {
"type": "string",
"description": "Número de controle da venda do parceiro."
},
"phone": {
"type": "string",
"description": "Número de telefone celular do comprador, incluindo o código do país."
},
"email": {
"type": "string",
"description": "Endereço de e-mail do comprador."
},
"webhook": {
"type": "string",
"description": "Endpoint de callback usado para notificar mudanças de status da venda."
},
"currencyCode": {
"type": "string",
"description": "Moeda da venda no formato ISO de 3 letras maiúsculas."
},
"operationCode": {
"type": "number",
"description": "Código de operação BACEN."
},
"beneficiary": {
"type": "string",
"description": "Nome do beneficiário associado à venda."
}
},
"required": [
"merchantId",
"purchase",
"cpfCnpj",
"controlNumber",
"phone",
"webhook",
"currencyCode"
]
}200Content-Type: application/json{
"success": true,
"message": "Sale created successfully",
"data": {
"saleID": 12346,
"pixCopyPaste": "00020101021226840014br.gov.bcb.pix2562...",
"qrCodeBase64": "iVBORw0KGgoAAAANSUhEUgAA..."
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se a requisição foi processada com sucesso."
},
"message": {
"type": "string",
"description": "Mensagem de resposta em formato legível."
},
"data": {
"type": "object",
"properties": {
"saleID": {
"type": "number",
"description": "Identificador único da venda."
},
"pixCopyPaste": {
"type": "string",
"description": "Payload Pix para pagamento via copia e cola."
},
"qrCodeBase64": {
"type": "string",
"description": "Imagem do QR Code codificada em Base64."
}
},
"required": [
"saleID",
"pixCopyPaste",
"qrCodeBase64"
],
"description": "Dados da venda retornados pela API."
}
},
"required": [
"success",
"message",
"data"
]
}/efx/v1/externo/linkCria uma venda e envia um link de pagamento por e-mail.
Content-Type: application/json
Authorization: Bearer {token}{
"merchantId": 20,
"purchase": 150,
"description": "Travel purchase",
"controlNumber": "LINK-ORDER-001",
"email": "buyer@example.com",
"webhook": "https://partner.example.com/webhooks/rendix",
"currencyCode": "USD",
"operationCode": 1,
"beneficiary": "Pedro Silva"
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"merchantId": {
"type": "number",
"description": "Identificador único do estabelecimento."
},
"purchase": {
"type": "number",
"description": "Valor da venda em moeda estrangeira."
},
"description": {
"type": "string",
"description": "Descrição da venda apresentada ao comprador."
},
"controlNumber": {
"type": "string",
"description": "Número de controle da venda do parceiro."
},
"email": {
"type": "string",
"description": "Endereço de e-mail do comprador utilizado para receber o link de pagamento."
},
"webhook": {
"type": "string",
"description": "Endpoint de callback usado para notificar mudanças de status da venda."
},
"currencyCode": {
"type": "string",
"description": "Moeda da venda no formato ISO de 3 letras maiúsculas."
},
"operationCode": {
"type": "number",
"description": "Código de operação BACEN."
},
"beneficiary": {
"type": "string",
"description": "Nome do beneficiário associado à venda."
}
},
"required": [
"merchantId",
"purchase",
"description",
"controlNumber",
"email",
"webhook",
"currencyCode",
"beneficiary"
]
}200Content-Type: application/json{
"success": true,
"message": "Payment link created successfully",
"data": {
"id": 9876
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se a requisição foi processada com sucesso."
},
"message": {
"type": "string",
"description": "Mensagem de resposta em formato legível."
},
"data": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Identificador único da venda gerado para o link de pagamento."
}
},
"required": [
"id"
],
"description": "Dados da venda por link de pagamento retornados pela API."
}
},
"required": [
"success",
"message",
"data"
]
}/efx/v1/externo/vender/{id}Retorna os dados e o status atual da venda.
number (required) Example: 12345Identificador único da venda.
Authorization: Bearer {token}200Content-Type: application/json{
"success": true,
"message": "Sale retrieved successfully",
"data": {
"status": 3,
"priceNationalCurrency": 520,
"priceInForeignCurrency": 100,
"controlNumber": "ORDER-ABC-123",
"currency": "USD",
"vetTax": 5.2,
"paymentReversal": {
"requestDate": "2026-02-24T19:00:00Z",
"status": "Processed"
}
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se a consulta foi bem-sucedida."
},
"message": {
"type": "string",
"description": "Mensagem de resposta em formato legível."
},
"data": {
"type": "object",
"properties": {
"status": {
"type": "number",
"description": "Código de status da venda."
},
"priceNationalCurrency": {
"type": "number",
"description": "Valor da venda em BRL."
},
"priceInForeignCurrency": {
"type": "number",
"description": "Valor da venda em moeda estrangeira."
},
"controlNumber": {
"type": "string",
"description": "Número de controle do parceiro associado à venda."
},
"currency": {
"type": "string",
"description": "Moeda da venda."
},
"vetTax": {
"type": "number",
"description": "Taxa de câmbio aplicada à venda."
},
"paymentReversal": {
"type": "object",
"properties": {
"requestDate": {
"type": "string",
"description": "Data e hora da solicitação de reembolso em UTC."
},
"status": {
"type": "string",
"description": "Status do processamento do reembolso."
}
},
"description": "Informações de reembolso quando um reembolso foi solicitado."
}
},
"required": [
"status",
"priceNationalCurrency",
"priceInForeignCurrency",
"controlNumber",
"currency",
"vetTax"
],
"description": "Dados da venda retornados pela API."
}
},
"required": [
"success",
"message",
"data"
]
}404Content-Type: application/json{
"success": false,
"message": "Sale not found"
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica que a venda informada não foi encontrada."
},
"message": {
"type": "string",
"description": "Mensagem de erro retornada pela API."
}
},
"required": [
"success",
"message"
]
}As seguintes regras de negócio se aplicam às vendas:
Vendas criadas via /efx/v2/externo/vender expiram após 5 minutos se não forem pagas.
Vendas criadas via /efx/v1/externo/link expiram após 5 dias se não forem pagas.
Quando uma venda expira sem pagamento, uma nova venda deve ser criada para gerar um novo QR Code ou link de pagamento.
Uma venda pode ser cancelada ou reembolsada nas seguintes circunstâncias:
| Status | Descrição |
|---|---|
| 4 | Venda cancelada pelo sistema ou operador |
| 6 | Venda cancelada sem pagamento Pix após expiração do QR Code |
| 8 | Venda cancelada por divergência de CPF (pagador diferente do comprador) |
| 12 | Venda cancelada após pagamento Pix e reembolso Pix processado |
| 13 | Venda cancelada por divergência de CNPJ |
| 15 | Venda cancelada com reembolso concluído para o cartão de crédito |
| 16 | Venda cancelada por divergência de CPF - reembolso Pix em andamento |
| 17 | Venda cancelada por divergência de CPF - reembolso Pix concluído |
| 18 | Venda cancelada por divergência de CPF - contatar o suporte para tratamento manual |
/efx/v1/externo/vender/processar-reembolso/{saleId}{?refund}Retorna os detalhes do reembolso antes de confirmar um reembolso total ou parcial.
number (required) Example: 2151Identificador único da venda paga.
number (required) Example: 20Valor do reembolso na moeda do estabelecimento.
Authorization: Bearer {token}200Content-Type: application/json{
"success": true,
"message": "Refund details retrieved successfully",
"data": {
"saleId": 2151,
"refundAmount": 20,
"currency": "USD",
"estimatedNationalCurrencyRefund": 104
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se a requisição foi processada com sucesso."
},
"message": {
"type": "string",
"description": "Mensagem de resposta em formato legível."
},
"data": {
"type": "object",
"properties": {
"saleId": {
"type": "number",
"description": "Identificador único da venda."
},
"refundAmount": {
"type": "number",
"description": "Valor do reembolso solicitado na moeda do estabelecimento."
},
"currency": {
"type": "string",
"description": "Moeda da venda."
},
"estimatedNationalCurrencyRefund": {
"type": "number",
"description": "Valor estimado do reembolso convertido para BRL."
}
},
"required": [
"saleId",
"refundAmount",
"currency",
"estimatedNationalCurrencyRefund"
],
"description": "Dados da simulação de reembolso retornados pela API."
}
},
"required": [
"success",
"message",
"data"
]
}/efx/v1/vender/cancelar/{id}Cancela uma venda paga e processa um reembolso Pix total ou parcial.
number (required) Example: 2151Identificador único da venda paga.
Content-Type: application/json
Authorization: Bearer {token}{
"refund": {
"amount": 100
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"refund": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"description": "Valor do reembolso a ser devolvido ao comprador."
}
},
"required": [
"amount"
],
"description": "Payload de reembolso enviado à API."
}
},
"required": [
"refund"
]
}200Content-Type: application/json{
"success": true,
"message": "Refund processed successfully",
"data": {
"saleId": 2151,
"priceInNationalCurrency": 520,
"priceInForeignCurrency": 100,
"status": 12,
"currency": "USD",
"refundNationalCurrency": 520
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se o reembolso foi processado com sucesso."
},
"message": {
"type": "string",
"description": "Mensagem de resposta em formato legível."
},
"data": {
"type": "object",
"properties": {
"saleId": {
"type": "number",
"description": "Identificador único da venda."
},
"priceInNationalCurrency": {
"type": "number",
"description": "Valor original da venda em BRL."
},
"priceInForeignCurrency": {
"type": "number",
"description": "Valor original da venda em moeda estrangeira."
},
"status": {
"type": "number",
"description": "Código de status da venda atualizado após o reembolso."
},
"currency": {
"type": "string",
"description": "Moeda da venda."
},
"refundNationalCurrency": {
"type": "number",
"description": "Valor do reembolso em BRL."
}
},
"required": [
"saleId",
"priceInNationalCurrency",
"priceInForeignCurrency",
"status",
"currency",
"refundNationalCurrency"
],
"description": "Dados do resultado do reembolso retornados pela API."
}
},
"required": [
"success",
"message",
"data"
]
}422Content-Type: application/json{
"success": false,
"message": "Refund could not be processed"
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica que a requisição de reembolso falhou."
},
"message": {
"type": "string",
"description": "Mensagem de erro de validação ou de regra de negócio."
}
},
"required": [
"success",
"message"
]
}Erros típicos relacionados a reembolso descritos para a API incluem:
| Código de Status | Mensagem | Descrição |
|---|---|---|
| 422 | Unprocessable Entity | Valor do reembolso não informado |
| 401 | Unauthorized | Estabelecimento não possui permissão para reembolsar |
| 422 | Unprocessable Entity | Saldo indisponível para reembolsar a venda |
| 422 | Unprocessable Entity | SaleId inválido |
| 422 | Unprocessable Entity | Venda não foi paga |
| 422 | Unprocessable Entity | Venda já foi reembolsada |
| 422 | Unprocessable Entity | Valor do reembolso é maior que o valor original da venda |
| 422 | Unprocessable Entity | Venda já está cancelada |
| 500 | Internal Server Error | Erro interno inesperado no servidor |
/efx/v1/externo/estabelecimentos/lotePermite que um usuário master parceiro cadastre um ou vários estabelecimentos por meio do upload de um arquivo Excel. A planilha enviada é validada e processada, e os MerchantIds resultantes são retornados após o processamento.
Content-Type: multipart/form-data
Authorization: Bearer {token}file: merchants.xlsx200Content-Type: application/json{
"success": true,
"message": "Batch created successfully",
"data": {
"id": 1,
"date": "2026-02-24T20:00:00Z",
"user": "Merchant Corporate Name",
"count": 50,
"batchName": "Batch-001",
"partnerId": 100,
"status": "AWAITING"
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se o arquivo de lote foi aceito com sucesso."
},
"message": {
"type": "string",
"description": "Mensagem de resposta em formato legível."
},
"data": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Identificador único do lote."
},
"date": {
"type": "string",
"description": "Data e hora de criação do lote em UTC."
},
"user": {
"type": "string",
"description": "Referência do usuário ou estabelecimento associado ao lote."
},
"count": {
"type": "number",
"description": "Número de estabelecimentos incluídos no lote."
},
"batchName": {
"type": "string",
"description": "Nome de exibição do lote."
},
"partnerId": {
"type": "number",
"description": "Identificador único do parceiro."
},
"status": {
"type": "string",
"description": "Status do processamento do lote."
}
},
"required": [
"id",
"date",
"user",
"count",
"batchName",
"partnerId",
"status"
],
"description": "Dados do processamento do lote retornados pela API."
}
},
"required": [
"success",
"message",
"data"
]
}/efx/v1/externo/estabelecimentos/lote/{id}{?page,elements}Retorna os estabelecimentos processados em um arquivo de lote.
number (required) Example: 1Identificador do lote.
number (required) Example: 0Índice da página, iniciando em zero.
number (required) Example: 10Número de itens por página.
Authorization: Bearer {token}200Content-Type: application/json{
"totalItems": 2,
"totalPerPage": 10,
"totalCurrentPage": 2,
"data": [
{
"id": 101,
"razaoSocial": "Merchant One",
"nif": "123456789",
"email": "merchant1@example.com",
"status": "FINISHED",
"parceiroId": 100,
"dataProcessamento": "2026-02-24T20:05:00Z"
},
{
"id": 102,
"razaoSocial": "Merchant Two",
"nif": "987654321",
"email": "merchant2@example.com",
"status": "ERROR",
"parceiroId": 100,
"dataProcessamento": "2026-02-24T20:05:10Z"
}
]
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"totalItems": {
"type": "number",
"description": "Número total de estabelecimentos retornados pela consulta."
},
"totalPerPage": {
"type": "number",
"description": "Número de itens configurados por página."
},
"totalCurrentPage": {
"type": "number",
"description": "Número de itens retornados na página atual."
},
"data": {
"type": "array",
"description": "Registros de estabelecimentos processados no lote."
}
},
"required": [
"totalItems",
"totalPerPage",
"totalCurrentPage",
"data"
]
}Formato de arquivo aceito:
.xlsxCampos esperados na planilha:
| Campo | Descrição | Regra |
|---|---|---|
| CorporateName | Razão social do estabelecimento | Obrigatório |
| NIF | Número de identificação fiscal | Obrigatório |
| Street | Logradouro do estabelecimento | Obrigatório |
| City | Cidade do estabelecimento | Obrigatório |
| PostalCode | Código postal | Obrigatório |
| Number | Número do logradouro | Obrigatório |
| State | Estado do estabelecimento | Obrigatório |
| Country | Código do país com 2 caracteres, por exemplo PY, AR |
Obrigatório |
| Currency | Moeda do estabelecimento no formato ISO de 3 letras maiúsculas | Condicionalmente opcional |
| OperationCode | Código de operação do estabelecimento | Condicionalmente opcional |
| E-mail do estabelecimento | Opcional |
Regras condicionais:
Currency pode ser omitido somente quando o estabelecimento opera com uma única moeda.
OperationCode pode ser omitido somente quando o estabelecimento opera com um único tipo de operação.
Valores de código de operação mencionados no documento de origem:
1 - Bens e Serviços
2 - Transferências Unilaterais
3 - Transferência entre contas de mesma titularidade, entre país e conta no exterior
4 - Saques
| Status | Descrição |
|---|---|
| AWAITING | Aguardando o cadastro do lote de estabelecimentos |
| FINISHED | Cadastro do lote concluído |
| ERROR | Cadastro falhou devido a inconsistências no arquivo |
| DOUBLEDED | NIF e e-mail duplicados impediram o cadastro |
/efx/v1/externo/codigos-operacaoRetorna os códigos de natureza de operação disponíveis para as transações de venda.
Authorization: Bearer {token}200Content-Type: application/json{
"success": true,
"message": "Operation codes retrieved successfully",
"data": [
{
"id": 1,
"naturezaOperacaoBacenID": "Goods and Services",
"iof": 0.38,
"dataInicioVigencia": "2025-01-01T00:00:00Z"
},
{
"id": 4,
"naturezaOperacaoBacenID": "Withdrawals",
"iof": 1.1,
"dataInicioVigencia": "2025-01-01T00:00:00Z"
}
]
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se a requisição foi processada com sucesso."
},
"message": {
"type": "string",
"description": "Mensagem de resposta em formato legível."
},
"data": {
"type": "array",
"description": "Códigos de operação BACEN disponíveis."
}
},
"required": [
"success",
"message",
"data"
]
}/efx/gerenciador/venda/v1/vendas/termoRetorna o PDF de Termos e Condições codificado em Base64.
Authorization: Bearer {token}200Content-Type: application/json{
"fileContents": "JVBERi0xLjQKJcTl8uXrp...",
"contentType": "application/pdf",
"fileDownloadName": "terms-and-conditions.pdf",
"lastModified": "2026-02-24T00:00:00Z",
"entityTag": "abc123etag",
"enableRangeProcessing": false
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"fileContents": {
"type": "string",
"description": "Conteúdo do PDF codificado em Base64."
},
"contentType": {
"type": "string",
"description": "Tipo MIME do arquivo retornado."
},
"fileDownloadName": {
"type": "string",
"description": "Nome de arquivo sugerido para download."
},
"lastModified": {
"type": "string",
"description": "Data e hora da última modificação em UTC."
},
"entityTag": {
"type": "string",
"description": "Entity tag associada à versão do arquivo."
},
"enableRangeProcessing": {
"type": "boolean",
"description": "Indica se o processamento por intervalo (range) está habilitado."
}
},
"required": [
"fileContents",
"contentType",
"fileDownloadName",
"enableRangeProcessing"
]
}/efx/v1/externo/liquidacao{?TransactionStartDate,TransactionEndDate,CurrentPage,ItemsPerPage,MerchantId,CurrencyCode}Retorna informações de liquidação e conciliação para vendas encerradas.
string (required) Example: 2023-06-02Data inicial da transação no formato ISO.
string (required) Example: 2023-06-03Data final da transação no formato ISO.
number (required) Example: 0Índice da página, iniciando em zero.
number (required) Example: 10Número de itens por página.
number (optional) Example: 3Identificador do estabelecimento.
string (required) Example: USDCódigo da moeda no formato ISO de 3 letras maiúsculas.
Authorization: Bearer {token}200Content-Type: application/json{
"totalItems": 1,
"itemsPerPage": 10,
"currentPageTotal": 1,
"totalTransactions": 1,
"totalPurchaseValue": 200,
"data": [
{
"merchantId": 3,
"merchantCode": "12345678000199",
"nif": "12345678000199",
"merchantName": "Merchant Example",
"purchaseValue": 200,
"partnerMdr": 2.5,
"agillitasMdr": 1.2,
"netValue": 196.3,
"operationValue": 1040,
"vetTax": 5.2,
"spotExchangeRate": 5.3,
"transactionId": "TX123456789",
"transactionDate": "2026-02-24T12:00:00Z",
"liquidationDate": "2026-02-25T12:00:00Z",
"buyerCnpj": "12345678000199",
"incomeTax": 1.5,
"valueWithoutIncomeTax": 198.5,
"localTax": 0.7,
"partnerTariff": 0.5,
"valueForExchange": 197.8,
"netAmount": 196.3,
"effectiveOperationFee": 0.2,
"agillitasEFXFee": 0.1,
"partnerEFXFee": 0.1,
"spreadBrsa": 0.3,
"controlNumber": "ORDER-ABC-123",
"exchangeClosingDate": "2026-02-24",
"currency": "USD"
}
]
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"totalItems": {
"type": "number",
"description": "Número total de registros retornados pela consulta."
},
"itemsPerPage": {
"type": "number",
"description": "Número de itens configurados por página."
},
"currentPageTotal": {
"type": "number",
"description": "Número de registros retornados na página atual."
},
"totalTransactions": {
"type": "number",
"description": "Número total de transações no conjunto de resultados."
},
"totalPurchaseValue": {
"type": "number",
"description": "Valor total de compra do conjunto de resultados."
},
"data": {
"type": "array",
"description": "Registros de liquidação retornados pela API."
}
},
"required": [
"totalItems",
"itemsPerPage",
"currentPageTotal",
"totalTransactions",
"totalPurchaseValue",
"data"
]
}/efx/v1/externo/vendas{?SalesStatus,DateSaleStart,DateSaleEnd,OperatorId,PaymentLink,FilterByShopkeeper,CurrencyId,TransactionTypeBy,CurrentPage,QuantityPerPage,Filter}Retorna vendas de acordo com os filtros informados.
number (optional) Example: 3Status da venda.
string (required) Example: 2024-05-01Data inicial da venda no formato ISO.
string (required) Example: 2024-10-01Data final da venda no formato ISO.
number (optional) Example: 10Identificador do estabelecimento ou operador.
boolean (optional) Example: falseIndica se a venda foi criada por link de pagamento.
boolean (required) Example: falseIndica se o filtro deve ser aplicado por estabelecimento.
number (required) Example: 164Identificador da moeda.
number (required) Example: 4Identificador do tipo de transação BACEN.
number (required) Example: 0Página atual.
number (optional) Example: 10Itens por página.
string (optional) Example: abc123Filtro adicional em texto livre.
Authorization: Bearer {token}200Content-Type: application/json{
"totalSalesValue": 1000,
"totalItems": 1,
"totalPerPage": 10,
"currentPage": 0,
"totalCurrentPage": 1,
"data": [
{
"id": 12345,
"merchantId": 20,
"shopkeeperNIF": "12345678000199",
"shopkeeperCorporateName": "Merchant Example",
"partnerId": 100,
"namePartner": "Partner Example",
"controlNumber": "ORDER-ABC-123",
"cpfBuyer": "12345678900",
"cpfPayer": "12345678900",
"nameBuyer": "John Buyer",
"emailBuyer": "buyer@example.com",
"operatorId": 20,
"operatorName": "Merchant Example",
"dateTimeSale": "2026-02-24T12:00:00Z",
"dateTimePayment": "2026-02-24T12:03:00Z",
"status": 3,
"dateTax": "2026-02-25T00:00:00Z",
"endToEndId": "E123456789",
"link": "https://pay.example.com/abc",
"dateTimeExpirationLink": "2026-03-01T12:00:00Z",
"dateTimeExpirationQrCode": "2026-02-24T12:05:00Z",
"description": "Travel purchase",
"tokenLinkPayment": "TOKEN123",
"paymentMethod": 1,
"paymentMethodDescriptive": "PIX",
"statusDescriptive": "Paid",
"nationalCurrencyValue": 520,
"foreignCurrencyValue": 100,
"dollarCurrencyValue": 100,
"currencyId": 164,
"currency": "USD",
"currencyDescription": "US Dollar",
"partnerRemunerationRate": 2.5,
"remunerationTaxAgilitas": 0.5,
"spreadBancoRendimento": 0.2,
"spreadAgillitas": 0.1,
"mdr": 1.5,
"taxId": 10,
"taxVet": 5.2,
"txId": "TX123456789",
"transfer": 520,
"shopkeeperName": "Merchant Example",
"cellphoneBuyer": "+5511999999999",
"nf": "12345678000199",
"external": true,
"urlWebhook": "https://partner.example.com/webhooks/rendix",
"paymentLink": false,
"copyPastePix": "00020101021226840014br.gov.bcb.pix2562...",
"payerName": "John Buyer",
"expiration": "2026-02-24T12:05:00Z",
"allowCancelSale": true,
"transactionTypeBacenId": 4,
"transactionType": "Withdrawals"
}
]
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"totalSalesValue": {
"type": "number",
"description": "Valor total das vendas retornadas."
},
"totalItems": {
"type": "number",
"description": "Número total de vendas encontradas pela consulta."
},
"totalPerPage": {
"type": "number",
"description": "Número de itens configurados por página."
},
"currentPage": {
"type": "number",
"description": "Índice da página atual."
},
"totalCurrentPage": {
"type": "number",
"description": "Número de itens retornados na página atual."
},
"data": {
"type": "array",
"description": "Vendas retornadas pela API."
}
},
"required": [
"totalSalesValue",
"totalItems",
"totalPerPage",
"currentPage",
"totalCurrentPage",
"data"
]
}A tabela abaixo lista todos os possíveis códigos de status que uma transação de venda pode assumir durante seu ciclo de vida:
| Status | Nome | Descrição e Cenário |
|---|---|---|
| 1 | Aberta | Venda iniciada no sistema, aguardando geração ou processamento do pagamento |
| 2 | Aguardando Retorno | Venda criada, aguardando o pagamento do QR Code ou do Link de Pagamento |
| 3 | Paga | Pagamento do comprador foi confirmado e liquidado com sucesso |
| 4 | Cancelada | Venda cancelada manualmente ou pelo sistema |
| 5 | Pagamento Expirado | O prazo de pagamento da venda expirou antes da conclusão |
| 6 | Venda Cancelada Sem Pix | Venda cancelada após expiração do QR Code ou Link sem recebimento via Pix |
| 7 | Timeout da Venda | Tempo limite excedido durante o processamento da transação |
| 8 | Cancelada - Divergência de CPF | Venda cancelada porque o CPF do pagador difere do CPF do comprador |
| 9 | Limite do Pagador Excedido | Venda cancelada porque o limite de transação do pagador foi excedido |
| 10 | CPF do Pagador Restritivo | CPF do pagador possui restrição imposta por regras de compliance |
| 11 | Erro no Processamento do Webhook | Ocorreu um erro ao processar a notificação do Webhook |
| 12 | Venda Cancelada com Pix Reembolsado | Venda cancelada após pagamento bem-sucedido e reembolso Pix processado |
| 13 | Cancelada - Divergência de CNPJ | Venda cancelada porque o CNPJ do pagador difere do CNPJ da empresa compradora |
| 14 | CNPJ do Pagador Restritivo | CNPJ do pagador possui restrição imposta por regras de compliance |
| 15 | Cancelada - Reembolso em Cartão de Crédito | Venda cancelada com o respectivo reembolso processado em cartão de crédito |
| 16 | Cancelada por Divergência de CPF - Reembolso em Andamento | Venda cancelada por divergência de CPF, com reembolso Pix em andamento |
| 17 | Cancelada por Divergência de CPF - Reembolso Concluído | Venda cancelada por divergência de CPF, com reembolso Pix finalizado |
| 18 | Cancelada por Divergência de CPF - Contatar Suporte | Reembolso automático falhou devido à divergência de CPF; suporte manual acionado |
Restrição de ambiente: Os três endpoints deste grupo estão disponíveis exclusivamente em ambientes de não produção, como desenvolvimento, testes, homologação e sandbox. Eles não devem ser chamados ou expostos em ambiente de produção.
Os endpoints deste grupo suportam o processamento individual de pagamentos Pix, o processamento de pagamentos Pix em lote e a criação de vendas em lote para pagamento subsequente.
Somente não produção: Este endpoint não está disponível em ambiente de produção.
/v1/pagamentos/pix/unitarioProcessa a notificação de pagamento Pix de uma única venda e encaminha os dados de pagamento para o serviço de cobrança configurado.
Content-Type: application/json
Authorization: Bearer {token}{
"idVenda": 12345,
"valor": 100,
"cpf": "12345678900",
"nome": "John Buyer"
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"idVenda": {
"type": "number",
"description": "Identificador único da venda."
},
"valor": {
"type": "number",
"description": "Valor do pagamento Pix."
},
"cpf": {
"type": "string",
"description": "CPF ou CNPJ do pagador, com ou sem caracteres de formatação."
},
"nome": {
"type": "string",
"description": "Nome do pagador."
}
},
"required": [
"idVenda",
"valor",
"cpf",
"nome"
]
}200Content-Type: application/json{
"success": true,
"message": "Request processed successfully",
"data": {
"idVenda": 12345,
"txId": "TX123456789",
"endToEndId": "E123456789",
"url": "https://collection.example.com/webhook"
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se o pagamento foi processado com sucesso."
},
"message": {
"type": "string",
"description": "Mensagem de resposta em formato legível."
},
"data": {
"type": "object",
"properties": {
"idVenda": {
"type": "number",
"description": "Identificador da venda."
},
"txId": {
"type": "string",
"description": "Identificador da transação Pix associada à venda."
},
"endToEndId": {
"type": "string",
"description": "Identificador end-to-end do Pix."
},
"url": {
"type": "string",
"description": "Destino utilizado para encaminhar a notificação de pagamento."
}
},
"required": [
"idVenda",
"txId",
"endToEndId",
"url"
]
}
},
"required": [
"success",
"message",
"data"
]
}422Content-Type: application/json{
"success": false,
"message": "The payment could not be processed",
"data": "Invalid sale, missing TxId, or invalid payment data"
}Somente não produção: Este endpoint não está disponível em ambiente de produção.
/v1/pagamentos/pix/lote/pagamentosRecebe um número de controle e uma lista de documentos de pagadores, localiza as vendas relacionadas e inicia o processamento assíncrono dos pagamentos Pix. A API retorna imediatamente enquanto o lote continua sendo processado em segundo plano.
A implementação processa as vendas em blocos de até 500 registros e limita a 10 operações concorrentes.
Content-Type: application/json
Authorization: Bearer {token}{
"numeroControle": "BATCH-2026-001",
"idLojista": 20,
"cpfs": [
"Hello, world!"
]
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"numeroControle": {
"type": "string",
"description": "Número de controle utilizado para localizar as vendas incluídas no lote."
},
"idLojista": {
"type": "number",
"description": "Identificador do estabelecimento utilizado em conjunto com o número de controle."
},
"cpfs": {
"type": "array",
"description": "Valores de CPF atribuídos aos pagamentos Pix. Caracteres de formatação são removidos e valores duplicados são ignorados."
}
},
"required": [
"numeroControle",
"idLojista",
"cpfs"
]
}200Content-Type: application/json{
"success": true,
"message": "The payment batch was received and is being processed.",
"data": {
"numeroControle": "BATCH-2026-001",
"totalEncontrado": 1000,
"status": "PROCESSING"
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se o lote foi aceito."
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"numeroControle": {
"type": "string",
"description": "Número de controle do lote."
},
"totalEncontrado": {
"type": "number",
"description": "Número de vendas encontradas para processamento."
},
"status": {
"type": "string",
"description": "Status atual do lote."
}
},
"required": [
"numeroControle",
"totalEncontrado",
"status"
]
}
},
"required": [
"success",
"message",
"data"
]
}422Content-Type: application/json{
"success": false,
"message": "No sales were found for the supplied control number.",
"data": "BATCH-2026-001"
}Somente não produção: Este endpoint não está disponível em ambiente de produção.
/v1/pagamentos/pix/lote/vendasCria múltiplas vendas em uma única requisição para o fluxo de pagamento Pix em lote. Cada item deve conter seu próprio número de controle do parceiro e os dados necessários para criar a venda.
Content-Type: application/json
Authorization: Bearer {token}{
"numeroControle": "BATCH-2026-001",
"vendas": [
{
"merchantId": 20,
"purchase": 100,
"cpfCnpj": "12345678900",
"customerAcceptedTerms": true,
"controlNumber": "ORDER-001",
"phone": "+5511999999999",
"email": "buyer@example.com",
"webhook": "https://partner.example.com/webhooks/rendix",
"currencyCode": "USD",
"operationCode": 1,
"beneficiary": "Pedro Silva"
}
]
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"numeroControle": {
"type": "string",
"description": "Número de controle que identifica o lote de vendas."
},
"vendas": {
"type": "array",
"description": "Vendas a serem criadas."
}
},
"required": [
"numeroControle",
"vendas"
]
}200Content-Type: application/json{
"success": true,
"message": "The sale batch was received and is being processed.",
"data": {
"numeroControle": "BATCH-2026-001",
"totalRecebido": 1,
"status": "PROCESSING"
}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"success": {
"type": "boolean",
"description": "Indica se o lote de vendas foi aceito."
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"numeroControle": {
"type": "string",
"description": "Número de controle do lote."
},
"totalRecebido": {
"type": "number",
"description": "Número de vendas recebidas."
},
"status": {
"type": "string",
"description": "Status atual do lote."
}
},
"required": [
"numeroControle",
"totalRecebido",
"status"
]
}
},
"required": [
"success",
"message",
"data"
]
}422Content-Type: application/json{
"success": false,
"message": "The sale batch could not be accepted.",
"data": "Invalid or empty sales list"
}A equipe Rendix está disponível para apoiar os parceiros durante a integração e o uso das APIs disponíveis. Entre em contato com a equipe de Integração através dos canais oficiais de suporte definidos pela Rendix.
Generated by aglio on 20 Aug 2026