Brazil Local Acquiring

Integrate Brazil Local Acquiring and have access to a consumer base of over 200 million in Latin America's largest economy. PPRO processes all major domestic and international card brands on local payment rails offering both local and international settlement options for wherever your business is located. Learn more.

Payment method properties

Markets (consumer)BR
Processing currenciesBRL
Consumer currenciesBRL
Minimum payment amount0.00 BRL
Maximum payment amountVaries by card issuer
Payment instrumentCARD_PPRO_VAULTED
Network tokensYes
Recurring paymentsYes
Separate capturesYes
InstallmentsYes
ValidationYes
RefundFull - Partial - Multiple
Refund validity180 days
Authorization reversalYes
Authorization validity7 days
EMV 3-D SecureNo
DisputesYes
Settlement riskNo

Make a card payment

To create a one-time card payment, you'll need to provide the following data when calling our payment charges api:

Data FieldDescription
paymentMethodCARD
amount.valueThe amount to be paid in the smallest units of the currency used.
amount.currencyBRL
consumer.nameFull name of the consumer.
consumer.countryThe country where the consumer is shopping.
consumer.taxIdentificationThe consumer’s tax identification number. See the section Consumer Tax Identification for more details.
instrument.typeRAW_CARD
instrument.details.brand
(optional)

AMEX DINERS DISCOVER ELO HIPERCARD MASTER VISA

The brand field is optional. Only use one of the values listed above. If the card’s brand is not included in this list or is unknown, do not include the brand field.

instrument.details.numberThe primary account number (PAN) of the card used for payment.
instrument.details.cvvCard verification value (CVV)
A security code used to verify that the card is in the consumer's possession and to authenticate the card during authorization.
instrument.details.holderNameThe full name of the cardholder as it appears on the card.
instrument.details.expiryMonthThe one to two-digit expiration month of the card.
instrument.details.expiryYearThe four-digit expiration year of the card.

Request

POST /v1/payment-charges

{
  "paymentMethod": "CARD",
  "amount": {
    "value": 10000,
    "currency": "BRL"
  },
  "consumer": {
    "country": "BR",
    "name": "John Smith",
    "taxIdentification": "12345678909"
  },
  "instrument": {
    "type": "RAW_CARD",
    "details": {
      "brand": "VISA",
      "number": "4444333322221111",
      "cvv": "1213",
      "holderName": "John Smith",
      "expiryMonth": 2,
      "expiryYear": 2030
    }
  }
}

Response:

{
  "id": "charge_fSGy2fA1VrUqcvHguzhs2",
  "paymentMethod": "CARD",
  "paymentMedium": "ECOMMERCE",
  "scheduleType": "UNSCHEDULED",
  "instrumentId": "instr_W25IqhYRKibOc50fSeiF7",
  "instrumentUpdated": false,
  "currency": "BRL",
  "country": "BR",
  "status": "CAPTURE_PENDING",
  "consumer": {
    "name": "John Smith",
    "country": "BR",
    "taxIdentification": "12345678909"
  },
  "authorizations": [
    {
      "id": "authz_nEhc9PhEZ0kBEtG2hyv01",
      "amount": 10000,
      "status": "AUTHORIZED",
      "schemeAuthorizationReference": "060720116005060",
      "createdAt": "2025-10-24T13:17:06.799Z",
      "updatedAt": "2025-10-24T13:17:06.799Z"
    }
  ],
  "captures": [],
  "refunds": [],
  "discards": [],
  "voids": [],
  "createdAt": "2025-10-24T13:17:06.179Z",
  "updatedAt": "2025-10-24T13:17:06.799Z",
  "_links": {
    "authorizations": {
      "href": "/v1/payment-charges/charge_fSGy2fA1VrUqcvHguzhs2/authorizations"
    },
    "captures": {
      "href": "/v1/payment-charges/charge_fSGy2fA1VrUqcvHguzhs2/captures"
    },
    "refunds": {
      "href": "/v1/payment-charges/charge_fSGy2fA1VrUqcvHguzhs2/refunds"
    },
    "discards": {
      "href": "/v1/payment-charges/charge_fSGy2fA1VrUqcvHguzhs2/discards"
    },
    "voids": {
      "href": "/v1/payment-charges/charge_fSGy2fA1VrUqcvHguzhs2/voids"
    }
  }
}

Consumer Tax Identification

Requires customer ID: CPF or CNPJ

CPF

  • CPF (Cadastro de Pessoas Físicas – Natural Persons Register) is a number attributed by the Brazilian revenue agency (Receita Federal ‐ Federal Revenue) to both Brazilians and foreigners who pay taxes or take part directly or indirectly in activities resulting in revenues.
  • The CPF has a format of 9-2 digits, separated by dots and hyphen “- “.

Examples of valid CPF numbers:

123.456.789‐09

284.763.786‐96

804.654.341‐18

📘

Note

Please note that dots and hyphen must not be sent, otherwise it will be considered invalid.

The parameter where the CPF information must be sent is:

Credit card: customer.taxIdentification=12345678909

Validation

Validating the CPF results in higher authorization rates, therefore it is recommended to validate on merchants billing page before submitting to PPRO.

The following pseudocode can be used for validation:

function ValidateCPF(cpf: int[11])  
var v: int[2]

//Note: compute 1st verification digit.

v[1] \:= 10×cpf[1] + 9×cpf[2] + 8×cpf[3]  
v[1] += 7×cpf[4] + 6×cpf[5] + 5×cpf[6]  
v[1] += 4×cpf[7] + 3×cpf[8] + 2×cpf[9]  
v[1] \:= 11 ‐ v[1] mod 11 v[1] \:= 0 if v[1] ≥ 10

//Note: compute 2nd verification digit.

v[2] \:= 11×cpf[1] + 10×cpf[2] + 9×cpf[3]  
v[2] += 8×cpf[4] + 7×cpf[5] + 6×cpf[6]  
v[2] += 5×cpf[7] + 4×cpf[8] + 3×cpf[9]  
v[2] += 2×v[1]  
v[2] \:= 11 ‐ v[2] mod 11  
v[2] \:= 0 if v[2] ≥ 10

//Note: True if verification digits are as expected.  
return v[1] = cpf[10] and v[2] = cpf[11]

CNPJ

  • The CNPJ (Cadastro Nacional da Pessoa Juridica – National Legal Person Register) is a unique Identification number attributed by the Brazilian revenue agency (Receita Federal). The registry is mandatory and entitles the entity to conclude contracts and legal proceedings. The CNPJ is stated on all receipts as well as packages of industrial products.

Examples of a typical CNPJ number:

03.847.655/0001-98

74.880.010/0001-04

58.520.485/0001-24

The parameter where the CNPJ information must be sent is:

Credit card: customer.taxIdentification=03847655000128

Validation

Validating the CNPJ results in higher authorization rates, therefore it is recommended to validate on merchants billing page before submitting to PPRO.

The following pseudocode can be used for validation:

function ValidarCNPJ(cnpj: int[14]) ‐ bool  
var v: int[2]

//Note: Compute first verification digit.  
v[1] \:= 5×cnpj[1] + 4×cnpj[2] + 3×cnpj[3] + 2×cnpj[4]  
v[1] += 9×cnpj[5] + 8×cnpj[6] + 7×cnpj[7] + 6×cnpj[8]  
v[1] += 5×cnpj[9] + 4×cnpj[10] + 3×cnpj[11] + 2×cnpj[12]  
v[1] \:= 11 ‐ v[1] mod 11  
v[1] \:= 0 if v[1] ≥ 10

//Note: Compute second verification digit.  
v[2] \:= 6×cnpj[1] + 5×cnpj[2] + 4×cnpj[3] + 3×cnpj[4]  
v[2] += 2×cnpj[5] + 9×cnpj[6] + 8×cnpj[7] + 7×cnpj[8]  
v[2] += 6×cnpj[9] + 5×cnpj[10] + 4×cnpj[11] + 3×cnpj[12]  
v[2] += 2×v[1]  
v[2] \:= 11 ‐ v[2] mod 11  
v[2] \:= 0 if v[2] ≥ 10

// Note: True if verification digits are as expected.  
return v[1] = cnpj[13] and v[2] = cnpj[14]

Handling the payment response

  1. Once the payment has been successfully AUTHORIZED you can present the payment outcome to the consumer.
  2. The payment charge status will be in CAPTURE_PENDING or CAPTURED depending if autoCapture was applied or not. If required, Capture the payment charge.

Disputes & chargebacks management

Dispute management is available via the PPRO global disputes platform. Currently, the only way to receive disputes for Brazil acquiring is to be integrated via API.

The dispute timings are as follows:

Dispute open

Standard Window: 60 to 120 calendar days from the transaction date or the expected delivery date of the service/product.

Installment Purchases: For ongoing installment plans or products that fail to be delivered over time, cardholders sometimes have up to 180 days from the date they realize there is an issue (or from the date of the last billed installment) to file a dispute.

Evidence submissionThe time the merchant has to submit evidence depends on the card brand and the acquirer and can range between 5 to 20 calendar days. The exact date and time is provided in the API response. Failure to respond within this window will result in the dispute being automatically lost.
DecisionMost cases are decided within 30 to 45 days from when you submit your evidence, however this depends heavily on the card brand and acquirer.

The section below contains the technical specifications and settings for Brazil acquiring for an integration with the PPRO global disputes platform via API.


Brazil acquiring uses only the dispute phase and requires the following support:

Dispute phasesdispute
Chargebacks​Depends on acquirer and can be either post-decision chargebacks or preemptive chargebacks and reversals
Chargeback timingFor post-decision: A chargeback_created webhook is sent after the final decision and during settlement
For preemptive: A chargeback_created webhook is sent along with the dispute and a chargeback_reversal_created webhook is sent if the dispute is won.
⚠️

Note: The chargebacks and chargeback reversals webhooks for Brazil local acquiring are not yet available

The following actions are allowed in the dispute phase:

ActionMessageFilesAmountResolutions
CHALLENGERequired (1 - 100 characters)Required (see capabilities below). Important: Please submit all evidence in a single, combined fileOptionalN/A
ACCEPTN/AN/AN/AN/A

The following capabilities are allowed in the dispute phase:

Capability TypeStatuses Allowed InConfiguration Details
UPLOAD_FILEOPENTypes: TIF, TIFF, JPEG, PDF
Max Size: 8 MB
Max file upload attempts: 1