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 currencies | BRL |
| Consumer currencies | BRL |
| Minimum payment amount | 0.00 BRL |
| Maximum payment amount | Varies by card issuer |
| Payment instrument | CARD_PPRO_VAULTED |
| Network tokens | Yes |
| Recurring payments | Yes |
| Separate captures | Yes |
| Installments | Yes |
| Validation | Yes |
| Refund | Full - Partial - Multiple |
| Refund validity | 180 days |
| Authorization reversal | Yes |
| Authorization validity | 7 days |
| EMV 3-D Secure | No |
| Disputes | Yes |
| Settlement risk | No |
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 Field | Description |
|---|---|
paymentMethod | CARD |
amount.value | The amount to be paid in the smallest units of the currency used. |
amount.currency | BRL |
consumer.name | Full name of the consumer. |
consumer.country | The country where the consumer is shopping. |
consumer.taxIdentification | The consumer’s tax identification number. See the section Consumer Tax Identification for more details. |
instrument.type | RAW_CARD |
instrument.details.brand(optional) |
The |
instrument.details.number | The primary account number (PAN) of the card used for payment. |
instrument.details.cvv | Card 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.holderName | The full name of the cardholder as it appears on the card. |
instrument.details.expiryMonth | The one to two-digit expiration month of the card. |
instrument.details.expiryYear | The 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
NotePlease 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
- Once the payment has been successfully
AUTHORIZEDyou can present the payment outcome to the consumer. - The payment charge status will be in
CAPTURE_PENDINGorCAPTUREDdepending ifautoCapturewas 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 submission | The 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. |
| Decision | Most 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 phases | dispute |
| Chargebacks | Depends on acquirer and can be either post-decision chargebacks or preemptive chargebacks and reversals |
| Chargeback timing | For post-decision: A chargeback_created webhook is sent after the final decision and during settlementFor 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:
| Action | Message | Files | Amount | Resolutions |
|---|---|---|---|---|
CHALLENGE | Required (1 - 100 characters) | Required (see capabilities below). Important: Please submit all evidence in a single, combined file | Optional | N/A |
ACCEPT | N/A | N/A | N/A | N/A |
The following capabilities are allowed in the dispute phase:
| Capability Type | Statuses Allowed In | Configuration Details |
|---|---|---|
| UPLOAD_FILE | OPEN | Types: TIF, TIFF, JPEG, PDF Max Size: 8 MB Max file upload attempts: 1 |