This page is for our old Classic API
/authorise integration. If you are integrating using our Checkout APIs, refer to the Pix documentation instead.
Learn about pricing and the shopper journey for Pix.
Pix is a payment method for instant direct bank transfers in Brazil, which is built and owned by the Central Bank (Banco Central) and operated by Brazilian banks, digital accounts, and wallets.
Shoppers can pay with Pix when shopping online. The money is sent directly from the shopper account to Adyen's account, and then transferred once a day to the merchant's bank account.
With Pix, the payment flow is as follows:
- The shopper chooses to pay with Pix on your website or app.
- Your website or app shows a QR code or QR code data for the shopper to copy.
- The shopper opens their banking or wallet app participating in Pix.
- The shopper selects Pix, scans the QR code or pastes QR code data, and then confirms the payment.
Before approving the payment, Pix checks if the transaction follows the regulations of the Central Bank. If approved, the amount is transferred in real-time from the shopper's account to Adyen.
Note that the merchant needs to have a local entity in Brazil to accept Pix payments.
|Payment type||Payment flow||Countries||Currencies||Recurring||Refunds||Partial refunds||Separate
|Online banking||Additional action||BR||BRL||
Before you begin
These instructions explain how to add Pix to an old Classic API-only integration. If you haven't done the old Classic API integration yet, build one of our most recent online payments integration.
Before starting your Pix integration, add Pix in your test Customer Area.
Build your payment form
To show Pix in your payment form, you need to:
Show Pix as an available payment method.
We provide a Pix logo which you can use on your payment form. For more information, refer to Downloading logos.
After the shopper selects Pix, collect the following details from the shopper:
Pass the following data to your server:
- Payment method type: pix.
- Data collected from your shopper in the previous step, if any.
Make a payment
From your server, make an /authorise request with the following parameters:
||Set to pix.|
||The final price of the purchase.|
||The shopper's CPF or CNPJ number.|
||Free-text field that will be shown to the shopper. By default this contains the message: $merchantName - Este pagamento PIX para $merchantName é processado por Adyen. If you provide any value, keep the length under 60 characters because this will be appended to the default message.|
||The expiration date and time of the Pix payment. The default value is 24 hours. The maximum value is 5 days. Format: ISO 8601; YYYY-MM-DDThh:mm:ssTZD.|
||The number of purchased items.|
||The name of the purchased item. Maximum 50 characters.|
||The price of the purchased item. Maximum 200 characters.|
You need to send both
socialSecurityNumber because this information will be shown to the shopper to help identify the payment.
The response contains the following:
pspReference: Our unique reference for the payment.
additionalData: Contains the QR code and QR code data.
Before approving the payment, Pix performs the following checks:
- The shopper has sufficient funds in their transactional account.
- The transaction time did not exceed the maximum time defined by the Central Bank.
- There is no suspicion of fraud or breach of regulations to prevent money laundering and terrorist financing.
- There is no authentication problems in the shopper's financial or payment institution transactional account.
- The shopper has not been excluded from their institution participating in Pix.
Adyen or the acquirer bank can reject the transaction in the following cases:
- Suspicion of fraud or breach of regulations to prevent money laundering and terrorist financing.
- Technical issue in the Pix ecosystem.
Present the QR code or QR code data
Use the information in the
additionalData object of the /authorise response to render the QR code or present the QR code data to the shopper.
pix.expirationDate: The date and time when the payment expires.
pix.qrCodeData: QR code contents. Use this to render the QR code or present as-is so they can copy it.
pix.qrcode: A link to render or download the QR Code.
The shopper can either scan the QR code, or copy it to paste to their banking or wallet app.
After the shopper scans the QR code and completes the payment, you will receive the result of the payment asynchronously in a webhook event.
Here's an example of a standard webhook event you might receive.
For more information, refer to Webhooks.
Match the original and the paid amount
With Pix, shoppers can manually modify the amount they pay in their banking or wallet app after scanning the QR code or pasting the QR code data. Make sure to implement some business logic that matches
amount.value. If the actual paid amount doesn't match the original amount, we recommend that you cancel the payment and make a refund.
Test and go live
Pix is an asynchronous payment method. In the test environment, you can simulate a Pix payment by promoting the pending payment to a sale.
- Log in to your test Customer Area.
- Go to Transactions > Offers.
- Select the PSP reference of the pending Pix payment.
- Select the Promote this offer to a sale button.
Pix payments that have been paid (including test offers that you manually promoted to sale) are under Transactions > Payments.
Test the reconciliation process by promoting test payments from offer to sale in your test Customer Area.