Integration GuideAPI Reference
Integration Guide

"PIX" Payment Method

Payment Method Definition

📓

displayedPaymentMethods

displayedPaymentMethods defines which payment methods are shown to the payer on the Hosted Checkout form. It is the Hosted Checkout alternative to paymentMethodName, which is used in Host-to-Host integrations.

Provide this parameter in paymentIntent.formDetails.displayedPaymentMethods.

To make PIX available on the checkout form, include the PIX value. If PIX is the only value in the array, the payment-method selection step is skipped and the payer is taken directly to the PIX flow.


Payment Method Features

FeatureValue
CountryBrazil
Processing CurrenciesBRL
PaymentsYes
-- Min per transaction amount0.10 BRL, unless another limit is defined in your contract
-- Max per transaction amount50,000.00 BRL, unless another limit is defined in your contract
RefundsFull & Partial
ChargebacksNo

Workflow

  1. Create an Intent with useCheckoutForm set to true and include PIX in paymentIntent.formDetails.displayedPaymentMethods.
  2. Receive the Hosted Checkout URL in paymentIntent.additionalData.url.
  3. Redirect the payer to the returned URL.
  4. The checkout form collects the payer information required for PIX, including the payer's name and valid CPF or CNPJ details.
  5. The platform creates a PIX payment and displays its QR code and PIX Copy and Paste value on the checkout form.
  6. The payer scans the QR code or copies the PIX payload into a PIX-enabled banking or wallet application and confirms the transfer.
  7. Wait for the payment webhook. Treat the payment as successful only when its status becomes CAPTURED.
⚠️

The synchronous Intent response confirms that the Hosted Checkout session was created. It does not create a successful PIX payment and does not confirm that the payer completed the transfer.

The initial response contains the URL of the 8B Hosted Checkout form, not the PIX Copy and Paste payload. PIX payment data is created and displayed later, inside the checkout flow.


Create Intent Request

Specifics

  • We use one unified Intent creation request for all supported payment methods: POST /processing/api/v1/intents.
  • The overall structure is the same, but some fields change depending on the integration type: Host-to-Host or Hosted Checkout.
    • For Host-to-Host, complete the Payment object.
    • For Hosted Checkout, complete the PaymentIntent object.
  • For PIX Hosted Checkout:
    • Set useCheckoutForm to true.
    • Provide paymentIntent instead of payments.
    • Include PIX in paymentIntent.formDetails.displayedPaymentMethods.
    • Do not send paymentMethodName, paymentInstrument, or PIX incomingDetails in the initial Intent request.
    • The Hosted Checkout form collects the payer's name and CPF or CNPJ details before creating the PIX payment.
    • paymentIntent.submittedAmount.currency can be BRL or another supported currency when FX conversion is enabled. The PIX payment itself is authorised in BRL.
    • Provide a meaningful paymentIntent.description. It is used as the payment reason or order title when the PIX payment is created. Generic or missing transaction context may negatively affect payment conversion.
    • Provide paymentIntent.webhookUrl and wait for payment status updates instead of treating the Intent creation response as confirmation of payment.

'Intent' vs 'Payment' vs 'PaymentIntent'

Some objects and parameters in this API may appear similar, but they represent different concepts and are used in different integration scenarios. The explanation below clarifies the purpose of each term.

TermMeaning
Intent
  • A universal top-level container for transaction-related operations.
  • Depending on the integration scenario, it may contain objects such as Payment, PaymentIntent, or other transaction types.
Payment
  • Used in Host-to-Host integrations.
  • You provide the payment method, payment instrument, amount, currency, and payer details upfront because the payment flow is handled on your side.
  • For PIX Host-to-Host, the synchronous response contains the PIX Copy and Paste payload and QR image.
PaymentIntent
  • Used in Hosted Checkout integrations.
  • It contains the order details and checkout configuration, but not the full PIX payment instrument data.
  • The actual Payment object is created later, when the payer provides the required information and starts the PIX payment on the checkout form.
  • Multiple payment attempts may occur within one Intent. Each attempt follows the rules and configuration defined in the corresponding PaymentIntent.

Request/Response Description

Request Description

{
  "clientReferenceId": "order-20260909-0001",
  "useCheckoutForm": true,
  "paymentIntent": {
    "formDetails": {
      "displayedPaymentMethods": ["PIX"],
      "backToStoreRedirectUrl": "https://merchant.example.com/orders/order-20260909-0001"
    },
    "submittedAmount": {
      "value": 100.00,
      "currency": "BRL"
    },
    "description": "Order 20260909-0001",
    "webhookUrl": "https://merchant.example.com/webhooks/payments"
  }
}
Top-Level Request Parameters
ParameterTypeRequiredDescription
clientReferenceIdStringRequiredOrder or Intent reference in the merchant system.
useCheckoutFormBooleanConditionalOptional in the general Intent contract. Must be set to true when using Hosted Checkout.
paymentIntentObjectConditionalOptional in the general Intent contract. Must be provided when using Hosted Checkout. Do not send a payments array for the flow described on this page.
descriptionStringOptionalIntent-level order description. It can be used as a fallback outside the PIX-specific paymentIntent.description contract.
merchantObjectOptionalMerchant information. Provide it when merchant details must be associated with the Intent or displayed on the checkout form according to your configuration.
paymentIntent
ParameterTypeRequiredDescription
formDetailsObjectRequiredCheckout-form configuration. Required for 8B Hosted Checkout.
submittedAmountObjectRequiredOrder amount and submitted currency.
authorizationAmountObjectOptionalAuthorisation amount and currency when these are supplied explicitly under an agreed FX flow. For PIX, the authorisation currency must be BRL. Do not send this object unless the FX flow is enabled for you.
descriptionStringRequiredMeaningful payment reason or order title. The value is used when the checkout creates the PIX payment.
webhookUrlStringRequiredHTTPS URL to which payment status change webhooks for payments created within the Intent will be sent.
formDetails
ParameterTypeRequiredDescription
templateStringOptionalName of a checkout template configured for the settlement account. If omitted, the default template is used.
displayedPaymentMethodsArray of StringsConditionalInclude PIX to make PIX available on the checkout form. If only PIX is provided, the payment-method selection step is skipped. If omitted, the form shows the methods available under the account configuration.
backToStoreRedirectUrlStringOptionalHTTPS URL to which the payer can return after leaving or completing the checkout flow. The Back to Store control is unavailable when this parameter is omitted.
submittedAmount
ParameterTypeRequiredDescription
valueNumberRequiredSubmitted order amount. The applicable PIX limit is normally from 0.10 to 50,000.00 BRL unless another limit is defined in your contract.
currencyStringRequiredSubmitted currency in ISO 4217 alpha-3 format. Use BRL when no FX conversion is required. Another supported currency may be used when FX is enabled.
authorizationAmount
ParameterTypeRequiredDescription
valueNumberRequiredExplicit PIX authorisation amount. Supply it only as part of an agreed FX flow.
currencyStringRequiredAuthorisation currency in ISO 4217 alpha-3 format. For PIX, the value must be BRL.
merchant
ParameterTypeRequiredDescription
nameStringOptionalStore name that may be displayed on the checkout form when this presentation is configured.
websiteStringOptionalMerchant website associated with the Intent.

PIX Checkout Experience

📘

The payer completes all PIX-specific steps on the 8B Hosted Checkout form. The merchant must redirect the payer to paymentIntent.additionalData.url; the merchant does not render the PIX QR code or Copy and Paste payload in this integration.

The checkout flow must request and validate the information required to create a PIX payment:

InformationCheckout behaviour
Payer first nameCollected on the checkout form and used to create the PIX payment.
Payer last nameCollected on the checkout form and used to create the PIX payment.
Document typeThe payer selects CPF or CNPJ.
Document numberThe payer provides a valid number matching the selected document type. CPF contains 11 digits and CNPJ contains 14 digits, excluding standard formatting punctuation.
EmailOptional. Collected only when required by the configured checkout experience.
PhoneOptional. Collected only when required by the configured checkout experience.

After the payment is created, the checkout form displays both representations of the same PIX payment:

  • a QR code for scanning from another device;
  • a PIX Copy and Paste value for use in a PIX-enabled banking or wallet application.

The payer must not modify the PIX payload, amount, CRC, or any other character in the Copy and Paste value.


Payment Statuses

StatusMeaningMerchant action
AUTHORIZATION_REQUESTEDThe PIX payment was created and is waiting for the payer to complete the transfer.Wait for a webhook. Do not fulfil the order.
CAPTUREDThe PIX transfer was successfully completed.Fulfil the order.
DECLINEDThe payment was rejected.Do not fulfil the order. The payer may start another attempt while the checkout session remains active.
CANCELLEDThe payment was cancelled or expired before completion.Do not fulfil the order.
ERRORA technical or processing error prevented the payment from completing.Do not fulfil the order. Use the error fields for diagnostics and allow another attempt only when appropriate.
⚠️

A checkout session and a PIX payment have separate lifecycles. paymentIntent.additionalData.expirationDateTime describes the checkout session lifetime. A PIX payment created during that session has its own payment status and may expire independently.


Refunds

PIX payments completed through Hosted Checkout support the same refund flow as PIX payments created through Host-to-Host integration.

  • A refund can be created only after the PIX payment reaches CAPTURED.
  • Use the payment id received through the payment webhook or retrieved from the Intent or Payment API.
  • Create the refund with POST /api/v1/refunds.
  • Full and partial refunds are returned to the original PIX payment source.
  • Refund processing is asynchronous. Treat it as successful only when the refund reaches REFUNDED.

Webhooks

🔗

Payment status notifications

  • The platform sends payment webhooks to paymentIntent.webhookUrl whenever the status of a PIX payment created within the checkout session changes.
  • The synchronous Intent response only creates the checkout session. Fulfil the order only after receiving a payment with status CAPTURED.
  • A payer may make multiple payment attempts during the checkout session lifetime. Correlate each webhook by its platform payment ID and correlate the overall checkout flow by the Intent ID.
  • Webhooks may be delivered more than once. Process them idempotently.
  • If a webhook is delayed or missed, retrieve the Intent or Payment by ID to reconcile the latest state.

For more information about payment webhooks, see the dedicated page.


Did this page help you?