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.
State | Description | Transitions to | Trigger/Event |
---|---|---|---|
Created & Confirmed | Initial 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_ACTION | The 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). |
PROCESSING | The 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. |
SCHEDULED | The payment intent is scheduled for processing. | - SCHEDULE_FINISHED - CANCELED | - Payment intent completes schedule payments - Payment intent is canceled. |
SCHEDULE_FINISHED | The 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) | - |
SUCCEEDED | The payment intent has been successfully processed. | (End state - no further transitions) | - |
CANCELED | The payment intent has been canceled. | (End state - no further transitions) | - |
FAILED | The 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
}
Parameter | Type | Description | Example |
---|---|---|---|
id | string | Belvo's unique identifier for the Payment Intent. | 0d3ffb69-f83b-456e-ad8e-208d0998d71d |
customer | string | Belvo's unique ID for the customer related to this Payment Intent. | 1c83ead8-6665-429c-a17a-ddc76cb3a95e |
created_at | string | The ISO-8601 timestamp of when the data point was created in Belvo's database. | 2022-02-09T08:45:50.406032Z |
created_by | string | Belvo's unique ID for the user that created this item. | bcef7f35-67f2-4b19-b009-cb38795faf09 |
updated_at | string | The ISO-8601 timestamp of when the Payment Intent was last updated. | 2022-02-09T08:45:50.406032Z |
status | string | The current status of the payment intent. Can be either: REQUIRES_PAYMENT_METHOD , REQUIRES_ACTION , PROCESSING , SUCCEEDED , or FAILED . | PROCESSING |
amount | string | Amount to be paid by your customer. | 1234.12 |
currency | string | The currency of the amount paid, for example, BRL (Brazilian Real). | BRL |
description | string | The description of the payment. | Training shoes |
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. | Super Shoe Store - Brown Sneakers |
selected_payment_method_type | string | Selected payment method type. For 🇧🇷 Brazil's OFPI, the value must be open_finance . | open_finance |
allowed_payment_method_types | array of strings | A list of payment method types allowed in this payment intent. For OFPI, the value will be open_finance . | ["open_finance"] |
payment_method_details | object | Details about the OFPI payment method. | See the payment_method_details section for details. |
payment_method_information | object | Information about the payment method selected. | See the payment_method_information section for details. |
failure_code | string | Error code that explains the reason behind a payment being unsuccessful (if applicable). | null |
failure_message | string | Further information regarding the failure_code. | null |
metadata | object | Additional metadata related to the transaction. | {internal_reference_id: "GGq73487w2"} |
charges | array | List of charges related to the transaction. | See the dedicated Charges Models and States article for details. |
payment_method_details (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_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.
Parameter | Type | Description | Example |
---|---|---|---|
beneficiary_bank_account | string | Belvo's unique ID used to identify the beneficiary's bank account. | a80d5a9d-20ae-479a-8dd7-ff3443bcbbfc |
payer_institution | string | Belvo's unique identifier for the payer's institution. | 600f1b4a-1ef9-4f89-b341-1a35f0c32cc0 |
callback_url | string | The callback URL that your user will be redirected to after confirming the payment in their banking application. | https://www.acmecorp.com/checkout/3487321 |
cpf | string | The customer's CPF number. Only required when the customer is a BUSINESS .> Note: This value is obfuscated. | 23******00 |
schedule | object | Details regarding the scheduled or recurring payment. |
payment_method_details (open_finance_biometric_pix)
{
"payment_method_details": {
"open_finance_biometric_pix": {
"beneficiary_bank_account": "a80d5a9d-20ae-479a-8dd7-ff3443bcbbfc",
"enrollment": "b7913fa0-6d72-4695-a0fe-dc2e5191a114"
}
}
}
{
"payment_method_details": {
"open_finance_biometric_pix": {
"beneficiary_bank_account": "a80d5a9d-20ae-479a-8dd7-ff3443bcbbfc",
"enrollment": "b7913fa0-6d72-4695-a0fe-dc2e5191a114",
"cpf": "23******00"
}
}
}
In the open_finance_biometric_pix
object of payment_method_details
, we provide you with details regarding the Biometric Pix payment intent.
Parameter | Type | Description | Example |
---|---|---|---|
beneficiary_bank_account | string | Belvo's unique ID used to identify the beneficiary's bank account. | a80d5a9d-20ae-479a-8dd7-ff3443bcbbfc |
enrollment | string | Belvo's unique identifier enrolled device. | b7913fa0-6d72-4695-a0fe-dc2e5191a114 |
schedule | object | Details regarding the scheduled or recurring payment. |
payment_method_information (open_finance)
{
"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.
Parameter | Type | Description | Example |
---|---|---|---|
provider_request_id | string | Unique ID for the payment, as sent by the provider. | 978c0c97ea847e78e8849634473c1f1 |
redirect_url | string | The URL that redirects the user to their institution's website to authorize the payment. | https://wakandanational.com/ |
end_to_end_id | string | A unique ID for the transaction in the Brazil's PIX payment system | F203262942022211117487a213b1d140 |
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. | 2024-10-22 |
payment_method_information (open_finance_biometric_pix)
{
"payment_method_information": {
"open_finance_biometric_pix": {
"provider_request_id": "978c0c97ea847e78e8849634473c1f1",
"fido_options": {
"allowCredentials": [
{
"id": "string",
"type": "public-key"
}
],
"challenge": "Y2hhbGxlbmdl",
"extensions": {
"additionalProp1": {}
},
"rpId": "belvo.com",
"timeout": 300000,
"userVerification": "required"
}
}
}
}
In the open_finance_biometric_pix
object of payment_method_information
, we provide you with details regarding the biometric payment within the Open Finance Network, including the fido_options
that you must pass to the Belvo Payments Web SDK.
Parameter | Type | Description | Example |
---|---|---|---|
provider_request_id | string | Unique ID for the payment, as sent by the provider. | 978c0c97ea847e78e8849634473c1f1 |
fido_options | object | Biometric challenge data that must be passed to the requestPaymentAuthorization method of the Belvo Payments Web SDK. |
Updated 5 days ago