Payment Intent (OFPI) Model and States

Reference information regarding the Payment Intent resource (Payments Brazil).

A Payment Intent in OFPI contains all the information required to process a payment in Brazil's Open FInance Network.

Payment Intent States

Below we outline the various states in the OFPI payment intent process, detailing the possible transitions between these states and describing the conditions under which these transitions occur. Please see the table below to get a comprehensive overview of each state and the flow of the payment intent process.

StateDescriptionTransitions toTrigger/Event
Created & ConfirmedInitial state when the payment intent is created and is confirmed by the user in the customer's flow.- REQUIRES_ACTION- Payment intent is created and confirmed.
REQUIRES_ACTIONThe payment intent requires further action.- PROCESSING
- FAILED
- Payment intent contains all required information
- Payment intent fails (for example, the user did not grant their consent in the banking application).
PROCESSINGThe payment intent is being processed.- SCHEDULED
- SUCCEEDED
- CANCELED
- FAILED
- Payment intent moves to scheduled state
- Payment intent is successfully processed
- Payment intent is canceled
- Payment intent fails.
SCHEDULEDThe payment intent is scheduled for processing.- SCHEDULE_FINISHED
- CANCELED
- Payment intent completes schedule payments
- Payment intent is canceled.
SCHEDULE_FINISHEDThe payment intent has finished the scheduled processing. Only used if not 100% of a schedule succeeded. Otherwise the final status is SUCCEEDED.(End state - no further transitions)-
SUCCEEDEDThe payment intent has been successfully processed.(End state - no further transitions)-
CANCELEDThe payment intent has been canceled.(End state - no further transitions)-
FAILEDThe payment intent has failed.(End state - no further transitions)-

Payment Intent Model

{
  "id": "0d3ffb69-f83b-456e-ad8e-208d0998d71d",
  "customer": "1c83ead8-6665-429c-a17a-ddc76cb3a95e",
  "created_at": "2022-02-09T08:45:50.406032Z",
  "created_by": "bcef7f35-67f2-4b19-b009-cb38795faf09",
  "updated_at": "2022-02-09T08:45:50.406032Z",
  "status": "PROCESSING",
  "amount": "1234.12",
  "currency": "BRL",
  "description": "Training shoes",
  "statement_description": "Super Shoe Store - Brown Sneakers",
  "selected_payment_method_type": "open_finance",
  "allowed_payment_method_types": [
    "open_finance"
  ],
  "payment_method_details": {
    "open_finance": {
      "beneficiary_bank_account": "a80d5a9d-20ae-479a-8dd7-ff3443bcbbfc",
      "payer_institution": "600f1b4a-1ef9-4f89-b341-1a35f0c32cc0",
      "callback_url": "https://www.acmecorp.com/checkout/3487321",
    }
  },
  "payment_method_information": {
    "open_finance": {
      "provider_request_id": "978c0c97ea847e78e8849634473c1f1",
      "redirect_url": "https://wakandanational.com/",
      "end_to_end_id": "F203262942022211117487a213b1d140",
      "settlement_date": "2024-10-22"
    }
  },
  "failure_code": null,
  "failure_message": null,
  "metadata": {
    "internal_reference_id": "GGq73487w2"
  },
  "charges": [] // See our dedicated charges article
}
ParameterTypeDescriptionExample
idstringBelvo's unique identifier for the Payment Intent.0d3ffb69-f83b-456e-ad8e-208d0998d71d
customerstringBelvo's unique ID for the customer related to this Payment Intent.1c83ead8-6665-429c-a17a-ddc76cb3a95e
created_atstringThe ISO-8601 timestamp of when the data point was created in Belvo's database.2022-02-09T08:45:50.406032Z
created_bystringBelvo's unique ID for the user that created this item.bcef7f35-67f2-4b19-b009-cb38795faf09
updated_atstringThe ISO-8601 timestamp of when the Payment Intent was last updated.2022-02-09T08:45:50.406032Z
statusstringThe current status of the payment intent. Can be either: REQUIRES_PAYMENT_METHOD, REQUIRES_ACTION, PROCESSING, SUCCEEDED, or FAILED.PROCESSING
amountstringAmount to be paid by your customer.1234.12
currencystringThe currency of the amount paid, for example, BRL (Brazilian Real).BRL
descriptionstringThe description of the payment.Training shoes
statement_descriptionstringA 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.
Super Shoe Store - Brown Sneakers
selected_payment_method_typestringSelected payment method type. For 🇧🇷 Brazil's OFPI, the value must be open_finance.open_finance
allowed_payment_method_typesarray of stringsA list of payment method types allowed in this payment intent. For OFPI, the value will be open_finance.["open_finance"]
payment_method_detailsobjectDetails about the OFPI payment method.See the payment_method_details section for details.
payment_method_informationobjectInformation about the payment method selected.See the payment_method_information section for details.
failure_codestringError code that explains the reason behind a payment being unsuccessful (if applicable).null
failure_messagestring Further information regarding the failure_code.null
metadataobjectAdditional metadata related to the transaction.{internal_reference_id: "GGq73487w2"}
chargesarrayList of charges related to the transaction.See the dedicated Charges Models and States article for details.

payment_method_details

{
  "payment_method_details": {
    "open_finance": {
      "beneficiary_bank_account": "a80d5a9d-20ae-479a-8dd7-ff3443bcbbfc",
      "payer_institution": "600f1b4a-1ef9-4f89-b341-1a35f0c32cc0",
      "callback_url": "https://www.acmecorp.com/checkout/3487321"
    }
  }
}

{
  "payment_method_details": {
    "open_finance": {
      "beneficiary_bank_account": "a80d5a9d-20ae-479a-8dd7-ff3443bcbbfc",
      "payer_institution": "600f1b4a-1ef9-4f89-b341-1a35f0c32cc0",
      "callback_url": "https://www.acmecorp.com/checkout/3487321",
      "cpf": "23******00"
    }
  }
}

In the open_finance object of payment_method_details, we provide you with details regarding the OFPI payment intent.

ParameterTypeDescriptionExample
beneficiary_bank_accountstringBelvo's unique ID used to identify the beneficiary's bank account.a80d5a9d-20ae-479a-8dd7-ff3443bcbbfc
payer_institutionstringBelvo's unique identifier for the payer's institution.600f1b4a-1ef9-4f89-b341-1a35f0c32cc0
callback_urlstringThe callback URL that your user will be redirected to after confirming the payment in their banking application.https://www.acmecorp.com/checkout/3487321
cpfstringThe customer's CPF number. Only required when the customer is a BUSINESS.

> Note: This value is obfuscated.
23******00
scheduleobjectDetails regarding the scheduled or recurring payment.

payment_method_information

{
  "payment_method_information": {
    "open_finance": {
      "provider_request_id": "978c0c97ea847e78e8849634473c1f1",
      "redirect_url": "https://wakandanational.com/",
      "end_to_end_id": "F203262942022211117487a213b1d140",
      "settlement_date": "2024-10-22"
    }
  }
}

In the open_finance object of payment_method_information, we provide you with details regarding the payment within the Open Finance Network.

ParameterTypeDescriptionExample
provider_request_idstringUnique ID for the payment, as sent by the provider.978c0c97ea847e78e8849634473c1f1
redirect_urlstringThe URL that redirects the user to their institution's website to authorize the payment.https://wakandanational.com/
end_to_end_idstringA unique ID for the transaction in the Brazil's PIX payment systemF203262942022211117487a213b1d140
settlement_datestring (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.
2024-10-22