Approved payment (card)
Charge an amount ending in
00 with an approved card (...1111).
Expect: transaction paid, webhook transaction.paid.Declined payment (card)
Repeat with a decline card (
...1002 = CARD_DECLINED).
Expect: transaction refused, webhook transaction.refused, and your UI handling the error.Retryable failure (card)
Use
...2001 (PROCESSING_ERROR).
Expect: a failure that allows retry — validate your retry flow.PIX that pays itself
Create a PIX with an amount ending in
07 (e.g., R$ 100,07).
Expect: waiting_payment → paid after the delay; webhook transaction.paid.PIX/boleto that expires
Use an amount ending in
17.
Expect: waiting_payment → expires/cancels; handle the expiration.Pending state (manual)
Use an amount ending in
27 (or manual mode), then click Simulate Payment in the dashboard.
Expect: full control over the waiting_payment → paid transition whenever you choose.Refund
Refund an approved payment via
POST /transactions/{id}/refund.
Expect: refund processed, refund webhook, transaction status updated.Chargeback
On an approved card payment, open the dispute (amount
...31 or via dashboard) and force the
outcome won/lost.
Expect: transaction in chargeback, wallet debit, dispute defense flow.End-to-end webhooks
Confirm your endpoint receives and validates the signature for each event above.
See Webhooks.
Handled approval, decline, retry, PIX, expiration, refund, and chargeback? Your integration is
ready for production. Swap the base URLs and API key and you’re good to go.

