Search

Are you looking for test card numbers?

Would you like to contact support?

Brazil in-store card payments

Learn how to make card payments, including with installments, in Brazil.

Em breve: tradução para português desta página.

In Brazil, shoppers commonly use a card that has both a debit and a credit functionality, and most credit cards accept instalment payments. Consequently, when paying by card, shoppers are offered choices:

  • Do they want to pay by debit or credit?
  • If credit, do they want to make a one-off payment of the total amount or do they want to pay in installments?
  • If installments, how many installments?

When a shopper pays in installments, the cost is split into 2 to 12 equal monthly payments. These payments are charged to the shopper's credit card every 30 days until their purchase has been paid in full. This is popular with shoppers because they receive goods or services immediately, but spread the cost over multiple months.

For more information on reporting and reconciliation, see Reconciling installments.

Here we explain how to make Brazilian in-store card payments from a:

Before you begin

Before you make a payment with our Terminal API, make sure you have designed your Adyen point of sale integration. This includes:

  1. Signing up for an Adyen test account, and creating a store.
  2. Ordering a terminal, and boarding it to a store.
  3. Determining whether your integration will use a local or cloud-based architecture.
  4. Reading and understanding the Terminal API fundamentals.
  5. If you are building a integration that uses asynchronous cloud communications, make sure you have set up display notifications. This is how your integration will receive the payment result.

Card payment from cash register

The flow for a card payment in Brazil from the cash register is as follows:

  1. The sales assistant asks the shopper how they prefer to pay and enters the response on the cash register:

    • Debit or credit.
    • If credit: one-off payment or installments.
    • If installments: number of installments.

  2. From the cash register, a PaymentRequest is made to the Terminal API, specifying the payment method details entered by the sales assistant.

    See Make the payment to learn how to construct this request.

  3. The amount due is passed to the terminal.
  4. On the payment terminal, the shopper inserts or taps their card.
  5. The shopper enters their PIN or signature.
  6. When the transaction is approved, the merchant receipt and the shopper receipt are printed (in that order).

Make the payment

The payment request to the Terminal API needs to contain a flag to indicate a debit or credit card payment. When paying by credit in installments, the request also needs to contain an object to define the installments.

  1. Make a POST request to a Terminal API endpoint specifying the following headers:

    • content-type: application/json
    • x-api-key: API key that you generated earlier.

      An API key is only required if you're using cloud-based communications.

  2. Specify the following parameters:

    • ProtocolVersion: 3.0
    • MessageCategory: Payment
    • MessageType: Request
    • SaleID: Your unique ID for the cash register.
    • ServiceID: Your unique ID generated by this cash register for this transaction. This needs to be unique within the last 48 hours.
    • POIID: Unique ID of the terminal.

      The POIID = [Terminal model]-[Serial number], for example: P400Plus-123456789

    • TransactionID: Your unique reference for this transaction.
    • TimeStamp: Date and time of this transaction.
    • Currency: The currency of the transaction. Mutst be BRL.
    • RequestedAmount (int): The value of the transaction.
  3. Add a flag to specify whether the shopper wants to pay by debit or credit:

    • TransactionConditions.DebitPreferredFlag (boolean):
      • true: Makes a debit card payment.
      • false: Makes a credit card payment.

    For a debit payment or a one-off credit payment, no further parameters are required.

  4. If the shopper is paying by credit in installments, define the installments by adding a PaymentData object with the following fields:

    • PaymentType: Instalment
    • InstalmentType: EqualInstalments
    • SequenceNumber (int): 1
    • Period (int): 1
    • PeriodUnit: Monthly
    • TotalNbOfPayments(int): The number of installments. The minimum is 2, the maximum 12.

Here are some sample requests.

{
  "SaleToPOIRequest":{
    "MessageHeader":{
      "ProtocolVersion":"3.0",
      "MessageClass":"Service",
      "MessageCategory":"Payment",
      "MessageType":"Request",
      "ServiceID":"2307d64b8",
      "SaleID":"Demo",
      "POIID":"P400Plus-275040710"
    },
    "PaymentRequest":{
      "SaleData":{
        "SaleTransactionID":{
          "TransactionID":"TID-2018-07-23-21:43:03",
          "TimeStamp":"2018-07-23T21:43:03"
        },
        "SaleReferenceID":"TID-2018-07-23-21:43:03",
        "SaleToAcquirerData":""
      },
      "PaymentTransaction":{
        "AmountsReq":{
          "Currency":"BRL",
          "RequestedAmount":12000
        },
        "TransactionConditions":{
          "DebitPreferredFlag":true
        }
      }
    }
  }
}
{
  "SaleToPOIRequest":{
    "MessageHeader":{
      "ProtocolVersion":"3.0",
      "MessageClass":"Service",
      "MessageCategory":"Payment",
      "MessageType":"Request",
      "ServiceID":"2307d64b8",
      "SaleID":"Demo",
      "POIID":"P400Plus-275040710"
    },
    "PaymentRequest":{
      "SaleData":{
        "SaleTransactionID":{
          "TransactionID":"TID-2018-07-23-21:43:03",
          "TimeStamp":"2018-07-23T21:43:03"
        },
        "SaleReferenceID":"TID-2018-07-23-21:43:03",
        "SaleToAcquirerData":""
      },
      "PaymentTransaction":{
        "AmountsReq":{
          "Currency":"BRL",
          "RequestedAmount":12000
        },
        "TransactionConditions":{
          "DebitPreferredFlag":false
        }
      }
    }
  }
}
{
  "SaleToPOIRequest":{
    "MessageHeader":{
      "ProtocolVersion":"3.0",
      "MessageClass":"Service",
      "MessageCategory":"Payment",
      "MessageType":"Request",
      "ServiceID":"2307d64b8",
      "SaleID":"Demo",
      "POIID":"P400Plus-275040710"
    },
    "PaymentRequest":{
      "SaleData":{
        "SaleTransactionID":{
          "TransactionID":"TID-2018-07-23-21:43:03",
          "TimeStamp":"2018-07-23T21:43:03"
        },
        "SaleReferenceID":"TID-2018-07-23-21:43:03",
        "SaleToAcquirerData":""
      },
      "PaymentTransaction":{
        "AmountsReq":{
          "Currency":"BRL",
          "RequestedAmount":12000
        },
        "TransactionConditions":{
          "DebitPreferredFlag":false
        }
      }
    },
    "PaymentData":{
      "PaymentType":"Instalment",
      "Instalment":{
        "InstalmentType":"EqualInstalments",
        "SequenceNumber":1,
        "Period":1,
        "PeriodUnit":"Monthly",
        "TotalNbOfPayments":12
      }
    }
  }
}

Card payment from Standalone terminal

The flow for a card payment in Brazil from a payment terminal operating in Standalone mode is as follows:

  1. On the payment terminal, the amount due is shown.
  2. The shopper inserts or swipes their card.
  3. The terminal shows a prompt to select debit or credit.
  4. If credit is selected, the terminal shows a prompt to select paying the total amount or paying in installments.
  5. If installments is selected, the terminal shows a prompt to enter and confirm the number of installments.
  6. The shopper enters their PIN or signature.
  7. When the transaction is approved, the merchant receipt and the shopper receipt are printed (in that order).

Reconciling installments

The first installment is immediately charged to the shopper's credit card, and all future installments will be charged automatically.
You receive the funds for each installment as it is settled. There is a settlement delay of 30 days.

We also offer advancements if you need funds sooner. There is an additional fee for this service. Contact your Adyen Account Manager for details.

For more information on how installments are settled and reconciled in Brazil, see Reconcile installment payments.