Sandbox (Payments)
Only available for Biometric Pix Payment Intents
At present, the Sandbox (Payments) environment is only applicable for Payments Intents for Belvo's Biometric Pix product.
Our payments sandbox allows you to interact with our Payments API in a controlled environment so that you can prototype your payments integration.
Resource availability
Our sandbox environment currently supports the following res
Resource | Supported in Sandbox |
---|---|
Payment Institutions | Yes |
Customers | Yes |
Bank Accounts | Yes |
Payment Intents | Yes - but only for biometric pix payments |
Payment Links | No |
Transactions | Yes |
Payment Intent flows
Our payments sandbox allows you to test various payment scenarios and understand how different outcomes are handled within our system. This environment mimics real-world interactions for testing purposes, including successful payments, failures due to insufficient funds, and more.
Currently, our sandbox environment does not support scheduled or recurring payments.
🤩 Success
To simulate a successful payment:
- Create a payment intent with an
amount
between1
and100
. - Make a
/payments/br/payment-intents/{id}/authorize/
request with the required request body. - The payment intent and charge statuses will update to
SUCCEEDED
, and webhooks will be sent to notify of the success. - A transaction will be created, and a corresponding webhook will be sent.
🙁 Failed - Insufficient Funds
To simulate a failure due to insufficient funds:
- Create a payment intent with an
amount
between101
and200
. - Make a
/payments/br/payment-intents/{id}/authorize/
request with the required request body. - The payment intent and charge statuses will be updated to
FAILED
, and webhooks will be sent.- The
failure_code
will indicate the reason asinsufficient_funds
.
- The
🙁 Failed - Consent Rejected
To simulate a failure due to rejected consent:
- Create a payment intent with an
amount
between201
and300
. - Make a
/payments/br/payment-intents/{id}/authorize/
request with the required request body. - The payment intent and charge statuses will be updated to
FAILED
, and webhooks will be sent.- The
failure_code
will indicate the reason asconsent_rejected
.
- The
🙁 Failed - Server Error (Payment Expires)
To simulate a failure due to a server error with payment expiration:
- Create a payment intent with an
amount
between301
and400
. - Make a
/payments/br/payment-intents/{id}/authorize/
request with the required request body.- You will receive a 500
server_error
. The payment intent and associated charges will remain in thePENDING
state.
- You will receive a 500
- After 5 minutes, the payment intent and charge statuses will be updated to
FAILED
, and webhooks will be sent.- The
failure_code
will indicate anconsent_expired
.
- The
🙁 Failed - Payment Expired
To simulate a payment expiration:
- Create a payment intent with any
amount
. - Wait for 5 minutes without making an authorization request.
- The payment intent and charge statuses will be updated to
FAILED
, and webhooks will be sent.- The
failure_code
will indicateconsent_expired
.
- The
Updated 23 days ago