---
title: "Complete a payment intent"
method: PATCH
path: "/payments/br/payment-intents/{id}/"
tags: ["Payment Intents (Brazil)"]
---

# Complete a payment intent

`PATCH /payments/br/payment-intents/{id}/`

Complete a new payment intent.

## Path parameters

- `id` string, uuid, required

## Request body

- union
  - PatchPaymentIntentPixKeys
    - `confirm` boolean, required — Boolean that indicates whether this request confirms the payment intent. Must be set to `true` to confirm the payment intent.
  - PatchPaymentIntentOfpi
    - `payment_method_details` object, required — Object containing additional required fields for the payment intent flow.
      - `open_finance` object, required
        - `payer_institution` string, uuid — Belvo's unique ID for the payer’s institution.
        - `beneficiary_bank_account` string, uuid — Belvo's unique ID for the beneficiary bank account.
    - `confirm` boolean — Boolean that indicates whether this request confirms the payment intent.

## Response `200`

OK (Confirmed)

- union
  - PaymentIntentPixKeys
    - `id` string, uuid, required — Belvo's unique identifier for the current item.
    - `customer` string, uuid, required — Belvo's unique ID for the customer related to this payment intent.
    - `external_id` string, uuid — An additional unique identifier for the resource for internal purposes. {% admonition type="success" name="Highly Recommended" %} We recommend using this field to store your own unique identifier for each resource (customer, bank account, payment intent, or enrollment). This can be useful for tracking the resource in your system and for debugging purposes. {% /admonition %}
    - `created_at` string, date-time, required — The ISO-8601 timestamp of when the data point was created in Belvo's database.
    - `created_by` string, uuid, required — The unique ID for the user that created this item.
    - `updated_at` string, date-time, nullable, required — The ISO-8601 timestamp of when the payment intent was last updated.
    - `status` 'REQUIRES_PAYMENT_METHOD' | 'REQUIRES_ACTION' | 'SUCCEEDED' | 'PROCESSING' | 'FAILED', required — The current status of the payment intent.
    - `amount` string, required — Amount to be paid by your customer.
    - `currency` 'BRL', required — The currency of the amount paid, for example, `BRL` (Brazilian Real).
    - `description` string, required — The description of the payment.
    - `statement_description` string — A description that will appear on the customer's bank statement (recommended). > **Note**: If you do not use the `statement_description` parameter, the `description` value will be used as the statement description.
    - `selected_payment_method_type` 'open_finance' | 'open_finance_biometric_pix', required — Selected payment method type. For 🇧🇷 Brazil's OFPI, can be either: - `open_finance`: For regular payments. - `open_finance_biometric_pix`: For biometric payments using the PIX network.
    - `allowed_payment_method_types` string[], required — A list of payment method types allowed in this payment intent. For OFPI, the value will be `open_finance`.
    - `payment_method_details` union, required — Details about the Pix Key payment method.
      - PaymentIntentPaymentMethodDetailsIndividualPixKeys — Details about the Pix Key payment method.
        - `open_finance` PaymentIntentPaymentMethodDetailsBodyIndividualPixKeys, required — Payment method type selected.
          - `pix_key` string, required — The Pix key associated with the beneficiary of the transaction. Can be an email, phone number (including the country code, for example `+5511999998888`), CPF/CNPJ, or a random key. {% admonition type="info" name="Pix Key Masking" %} In the case that the provided Pix Key is a CPF, email address, or phone number, value in `payment_method_details.open_finance.pix_key` will be masked. If it is a CNPJ or random Pix Key UUID, the value will not be masked. {% /admonition %}
          - `payer_institution` string, uuid, required — Belvo's unique ID to reference the payer's institution.
          - `callback_url` string, required — The callback URL that your user will be redirected to after confirming the payment in their banking application.
          - `cpf` string, nullable — The customer's CPF number. Provided when available; this value is obfuscated in responses.
          - `schedule` union — Details regarding the scheduled payment (optional). For more information on how to schedule payments, please see our dedicated <a href="https://developers.belvo.com/docs/ofpi-scheduled-payments" target="_blank">OFPI Scheduled Payments</a> guide.
            - object, nullable — Details regarding the scheduled (one-off) payment.
              - …
            - object — Details regarding the daily recurring payment.
              - …
            - object — Details regarding the weekly recurring payment.
              - …
            - object — Details regarding the monthly recurring payment.
              - …
            - object — Details regarding the custom recurring payment.
              - …
      - PaymentIntentPaymentMethodDetailsBusinessPixKeys — Details about the Pix Key payment method.
        - `open_finance` PaymentIntentPaymentMethodDetailsBodyBusinessPixKeys, required — Payment method type selected.
          - `pix_key` string, required — The Pix key associated with the beneficiary of the transaction. Can be an email, phone number (including the country code, for example `+5511999998888`), CPF/CNPJ, or a random key. {% admonition type="info" name="Pix Key Masking" %} In the case that the provided Pix Key is a CPF, email address, or phone number, value in `payment_method_details.open_finance.pix_key` will be masked. If it is a CNPJ or random Pix Key UUID, the value will not be masked. {% /admonition %}
          - `payer_institution` string, uuid, required — Belvo's unique ID to reference the payer's institution.
          - `schedule` union — Details regarding the scheduled payment (optional). For more information on how to schedule payments, please see our dedicated <a href="https://developers.belvo.com/docs/ofpi-scheduled-payments" target="_blank">OFPI Scheduled Payments</a> guide.
            - object, nullable — Details regarding the scheduled (one-off) payment.
              - …
            - object — Details regarding the daily recurring payment.
              - …
            - object — Details regarding the weekly recurring payment.
              - …
            - object — Details regarding the monthly recurring payment.
              - …
            - object — Details regarding the custom recurring payment.
              - …
          - `callback_url` string, required — The callback URL that your user will be redirected to after confirming the payment in their banking application.
          - `cpf` string, nullable, required — The customer's CPF number. Provided when available; this value is obfuscated in responses.
    - `payment_method_information` union, required — Information about the Pix Key payment method. At the time of payment intent creation, it will only include the `open_finance.pix_key_details` property, which you need to show your user to confirm that their details are correct (see the **Initial** schema). After they confirm their details in your application and you send through the PATCH request, this object will be populated with additional properties (see the **Confirmed** schema).
      - PaymentMethodInformationPixKeysInitial — Information about the Pix Key payment method at the time of payment intent creation. It will only include the `pix_key_details` property, which you need to show your user to confirm that their details are correct. After they confirm and you send through the PATCH request, this object will be populated with additional properties (see the **Confirmed** schema).
        - `open_finance` object
          - `pix_key_details` object — Details about the Pix Key used for the payment. You need to display this information to your user for them to confirm that the details are correct. After they confirm, you can send a PATCH request to confirm the Payment Intent.
            - `identifier` string — The masked identifier of the owner.
            - `name` string — The name of the Pix Key holder.
      - PaymentMethodInformationPixKeysConfirmed — Information about the Pix Key payment method after the payment intent has been confirmed via a PATCH request.
        - `open_finance` object
          - `provider_request_id` string, nullable — Unique ID for the payment, as sent by the provider.
          - `redirect_url` string, nullable — The URL that redirects the payer to their institution's website to authorize the payment.
          - `end_to_end_id` string, nullable — A unique ID for the transaction in the Brazil's PIX payment system.
          - `settlement_date` string, date — The `settlement_date` field indicates the date on which a scheduled payment (charge) is planned to be settled. This field is relevant in various states of the charge's lifecycle: - Scheduled Charges: When a charge has the status `SCHEDULED`, this field represents the planned settlement date. - Completed Charges: When a charge has the status `SUCCEEDED`, this field reflects the date that the payment was made. - Failed or Canceled Charges: When a charge has the status `CANCELED` or `FAILED`, this field will still contain the originally calculated settlement date, indicating when the charge was intended to be settled. > **Note**: The `settlement_date` does not change based on the success or failure of the charge. It consistently reflects the original planned settlement date.
          - `pix_key_details` object — Details about the Pix key used for the payment.
            - `identifier` string — The masked identifier of the owner.
            - `name` string — The name of the Pix key holder.
    - `failure_code` string, nullable, required — Error code that explains the reason behind a payment being unsuccessful (if applicable).
    - `failure_message` string, nullable, required — Further information regarding the `failure_code`.
    - `metadata` object — Optional and customizable object where you can provide any additional key-value pairs for your internal purposes. For example, an internal reference number. ⚠️ **Note**: You can only provide up to 50 keys (keys can have up to 50 characters each and each value can be up to 500 characters). We do not support nested objects, only ASCII values.
    - `charges` ChargeBrazilPix[] — An array of charge objects related to this payment intent. If no charges are associated, we return an empty array.
      - `id` string, uuid, required — Belvo's unique identifier for the current item.
      - `created_at` string, date-time, required — The ISO-8601 timestamp of when the data point was created in Belvo's database.
      - `updated_at` string, date-time, nullable, required — The ISO-8601 timestamp of when the status of the charge was last updated.
      - `created_by` string, uuid — The unique ID for the user that created this item.
      - `customer` string, uuid — Belvo's unique ID for the customer that the charge was created for.
      - `payment_intent` string, uuid — The `payment_intent.id` associated with this charge.
      - `status` 'CANCELED' | 'PENDING' | 'SCHEDULED' | 'SUCCEEDED' | 'FAILED' | 'PARTIAL', required — The current status of the charge. Can be one of the following values: - `CANCELED` - `PENDING` - `SCHEDULED` - `SUCCEEDED` - `FAILED` - `PARTIAL`
      - `amount` string, nullable, required — The amount of the charge.
      - `currency` 'BRL' — The currency of the amount paid. For 🇧🇷 Brazil, the value must be `BRL` (Brazilian Real).
      - `description` string — The description of the payment.
      - `statement_description` string — The description that will appear on the customer's bank statement (if provided).
      - `beneficiary` string, uuid, nullable, required — Belvo's unique ID used to identify the beneficiary’s bank account. In the case that the beneficiary is a Pix Key, this field will be `null`.
      - `provider` 'belvo', required — **Note**: This field has been deprecated and will be removed from the API in the future. *The provider used for the payment link.*
      - `payment_method_type` 'open_finance' — Selected payment method type. For 🇧🇷 Brazil's OFPI, the value must be `open_finance`.
      - `payment_method_details` ChargePaymentMethodDetailsPix, required — Details about the payment method.
        - `open_finance` ChargePaymentMethodDetailsPixContent — Information about the payer of a Pix payment.
          - `payer_institution` string, uuid — Unique identifier for the payer's institution.
          - `pix_key` string — The Pix key associated with the beneficiary of the transaction. Can be an email, phone number, CPF/CNPJ, or a random key.
          - `schedule` union — Details regarding the scheduled payment (optional). For more information on how to schedule payments, please see our dedicated <a href="https://developers.belvo.com/docs/ofpi-scheduled-payments" target="_blank">OFPI Scheduled Payments</a> guide.
            - object, nullable — Details regarding the scheduled (one-off) payment.
              - …
            - object — Details regarding the daily recurring payment.
              - …
            - object — Details regarding the weekly recurring payment.
              - …
            - object — Details regarding the monthly recurring payment.
              - …
            - object — Details regarding the custom recurring payment.
              - …
      - `payment_method_information` PaymentMethodInformationPixKeysConfirmed, required — Information about the Pix Key payment method after the payment intent has been confirmed via a PATCH request.
        - `open_finance` object
          - `provider_request_id` string, nullable — Unique ID for the payment, as sent by the provider.
          - `redirect_url` string, nullable — The URL that redirects the payer to their institution's website to authorize the payment.
          - `end_to_end_id` string, nullable — A unique ID for the transaction in the Brazil's PIX payment system.
          - `settlement_date` string, date — The `settlement_date` field indicates the date on which a scheduled payment (charge) is planned to be settled. This field is relevant in various states of the charge's lifecycle: - Scheduled Charges: When a charge has the status `SCHEDULED`, this field represents the planned settlement date. - Completed Charges: When a charge has the status `SUCCEEDED`, this field reflects the date that the payment was made. - Failed or Canceled Charges: When a charge has the status `CANCELED` or `FAILED`, this field will still contain the originally calculated settlement date, indicating when the charge was intended to be settled. > **Note**: The `settlement_date` does not change based on the success or failure of the charge. It consistently reflects the original planned settlement date.
          - `pix_key_details` object — Details about the Pix key used for the payment.
            - `identifier` string — The masked identifier of the owner.
            - `name` string — The name of the Pix key holder.
      - `payer_information` ChargePayerInformation — Information about the ChargePayerInformation.yaml
        - `bank_account` object — Information about the payer's bank account.
          - `type` string — The type of the payer's bank account. Can be either `CHECKINGS`, `SAVINGS`, or `PAYMENTS`.
          - `agency` string — The agency number of the payer's bank account.
          - `number` string — The account number of the payer's bank account.
          - `institution_id` string, uuid — The Belvo institution ID of the payer's bank account.
      - `transactions` unknown
      - `failure_code` string, nullable, required — Error code that explains the reason behind a payment being unsuccessful (if applicable).
      - `failure_message` string, nullable, required — Further information regarding the `failure_code`.
      - `metadata` object, required — Optional and customizable object where you can provide any additional key-value pairs for your internal purposes. For example, an internal reference number. ⚠️ **Note**: You can only provide up to 50 keys (keys can have up to 50 characters each and each value can be up to 500 characters). We do not support nested objects, only ASCII values.
    - `provider` 'belvo', required — **Note**: This field has been deprecated and will be removed from the API in the future. *The provider used for the payment link.*
    - `last_error` LastErrorPaymentError, required — Information about the error you ran into in the previous step of the payment intent, if applicable. This error can occur when something unexpected happened during the payment intent process.
      - `error_code` string, required — A unique error code (`payment_error`) that allows you to classify and handle the error programmatically.
      - `error_message` string, required — A short description of the error.
    - `next_step` union, required — **Note**: This field has been deprecated and will be removed from the API in the future. *Object detailing the next steps you should follow for a specific `next_step` type.*
      - NextStepDisplayPaymentMethodInformation — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_payment_method_information` DisplayPaymentMethodInformationContentOfpi — Object detailing what payment method information you need to display.
          - `institutions` PaymentInstitution[] — An array of institution objects.
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`, you need to confirm the payment by making a PATCH request sending through `confirm: true`.
      - NextStepNeedsRedirect — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_needs_redirect` NeedsRedirectContent — Details regarding the payer institution.
          - `payer_institution` PaymentInstitution
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`, you need to confirm the payment by making a PATCH request sending through `confirm: true`.
      - NextStepDisplayConfirmationRequiredOfpi — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_confirmation_required` DisplayConfirmationRequiredOfpi — Object detailing the next steps you should follow for a specific `next_step` type.
          - `beneficiary_bank_account` BeneficiaryBankAccountOfpi
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `created_at` string, date-time, required — The ISO-8601 timestamp of when the data point was created in Belvo's database.
            - `created_by` string, uuid, required — The unique ID for the user that created this item.
            - `institution` PaymentInstitution, required
              - …
            - `details` union
              - …
            - `holder` HolderResponseOfpi, required — Details regarding the bank account holder.
              - …
          - `payer_name` string — The name of the payer.
          - `payer_identifier` string — The payer's ID.
          - `payer_institution` PaymentInstitution
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`, you need to confirm the payment by making a PATCH request sending through `confirm: true`.
      - NextStepDisplayPaymentProcessing — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_payment_processing` DisplayPaymentProcessing — Details regarding the payer institution.
          - `payer_institution` PaymentInstitution
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`, you need to confirm the payment by making a PATCH request sending through `confirm: true`.
      - NextStepDisplayPaymentSucceeded — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_payment_succeeded` DisplayPaymentSucceeded — Details regarding the payer institution.
          - `payer_institution` PaymentInstitution
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`, you need to confirm the payment by making a PATCH request sending through `confirm: true`.
      - NextStepDisplayPaymentFailed — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_payment_failed` DisplayPaymentFailed — Details regarding the payer institution.
          - `payer_institution` PaymentInstitution
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`,you need to confirm the payment by making a PATCH request sending through `confirm: true`.
  - PaymentIntentOfpi
    - `id` string, uuid, required — Belvo's unique identifier for the current item.
    - `customer` string, uuid, required — Belvo's unique ID for the customer related to this payment intent.
    - `external_id` string, uuid — An additional unique identifier for the resource for internal purposes. {% admonition type="success" name="Highly Recommended" %} We recommend using this field to store your own unique identifier for each resource (customer, bank account, payment intent, or enrollment). This can be useful for tracking the resource in your system and for debugging purposes. {% /admonition %}
    - `created_at` string, date-time, required — The ISO-8601 timestamp of when the data point was created in Belvo's database.
    - `created_by` string, uuid, required — The unique ID for the user that created this item.
    - `updated_at` string, date-time, nullable, required — The ISO-8601 timestamp of when the payment intent was last updated.
    - `status` 'REQUIRES_PAYMENT_METHOD' | 'REQUIRES_ACTION' | 'SUCCEEDED' | 'PROCESSING' | 'FAILED', required — The current status of the payment intent.
    - `amount` string, required — Amount to be paid by your customer.
    - `currency` 'BRL', required — The currency of the amount paid, for example, `BRL` (Brazilian Real).
    - `description` string, required — The description of the payment.
    - `statement_description` string — A description that will appear on the customer's bank statement (recommended). > **Note**: If you do not use the `statement_description` parameter, the `description` value will be used as the statement description.
    - `selected_payment_method_type` 'open_finance' | 'open_finance_biometric_pix', required — Selected payment method type. For 🇧🇷 Brazil's OFPI, can be either: - `open_finance`: For regular payments. - `open_finance_biometric_pix`: For biometric payments using the PIX network.
    - `allowed_payment_method_types` string[], required — A list of payment method types allowed in this payment intent. For OFPI, the value will be `open_finance`.
    - `payment_method_details` union, required — Details about the OFPI payment method.
      - PaymentIntentPaymentMethodDetailsIndividualOfpi — Details about the OFPI payment method.
        - `open_finance` PaymentIntentPaymentMethodDetailsBodyIndividualOfpi, required — Payment method type selected.
          - `beneficiary_bank_account` string, uuid, required — Belvo's unique ID used to identify the beneficiary's bank account.
          - `payer_institution` string, uuid, required — Belvo's unique ID to reference the payer's institution.
          - `schedule` union — Details regarding the scheduled payment (optional). For more information on how to schedule payments, please see our dedicated <a href="https://developers.belvo.com/docs/ofpi-scheduled-payments" target="_blank">OFPI Scheduled Payments</a> guide.
            - object, nullable — Details regarding the scheduled (one-off) payment.
              - …
            - object — Details regarding the daily recurring payment.
              - …
            - object — Details regarding the weekly recurring payment.
              - …
            - object — Details regarding the monthly recurring payment.
              - …
            - object — Details regarding the custom recurring payment.
              - …
          - `callback_url` string, required — The callback URL that your user will be redirected to after confirming the payment in their banking application.
          - `cpf` string, nullable — The customer's CPF number. Provided when available; this value is obfuscated in responses.
      - PaymentIntentPaymentMethodDetailsBusinessOfpi — Details about the OFPI payment method.
        - `open_finance` PaymentIntentPaymentMethodDetailsBodyBusinessOfpi, required — Payment method type selected.
          - `beneficiary_bank_account` string, uuid, required — Belvo's unique ID used to identify the beneficiary's bank account.
          - `payer_institution` string, uuid, required — Belvo's unique ID to reference the payer's institution.
          - `schedule` union — Details regarding the scheduled payment (optional). For more information on how to schedule payments, please see our dedicated <a href="https://developers.belvo.com/docs/ofpi-scheduled-payments" target="_blank">OFPI Scheduled Payments</a> guide.
            - object, nullable — Details regarding the scheduled (one-off) payment.
              - …
            - object — Details regarding the daily recurring payment.
              - …
            - object — Details regarding the weekly recurring payment.
              - …
            - object — Details regarding the monthly recurring payment.
              - …
            - object — Details regarding the custom recurring payment.
              - …
          - `callback_url` string, required — The callback URL that your user will be redirected to after confirming the payment in their banking application.
          - `cpf` string, nullable, required — The customer's CPF number. Provided when available; this value is obfuscated in responses.
    - `payment_method_information` PaymentMethodInformationOfpi, required — Information about the payment method selected.
      - `open_finance` PaymentMethodInformationBodyOfpi — Payment method type selected.
        - `provider_request_id` string, nullable — Unique ID for the payment, as sent by the provider.
        - `redirect_url` string, nullable — The URL that redirects the user to their institution's website to authorize the payment.
        - `end_to_end_id` string, nullable — A unique ID for the transaction in the Brazil's PIX payment system.
        - `settlement_date` string, date — The `settlement_date` field indicates the date on which a scheduled payment (charge) is planned to be settled. This field is relevant in various states of the charge's lifecycle: - Scheduled Charges: When a charge has the status `SCHEDULED`, this field represents the planned settlement date. - Completed Charges: When a charge has the status `SUCCEEDED`, this field reflects the date that the payment was made. - Failed or Canceled Charges: When a charge has the status `CANCELED` or `FAILED`, this field will still contain the originally calculated settlement date, indicating when the charge was intended to be settled. > **Note**: The `settlement_date` does not change based on the success or failure of the charge. It consistently reflects the original planned settlement date.
    - `failure_code` string, nullable, required — Error code that explains the reason behind a payment being unsuccessful (if applicable).
    - `failure_message` string, nullable, required — Further information regarding the `failure_code`.
    - `metadata` object — Optional and customizable object where you can provide any additional key-value pairs for your internal purposes. For example, an internal reference number. ⚠️ **Note**: You can only provide up to 50 keys (keys can have up to 50 characters each and each value can be up to 500 characters). We do not support nested objects, only ASCII values.
    - `charges` ChargeBrazil[] — An array of charge objects related to this payment intent. If no charges are associated, we return an empty array.
      - `id` string, uuid, required — Belvo's unique identifier for the current item.
      - `created_at` string, date-time, required — The ISO-8601 timestamp of when the data point was created in Belvo's database.
      - `updated_at` string, date-time, nullable, required — The ISO-8601 timestamp of when the status of the charge was last updated.
      - `created_by` string, uuid — The unique ID for the user that created this item.
      - `customer` string, uuid — Belvo's unique ID for the customer that the charge was created for.
      - `payment_intent` string, uuid — The `payment_intent.id` associated with this charge.
      - `status` 'CANCELED' | 'PENDING' | 'SCHEDULED' | 'SUCCEEDED' | 'FAILED' | 'PARTIAL', required — The current status of the charge. Can be one of the following values: - `CANCELED` - `PENDING` - `SCHEDULED` - `SUCCEEDED` - `FAILED` - `PARTIAL`
      - `amount` string, nullable, required — The amount of the charge.
      - `currency` 'BRL' — The currency of the amount paid. For 🇧🇷 Brazil, the value must be `BRL` (Brazilian Real).
      - `description` string — The description of the payment.
      - `statement_description` string — The description that will appear on the customer's bank statement (if provided).
      - `beneficiary` string, uuid, required — Belvo's unique ID used to identify the beneficiary’s bank account.
      - `provider` 'belvo', required — **Note**: This field has been deprecated and will be removed from the API in the future. *The provider used for the payment link.*
      - `payment_method_type` 'open_finance' — Selected payment method type. For 🇧🇷 Brazil's OFPI, the value must be `open_finance`.
      - `payment_method_details` ChargePaymentMethodDetailsOfpi, required — Details about the payment method.
        - `open_finance` ChargePaymentMethodDetailsOfpiContent — Information about the payer of a OFPI payment.
          - `schedule` union — Details regarding the scheduled payment (optional). For more information on how to schedule payments, please see our dedicated <a href="https://developers.belvo.com/docs/ofpi-scheduled-payments" target="_blank">OFPI Scheduled Payments</a> guide.
            - object, nullable — Details regarding the scheduled (one-off) payment.
              - …
            - object — Details regarding the daily recurring payment.
              - …
            - object — Details regarding the weekly recurring payment.
              - …
            - object — Details regarding the monthly recurring payment.
              - …
            - object — Details regarding the custom recurring payment.
              - …
          - `payer_institution` string, uuid — Unique identifier for the payer's institution.
          - `beneficiary_bank_account` string, uuid — Belvo's unique ID used to identify the beneficiary's bank account.
      - `payment_method_information` PaymentMethodInformationOfpi, required — Information about the payment method selected.
        - `open_finance` PaymentMethodInformationBodyOfpi — Payment method type selected.
          - `provider_request_id` string, nullable — Unique ID for the payment, as sent by the provider.
          - `redirect_url` string, nullable — The URL that redirects the user to their institution's website to authorize the payment.
          - `end_to_end_id` string, nullable — A unique ID for the transaction in the Brazil's PIX payment system.
          - `settlement_date` string, date — The `settlement_date` field indicates the date on which a scheduled payment (charge) is planned to be settled. This field is relevant in various states of the charge's lifecycle: - Scheduled Charges: When a charge has the status `SCHEDULED`, this field represents the planned settlement date. - Completed Charges: When a charge has the status `SUCCEEDED`, this field reflects the date that the payment was made. - Failed or Canceled Charges: When a charge has the status `CANCELED` or `FAILED`, this field will still contain the originally calculated settlement date, indicating when the charge was intended to be settled. > **Note**: The `settlement_date` does not change based on the success or failure of the charge. It consistently reflects the original planned settlement date.
      - `payer_information` ChargePayerInformation — Information about the ChargePayerInformation.yaml
        - `bank_account` object — Information about the payer's bank account.
          - `type` string — The type of the payer's bank account. Can be either `CHECKINGS`, `SAVINGS`, or `PAYMENTS`.
          - `agency` string — The agency number of the payer's bank account.
          - `number` string — The account number of the payer's bank account.
          - `institution_id` string, uuid — The Belvo institution ID of the payer's bank account.
      - `transactions` PaymentTransaction[] — An array of Transaction objects relating to the charge.
        - `id` string, uuid, required — Belvo's unique identifier for the current item.
        - `created_at` string, date-time, required — The ISO-8601 timestamp of when the data point was created in Belvo's database.
        - `created_by` string, uuid, required — The unique ID for the user that created this item.
        - `amount` string, required — The transaction amount. **Note**: The amount displayed is always positive as we indicate the direction of the transaction in `transaction_type` parameter.
        - `currency` 'BRL', required — The currency of the amount paid, for example, `BRL` (Brazilian Real).
        - `description` string, required — The description of the payment.
        - `transaction_type` 'INFLOW' | 'OUTFLOW', required — The direction of the transaction. - `INFLOW` indicates money coming into the account. - `OUTFLOW` indicates money coming out of the account.
        - `beneficiary` string, uuid, required — Belvo's unique ID used to identify the beneficiary's bank account.
        - `payer` unknown, required
        - `payment_intent` string, uuid — The unique ID of the payment intent associated with the transaction.
        - `customer` string, uuid — Belvo's unique ID for the customer asscociated with this transaction.
      - `failure_code` string, nullable, required — Error code that explains the reason behind a payment being unsuccessful (if applicable).
      - `failure_message` string, nullable, required — Further information regarding the `failure_code`.
      - `metadata` object, required — Optional and customizable object where you can provide any additional key-value pairs for your internal purposes. For example, an internal reference number. ⚠️ **Note**: You can only provide up to 50 keys (keys can have up to 50 characters each and each value can be up to 500 characters). We do not support nested objects, only ASCII values.
    - `provider` 'belvo', required — **Note**: This field has been deprecated and will be removed from the API in the future. *The provider used for the payment link.*
    - `last_error` LastErrorPaymentError, required — Information about the error you ran into in the previous step of the payment intent, if applicable. This error can occur when something unexpected happened during the payment intent process.
      - `error_code` string, required — A unique error code (`payment_error`) that allows you to classify and handle the error programmatically.
      - `error_message` string, required — A short description of the error.
    - `next_step` union, required — **Note**: This field has been deprecated and will be removed from the API in the future. *Object detailing the next steps you should follow for a specific `next_step` type.*
      - NextStepDisplayPaymentMethodInformation — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_payment_method_information` DisplayPaymentMethodInformationContentOfpi — Object detailing what payment method information you need to display.
          - `institutions` PaymentInstitution[] — An array of institution objects.
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`, you need to confirm the payment by making a PATCH request sending through `confirm: true`.
      - NextStepNeedsRedirect — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_needs_redirect` NeedsRedirectContent — Details regarding the payer institution.
          - `payer_institution` PaymentInstitution
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`, you need to confirm the payment by making a PATCH request sending through `confirm: true`.
      - NextStepDisplayConfirmationRequiredOfpi — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_confirmation_required` DisplayConfirmationRequiredOfpi — Object detailing the next steps you should follow for a specific `next_step` type.
          - `beneficiary_bank_account` BeneficiaryBankAccountOfpi
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `created_at` string, date-time, required — The ISO-8601 timestamp of when the data point was created in Belvo's database.
            - `created_by` string, uuid, required — The unique ID for the user that created this item.
            - `institution` PaymentInstitution, required
              - …
            - `details` union
              - …
            - `holder` HolderResponseOfpi, required — Details regarding the bank account holder.
              - …
          - `payer_name` string — The name of the payer.
          - `payer_identifier` string — The payer's ID.
          - `payer_institution` PaymentInstitution
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`, you need to confirm the payment by making a PATCH request sending through `confirm: true`.
      - NextStepDisplayPaymentProcessing — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_payment_processing` DisplayPaymentProcessing — Details regarding the payer institution.
          - `payer_institution` PaymentInstitution
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`, you need to confirm the payment by making a PATCH request sending through `confirm: true`.
      - NextStepDisplayPaymentSucceeded — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_payment_succeeded` DisplayPaymentSucceeded — Details regarding the payer institution.
          - `payer_institution` PaymentInstitution
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`, you need to confirm the payment by making a PATCH request sending through `confirm: true`.
      - NextStepDisplayPaymentFailed — Object detailing the next steps you should follow for a specific `next_step` type.
        - `type` 'open_finance_display_payment_method_information' | 'open_finance_display_confirmation_required' | 'open_finance_display_needs_redirect' | 'open_finance_display_payment_processing' | 'open_finance_display_payment_succeeded' | 'open_finance_display_payment_failed' — The type of `next_step` you need to follow.
        - `open_finance_display_payment_failed` DisplayPaymentFailed — Details regarding the payer institution.
          - `payer_institution` PaymentInstitution
            - `id` string, uuid, required — Belvo's unique identifier for the current item.
            - `active` boolean, required — Indicates whether this institution is available for use or not.
            - `name` string, required — The name of the institution, as designated by Belvo.
            - `display_name` string, required — The customer-facing name of the institution.
            - `legal_entity_name` string, nullable, required — The name of the legal entity of the institution, as registered with the relevant regulatory authority. Only applicable for 🇧🇷 Brazil OFPI.
            - `website` string, required — The URL of the institution's website.
            - `logo` string, required — The URL of the institution's logo.
            - `icon_logo` string, required — The URL of the institution's icon logo.
            - `text_logo` string, required — The URL of the institution's text logo.
            - `primary_color` string, required — The primary color on the institution's website.
            - `country` 'BRA' | 'null', nullable, required — The customer's country of residence. - BRA (🇧🇷 Brazil)
            - `form_fields` union[], required
              - …
            - `sort_priority` integer, required — Number that represents the order in which the institution should be displayed in an application, with `1` being the highest.
            - `description` string, nullable, required — A brief description of the insitution.
        - `ready_to_confirm` boolean — Boolean that indicates whether the payment intent is ready to be confirmed. **Note:** When set to `true`,you need to confirm the payment by making a PATCH request sending through `confirm: true`.

## Other responses

- `400` — Validation Error
- `401` — Unauthorized
- `403` — Access to Belvo API denied
- `404` — Not Found Error
- `408` — Request Timeout
- `500` — Unexpected Error

---

[API](https://skmtc.net/belvo/apis/belvo-api-docs.md) · [All operations](https://skmtc.net/belvo/apis/belvo-api-docs/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/belvo/belvo-api-docs/versions/3423c786ece5/schema)
