This document describes the Rendix API for international Pix payments. It is intended for partners integrating with Rendix to create sales, query exchange rates, track sales, process refunds, register merchants in batch, retrieve operation codes, download the terms document, and query clearing data.
All APIs follow the REST standard to ensure security and performance.
Partners receive sandbox credentials for both partner and merchant access.
| Environment | Credentials |
|---|---|
| Sandbox | Access e-mail, password, and MerchantId for partner and merchant |
| Environment | Availability |
|---|---|
| Sandbox | 24x7 |
| Status Code | Message | Description |
|---|---|---|
| 200 | OK | Request processed successfully |
| 400 | Bad Request | Invalid request, malformed parameter, or unexpected value |
| 401 | Unauthorized | Authentication failure or insufficient permission |
| 404 | Not Found | Resource identifier was not found |
| 422 | Unprocessable Entity | Request contains invalid business data |
| 500 | Internal Server Error | Unexpected internal server error |
All protected endpoints require a Bearer token returned by the authentication endpoint.
Example header:
Authorization: Bearer {token}
/efx/v2/externo/loginGenerates an access token for partner or merchant users.
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": "Partner or merchant e-mail used to authenticate."
},
"password": {
"type": "string",
"description": "Password associated with the informed e-mail."
}
},
"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": "Indicates whether the authentication request was processed successfully."
},
"message": {
"type": "string",
"description": "Human-readable response message."
},
"data": {
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "JWT access token used in authenticated requests."
},
"expiration": {
"type": "string",
"description": "Token expiration date and time in UTC."
},
"expirationInMilliSeconds": {
"type": "number",
"description": "Token lifetime in milliseconds."
}
},
"required": [
"token",
"expiration",
"expirationInMilliSeconds"
],
"description": "Authentication data returned by the 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": "Indicates that the authentication request failed."
},
"message": {
"type": "string",
"description": "Authentication error message returned by the API."
}
},
"required": [
"success",
"message"
]
}/efx/v2/externo/taxas{?merchantId,currencyCode}Returns the exchange rate used to convert the transaction currency into BRL.
number (required) Example: 20Unique merchant identifier.
string (required) Example: USDSale currency in ISO 3-letter uppercase format.
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": "Indicates whether the request was processed successfully."
},
"message": {
"type": "string",
"description": "Human-readable response message."
},
"data": {
"type": "string",
"description": "Exchange rate returned by the 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": "Indicates that the request was invalid."
},
"message": {
"type": "string",
"description": "Validation error message."
}
},
"required": [
"success",
"message"
]
}/efx/v2/externo/venderCreates a Pix sale and returns the QR Code and Pix copy-paste payload.
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": "Unique merchant identifier."
},
"purchase": {
"type": "number",
"description": "Sale amount in foreign currency."
},
"cpfCnpj": {
"type": "string",
"description": "Buyer document number. Use CPF for individual buyers."
},
"customerAcceptedTerms": {
"type": "boolean",
"description": "Indicates whether the buyer accepted the terms and conditions."
},
"controlNumber": {
"type": "string",
"description": "Partner sale control number."
},
"phone": {
"type": "string",
"description": "Buyer mobile phone number including country code."
},
"email": {
"type": "string",
"description": "Buyer e-mail address."
},
"webhook": {
"type": "string",
"description": "Callback endpoint used to notify sale status changes."
},
"currencyCode": {
"type": "string",
"description": "Sale currency in ISO 3-letter uppercase format."
},
"operationCode": {
"type": "number",
"description": "BACEN operation code. Required when the partner has more than one available operation type."
},
"beneficiary": {
"type": "string",
"description": "Beneficiary name associated with the sale."
}
},
"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": "Indicates whether the request was processed successfully."
},
"message": {
"type": "string",
"description": "Human-readable response message."
},
"data": {
"type": "object",
"properties": {
"pixCopyPaste": {
"type": "string",
"description": "Pix payload for copy-and-paste payment."
},
"saleID": {
"type": "number",
"description": "Unique sale identifier."
},
"qrCodeBase64": {
"type": "string",
"description": "QR Code image encoded in Base64."
},
"priceNationalCurrency": {
"type": "number",
"description": "Sale amount converted to BRL."
},
"currency": {
"type": "string",
"description": "Sale currency."
},
"vetTax": {
"type": "number",
"description": "Exchange rate applied to the sale."
},
"qrCodeExpiration": {
"type": "string",
"description": "QR Code expiration date and time in UTC."
},
"creditCardPayment": {
"type": "object",
"properties": {
"qrCodeCheckout": {
"type": "string",
"description": "Credit card checkout QR Code encoded in Base64."
},
"urlCheckout": {
"type": "string",
"description": "Credit card checkout URL."
},
"installmentOptions": {
"type": "array",
"description": "Available installment options for the sale."
}
},
"description": "Additional credit card payment information when this payment method is available."
}
},
"required": [
"pixCopyPaste",
"saleID",
"qrCodeBase64",
"priceNationalCurrency",
"currency",
"vetTax",
"qrCodeExpiration"
],
"description": "Sale data returned by the 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": "Indicates that the request could not be processed."
},
"message": {
"type": "string",
"description": "Validation or business rule error message."
}
},
"required": [
"success",
"message"
]
}/efx/v2/externo/vender/cnpjCreates a Pix sale using the buyer company document (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": "Unique merchant identifier."
},
"purchase": {
"type": "number",
"description": "Sale amount in foreign currency."
},
"cpfCnpj": {
"type": "string",
"description": "Buyer company document number using CNPJ format."
},
"customerAcceptedTerms": {
"type": "boolean",
"description": "Indicates whether the buyer accepted the terms and conditions."
},
"controlNumber": {
"type": "string",
"description": "Partner sale control number."
},
"phone": {
"type": "string",
"description": "Buyer mobile phone number including country code."
},
"email": {
"type": "string",
"description": "Buyer e-mail address."
},
"webhook": {
"type": "string",
"description": "Callback endpoint used to notify sale status changes."
},
"currencyCode": {
"type": "string",
"description": "Sale currency in ISO 3-letter uppercase format."
},
"operationCode": {
"type": "number",
"description": "BACEN operation code."
},
"beneficiary": {
"type": "string",
"description": "Beneficiary name associated with the sale."
}
},
"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": "Indicates whether the request was processed successfully."
},
"message": {
"type": "string",
"description": "Human-readable response message."
},
"data": {
"type": "object",
"properties": {
"saleID": {
"type": "number",
"description": "Unique sale identifier."
},
"pixCopyPaste": {
"type": "string",
"description": "Pix payload for copy-and-paste payment."
},
"qrCodeBase64": {
"type": "string",
"description": "QR Code image encoded in Base64."
}
},
"required": [
"saleID",
"pixCopyPaste",
"qrCodeBase64"
],
"description": "Sale data returned by the API."
}
},
"required": [
"success",
"message",
"data"
]
}/efx/v1/externo/linkCreates a sale and sends a payment link by 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": "Unique merchant identifier."
},
"purchase": {
"type": "number",
"description": "Sale amount in foreign currency."
},
"description": {
"type": "string",
"description": "Sale description presented to the buyer."
},
"controlNumber": {
"type": "string",
"description": "Partner sale control number."
},
"email": {
"type": "string",
"description": "Buyer e-mail address used to receive the payment link."
},
"webhook": {
"type": "string",
"description": "Callback endpoint used to notify sale status changes."
},
"currencyCode": {
"type": "string",
"description": "Sale currency in ISO 3-letter uppercase format."
},
"operationCode": {
"type": "number",
"description": "BACEN operation code."
},
"beneficiary": {
"type": "string",
"description": "Beneficiary name associated with the sale."
}
},
"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": "Indicates whether the request was processed successfully."
},
"message": {
"type": "string",
"description": "Human-readable response message."
},
"data": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Unique sale identifier generated for the payment link."
}
},
"required": [
"id"
],
"description": "Payment link sale data returned by the API."
}
},
"required": [
"success",
"message",
"data"
]
}/efx/v1/externo/vender/{id}Returns the current sale data and status.
number (required) Example: 12345Unique sale identifier.
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": "Indicates whether the query was successful."
},
"message": {
"type": "string",
"description": "Human-readable response message."
},
"data": {
"type": "object",
"properties": {
"status": {
"type": "number",
"description": "Sale status code."
},
"priceNationalCurrency": {
"type": "number",
"description": "Sale amount in BRL."
},
"priceInForeignCurrency": {
"type": "number",
"description": "Sale amount in foreign currency."
},
"controlNumber": {
"type": "string",
"description": "Partner control number associated with the sale."
},
"currency": {
"type": "string",
"description": "Sale currency."
},
"vetTax": {
"type": "number",
"description": "Exchange rate applied to the sale."
},
"paymentReversal": {
"type": "object",
"properties": {
"requestDate": {
"type": "string",
"description": "Refund request date and time in UTC."
},
"status": {
"type": "string",
"description": "Refund processing status."
}
},
"description": "Refund information when a refund was requested."
}
},
"required": [
"status",
"priceNationalCurrency",
"priceInForeignCurrency",
"controlNumber",
"currency",
"vetTax"
],
"description": "Sale data returned by the 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": "Indicates that the informed sale was not found."
},
"message": {
"type": "string",
"description": "Error message returned by the API."
}
},
"required": [
"success",
"message"
]
}The following business rules apply to sales:
Sales created through /efx/v2/externo/vender expire after 5 minutes if they are not paid.
Sales created through /efx/v1/externo/link expire after 5 days if they are not paid.
When a sale expires without payment, a new sale must be created to generate a new QR Code or payment link.
A sale can be canceled or refunded under the following circumstances:
| Status | Description |
|---|---|
| 4 | Sale canceled by the system or operator |
| 6 | Sale canceled without Pix payment after QR Code expiration |
| 8 | Sale canceled due to CPF divergence (payer differs from buyer) |
| 12 | Sale canceled after Pix payment and Pix refund processed |
| 13 | Sale canceled due to CNPJ divergence |
| 15 | Sale canceled with refund completed to credit card |
| 16 | Sale canceled due to CPF divergence - Pix refund in progress |
| 17 | Sale canceled due to CPF divergence - Pix refund completed |
| 18 | Sale canceled due to CPF divergence - Contact support for manual handling |
/efx/v1/externo/vender/processar-reembolso/{saleId}{?refund}Returns the refund details before confirming a full or partial refund.
number (required) Example: 2151Unique paid sale identifier.
number (required) Example: 20Refund amount in merchant currency.
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": "Indicates whether the request was processed successfully."
},
"message": {
"type": "string",
"description": "Human-readable response message."
},
"data": {
"type": "object",
"properties": {
"saleId": {
"type": "number",
"description": "Unique sale identifier."
},
"refundAmount": {
"type": "number",
"description": "Refund amount requested in merchant currency."
},
"currency": {
"type": "string",
"description": "Currency of the sale."
},
"estimatedNationalCurrencyRefund": {
"type": "number",
"description": "Estimated refund amount converted to BRL."
}
},
"required": [
"saleId",
"refundAmount",
"currency",
"estimatedNationalCurrencyRefund"
],
"description": "Refund simulation data returned by the API."
}
},
"required": [
"success",
"message",
"data"
]
}/efx/v1/vender/cancelar/{id}Cancels a paid sale and processes a total or partial Pix refund.
number (required) Example: 2151Unique paid sale identifier.
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": "Refund amount to be returned to the buyer."
}
},
"required": [
"amount"
],
"description": "Refund payload sent to the 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": "Indicates whether the refund was processed successfully."
},
"message": {
"type": "string",
"description": "Human-readable response message."
},
"data": {
"type": "object",
"properties": {
"saleId": {
"type": "number",
"description": "Unique sale identifier."
},
"priceInNationalCurrency": {
"type": "number",
"description": "Original sale amount in BRL."
},
"priceInForeignCurrency": {
"type": "number",
"description": "Original sale amount in foreign currency."
},
"status": {
"type": "number",
"description": "Updated sale status code after refund."
},
"currency": {
"type": "string",
"description": "Sale currency."
},
"refundNationalCurrency": {
"type": "number",
"description": "Refund amount in BRL."
}
},
"required": [
"saleId",
"priceInNationalCurrency",
"priceInForeignCurrency",
"status",
"currency",
"refundNationalCurrency"
],
"description": "Refund result data returned by the 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": "Indicates that the refund request failed."
},
"message": {
"type": "string",
"description": "Validation or business rule error message."
}
},
"required": [
"success",
"message"
]
}Typical refund-related errors described for the API include:
| Status Code | Message | Description |
|---|---|---|
| 422 | Unprocessable Entity | Refund amount not informed |
| 401 | Unauthorized | Merchant has no permission to refund |
| 422 | Unprocessable Entity | No available balance to refund the sale |
| 422 | Unprocessable Entity | Invalid SaleId |
| 422 | Unprocessable Entity | Sale was not paid |
| 422 | Unprocessable Entity | Sale has already been refunded |
| 422 | Unprocessable Entity | Refund amount is greater than the original sale amount |
| 422 | Unprocessable Entity | Sale is already cancelled |
| 500 | Internal Server Error | Unexpected internal server error |
/efx/v1/externo/estabelecimentos/loteAllows a partner master user to register one or many merchants by uploading an Excel file. The uploaded spreadsheet is validated and processed, and the resulting MerchantIds are returned after processing.
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": "Indicates whether the batch file was accepted successfully."
},
"message": {
"type": "string",
"description": "Human-readable response message."
},
"data": {
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Unique batch identifier."
},
"date": {
"type": "string",
"description": "Batch creation date and time in UTC."
},
"user": {
"type": "string",
"description": "User or merchant reference associated with the batch."
},
"count": {
"type": "number",
"description": "Number of merchants included in the batch."
},
"batchName": {
"type": "string",
"description": "Batch display name."
},
"partnerId": {
"type": "number",
"description": "Unique partner identifier."
},
"status": {
"type": "string",
"description": "Batch processing status."
}
},
"required": [
"id",
"date",
"user",
"count",
"batchName",
"partnerId",
"status"
],
"description": "Batch processing data returned by the API."
}
},
"required": [
"success",
"message",
"data"
]
}/efx/v1/externo/estabelecimentos/lote/{id}{?page,elements}Returns the merchants processed in a batch file.
number (required) Example: 1Batch identifier.
number (required) Example: 0Zero-based page index.
number (required) Example: 10Number of items per page.
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": "Total number of merchants returned by the query."
},
"totalPerPage": {
"type": "number",
"description": "Number of items configured per page."
},
"totalCurrentPage": {
"type": "number",
"description": "Number of items returned on the current page."
},
"data": {
"type": "array",
"description": "Merchant records processed in the batch."
}
},
"required": [
"totalItems",
"totalPerPage",
"totalCurrentPage",
"data"
]
}Accepted file format:
.xlsxExpected spreadsheet fields:
| Field | Description | Rule |
|---|---|---|
| CorporateName | Merchant legal name | Required |
| NIF | Tax identification number | Required |
| Street | Merchant street | Required |
| City | Merchant city | Required |
| PostalCode | Postal code | Required |
| Number | Street number | Required |
| State | Merchant state | Required |
| Country | Country code with 2 characters, for example PY, AR |
Required |
| Currency | Merchant currency in ISO 3-letter uppercase format | Conditionally optional |
| OperationCode | Merchant operation code | Conditionally optional |
| Merchant e-mail | Optional |
Conditional rules:
Currency may be omitted only when the merchant operates with a single currency.
OperationCode may be omitted only when the merchant operates with a single operation type.
Operation code values mentioned in the source document:
1 - Goods and Services
2 - Unilateral Transfers
3 - Same ownership account transfer between country and foreign account
4 - Withdrawals
| Status | Description |
|---|---|
| AWAITING | Waiting for merchant batch registration |
| FINISHED | Batch registration completed |
| ERROR | Registration failed because of file inconsistencies |
| DOUBLEDED | Duplicate NIF and e-mail prevented registration |
/efx/v1/externo/codigos-operacaoReturns the operation nature codes available for sale transactions.
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": "Indicates whether the request was processed successfully."
},
"message": {
"type": "string",
"description": "Human-readable response message."
},
"data": {
"type": "array",
"description": "Available BACEN operation codes."
}
},
"required": [
"success",
"message",
"data"
]
}/efx/gerenciador/venda/v1/vendas/termoReturns the Terms and Conditions PDF encoded in 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": "PDF content encoded in Base64."
},
"contentType": {
"type": "string",
"description": "MIME type of the returned file."
},
"fileDownloadName": {
"type": "string",
"description": "Suggested file name for download."
},
"lastModified": {
"type": "string",
"description": "Last modification date and time in UTC."
},
"entityTag": {
"type": "string",
"description": "Entity tag associated with the file version."
},
"enableRangeProcessing": {
"type": "boolean",
"description": "Indicates whether range processing is enabled."
}
},
"required": [
"fileContents",
"contentType",
"fileDownloadName",
"enableRangeProcessing"
]
}/efx/v1/externo/liquidacao{?TransactionStartDate,TransactionEndDate,CurrentPage,ItemsPerPage,MerchantId,CurrencyCode}Returns clearing and reconciliation information for closed sales.
string (required) Example: 2023-06-02Initial transaction date in ISO format.
string (required) Example: 2023-06-03Final transaction date in ISO format.
number (required) Example: 0Zero-based page index.
number (required) Example: 10Number of items per page.
number (optional) Example: 3Merchant identifier.
string (required) Example: USDCurrency code in ISO 3-letter uppercase format.
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": "Total number of records returned by the query."
},
"itemsPerPage": {
"type": "number",
"description": "Number of items configured per page."
},
"currentPageTotal": {
"type": "number",
"description": "Number of records returned on the current page."
},
"totalTransactions": {
"type": "number",
"description": "Total number of transactions in the result set."
},
"totalPurchaseValue": {
"type": "number",
"description": "Total purchase value of the result set."
},
"data": {
"type": "array",
"description": "Clearing records returned by the API."
}
},
"required": [
"totalItems",
"itemsPerPage",
"currentPageTotal",
"totalTransactions",
"totalPurchaseValue",
"data"
]
}/efx/v1/externo/vendas{?SalesStatus,DateSaleStart,DateSaleEnd,OperatorId,PaymentLink,FilterByShopkeeper,CurrencyId,TransactionTypeBy,CurrentPage,QuantityPerPage,Filter}Returns sales according to the supplied filters.
number (optional) Example: 3Sale status.
string (required) Example: 2024-05-01Initial sale date in ISO format.
string (required) Example: 2024-10-01Final sale date in ISO format.
number (optional) Example: 10Merchant or operator identifier.
boolean (optional) Example: falseWhether the sale was created by payment link.
boolean (required) Example: falseWhether to filter by merchant.
number (required) Example: 164Currency identifier.
number (required) Example: 4BACEN transaction type identifier.
number (required) Example: 0Current page.
number (optional) Example: 10Items per page.
string (optional) Example: abc123Additional free-text filter.
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": "Total value of the returned sales."
},
"totalItems": {
"type": "number",
"description": "Total number of sales found by the query."
},
"totalPerPage": {
"type": "number",
"description": "Number of items configured per page."
},
"currentPage": {
"type": "number",
"description": "Current page index."
},
"totalCurrentPage": {
"type": "number",
"description": "Number of items returned on the current page."
},
"data": {
"type": "array",
"description": "Sales returned by the API."
}
},
"required": [
"totalSalesValue",
"totalItems",
"totalPerPage",
"currentPage",
"totalCurrentPage",
"data"
]
}The table below lists all possible status codes that a sale transaction can assume during its lifecycle:
| Status | Name | Description & Scenario |
|---|---|---|
| 1 | Open | Sale initiated in the system, awaiting generation or payment processing |
| 2 | Awaiting Return | Sale created, awaiting payment of the QR Code or Payment Link |
| 3 | Paid | Buyer’s payment was confirmed and cleared successfully |
| 4 | Canceled | Sale canceled manually or by the system |
| 5 | Payment Expired | The payment timeframe for the sale expired before completion |
| 6 | Sale Canceled Without Pix | Sale canceled after QR Code or Link expiration without Pix receipt |
| 7 | Sale Timeout | Timeout exceeded during transaction processing |
| 8 | Canceled - CPF Divergence | Sale canceled because the payer CPF differs from the buyer CPF |
| 9 | Payer Limit Exceeded | Sale canceled because the payer’s transaction limit was exceeded |
| 10 | Restrictive Payer CPF | Payer CPF has a restriction imposed by compliance rules |
| 11 | Webhook Processing Error | An error occurred while processing the Webhook notification |
| 12 | Sale Canceled with Pix Refunded | Sale canceled after successful payment and Pix refund processed |
| 13 | Canceled - CNPJ Divergence | Sale canceled because the payer CNPJ differs from the buying company CNPJ |
| 14 | Restrictive Payer CNPJ | Payer CNPJ has a restriction imposed by compliance rules |
| 15 | Canceled - Credit Card Refund | Sale canceled with the corresponding refund processed on a credit card |
| 16 | Canceled CPF Divergence - Refund in Progress | Sale canceled due to CPF divergence with the Pix refund in progress |
| 17 | Canceled CPF Divergence - Refund Completed | Sale canceled due to CPF divergence with the Pix refund finalized |
| 18 | Canceled CPF Divergence - Contact Support | Automatic refund failed due to CPF divergence; manual support triggered |
Environment restriction: The three endpoints in this group are available exclusively in non-production environments, such as development, testing, homologation, and sandbox. They must not be called or exposed in the production environment.
The endpoints in this group support individual Pix payment processing, batch Pix payment processing, and batch sale creation for subsequent payment.
Non-production only: This endpoint is not available in the production environment.
/v1/pagamentos/pix/unitarioProcesses the Pix payment notification for a single sale and forwards the payment data to the configured collection service.
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": "Unique sale identifier."
},
"valor": {
"type": "number",
"description": "Pix payment amount."
},
"cpf": {
"type": "string",
"description": "Payer CPF or CNPJ, with or without formatting characters."
},
"nome": {
"type": "string",
"description": "Payer name."
}
},
"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": "Indicates whether the payment was processed successfully."
},
"message": {
"type": "string",
"description": "Human-readable response message."
},
"data": {
"type": "object",
"properties": {
"idVenda": {
"type": "number",
"description": "Sale identifier."
},
"txId": {
"type": "string",
"description": "Pix transaction identifier associated with the sale."
},
"endToEndId": {
"type": "string",
"description": "Pix end-to-end identifier."
},
"url": {
"type": "string",
"description": "Destination used to forward the payment notification."
}
},
"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"
}Non-production only: This endpoint is not available in the production environment.
/v1/pagamentos/pix/lote/pagamentosAccepts a control number and a list of payer documents, finds the related sales, and starts asynchronous Pix payment processing. The API returns immediately while the batch continues in the background.
The implementation processes sales in blocks of up to 500 records and limits concurrent submissions to 10 operations.
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": "Control number used to locate the sales included in the batch."
},
"idLojista": {
"type": "number",
"description": "Merchant identifier used together with the control number."
},
"cpfs": {
"type": "array",
"description": "CPF values assigned to the Pix payments. Formatting characters are removed and duplicate values are ignored."
}
},
"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": "Indicates whether the batch was accepted."
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"numeroControle": {
"type": "string",
"description": "Batch control number."
},
"totalEncontrado": {
"type": "number",
"description": "Number of sales found for processing."
},
"status": {
"type": "string",
"description": "Current batch status."
}
},
"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"
}Non-production only: This endpoint is not available in the production environment.
/v1/pagamentos/pix/lote/vendasCreates multiple sales in a single request for the Pix batch-payment flow. Each item must contain its own partner control number and the data required to create the sale.
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": "Control number that identifies the sale batch."
},
"vendas": {
"type": "array",
"description": "Sales to be created."
}
},
"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": "Indicates whether the sale batch was accepted."
},
"message": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"numeroControle": {
"type": "string",
"description": "Batch control number."
},
"totalRecebido": {
"type": "number",
"description": "Number of sales received."
},
"status": {
"type": "string",
"description": "Current batch status."
}
},
"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"
}The Rendix team is available to support partners during integration and usage of the available APIs. Contact the Integration team through the official support channels defined by Rendix.
Generated by aglio on 20 Aug 2026