Skip to main content

Successful Charges

For charges that should be approved and credited, use one of the following CPF documents:

Example - Successful Charge

Rejected Charges

To test a rejected charge, use the following CPF document:

Example - Rejected Charge

Error Simulation

To simulate a 400 error response, use the following CPF document:

Example - Error Response

Request
Response (400)

Testing Flow

1

Choose test scenario

Decide whether to test a successful charge, rejection, or error response
2

Select test document

Choose the appropriate CPF document from the tables above
3

Create charge

Use the Create Charge endpoint with the test document
4

Monitor status

Check the charge status using webhooks or the Get Unique Charge endpoint
5

Verify completion

Confirm the charge reaches the expected final status

Best Practices

Sandbox Environment: Always use test documents in the sandbox environment. These documents are specifically configured for testing purposes.
Unique Invoice: Always use a unique invoice ID for each charge to avoid duplicates and ensure proper tracking.

Common Test Scenarios

Document: 58713371126Expected Flow: Created → Paid → CreditedExpected Result: Charge approved and credited successfully
Document: 90836247060Expected Flow: Created → RejectedExpected Result: Charge rejected with reason “The payment was made from an unauthorized institution.”
Document: 76145193026Expected Response: 400 Bad RequestExpected Result: Error message “Failed to send payin to processor”

Charge Status Flow

Successful Flow

After creating a charge with a successful test document, the charge will go through:
1

Created

Initial status - Charge created and awaiting payment
2

Paid

Payment received from payer
3

Credited

Amount credited to your account ✓

Rejection Flow

After creating a charge with the rejection test document, the charge will go through:
1

Created

Initial status - Charge created and awaiting payment
2

Rejected

Charge rejected with specific reason ✗

Testing Boleto Payments

For boleto payments, the testing flow is different. After creating a boleto charge, you need to make an additional request to simulate the payment.

Boleto Testing Process

1

Create boleto charge

Use the Create Charge endpoint with payment_method: "boleto"
2

Get our_number

Extract the our_number from the boleto creation response
3

Simulate payment

Make a POST request to v1/payin/payments/pay/{our_number} to simulate the boleto payment
4

Monitor status

The charge will follow: Created → Paid → Credited

Boleto Payment Simulation

To simulate a boleto payment and achieve the “Credited” status:
Replace {our_number} with the actual our_number value from your boleto creation response.
Important: This endpoint only simulates the status change (Created → Paid → Credited). It does not calculate interest, fines, or discounts configured in the boleto.

Example - Complete Boleto Flow

  1. Create Boleto Charge:
  1. Extract our_number from response (example: "our_number": "991763554947")
  2. Simulate Payment:
  1. Expected Status Flow: Created → Paid → Credited

Important Notes

Successful Documents

2 approved documentsUse these CPF numbers for charges that complete successfully

Rejection Document

1 rejection documentUse this CPF to test rejection handling

Error Document

1 error documentUse this CPF to test error responses
Production Environment: Never use these test documents in production. They are only valid in the sandbox environment.

Create Charge

Create a new payin charge

Charge Status

Understanding charge status flow

Rejection Reasons

Common rejection reasons and solutions

About Charges

Learn about payin charges