Error Codes Reference
This page consolidates every error and rejection code the WEpayments API can return, in one place. Each code is machine-readable and stable: use the code in your integration logic and treat the description as informational only, since the text may change.Codes are returned at two different moments:
- When the request is sent — the API answers with an HTTP error and nothing is created. You can fix the request and send it again.
- After the transaction is created — the API answers
201and the transaction is later canceled or rejected during processing. The reason is delivered in thestatus_detailobject of the webhook and in the transaction resource.
HTTP status codes
All endpoints use standard HTTP status codes. The table below applies to every product (payout, payin, account, data qualification).Response formats
- 422 Validation error
- 400 Compliance (payin)
- 422 with code (account endpoints)
Returned by every endpoint when a field is invalid. Each field can carry more than one message.
Payout status detail codes
Returned after a payout is created, when it ends as Canceled (6) or Rejected (4). The code is delivered in status_detail.code of the payout webhook and the description in rejection_description when you get the payout.
- After fix — send a new payout after correcting the data indicated.
- Later — the condition is temporary; send a new payout later.
- No — compliance or policy decision; a new payout will be canceled again.
Beneficiary and bank data
Pix
Compliance and antifraud
When a compliance check needs manual review, the payout is not canceled: it goes to In Review (
5) until the review is finished. See Payout Status Flow.Balance and limits
Account restrictions
Duplicates and cancellations
Payin restriction codes (request time)
Returned with HTTP400 and message: "Compliance validation error" when the payer document fails a compliance check at charge creation. The code is in data.code.
Descriptions in Portuguese and handling guidance are available in Rejection reasons payin.
Payin status detail codes (webhook)
Returned instatus_detail.code of the payin webhook when a Pix charge ends as Rejected. These codes are only sent when the “Account Mismatch” functionality is enabled for the merchant.
CPF Mismatch codes
Returned by the CPF Mismatch feature when the document of the person paying or receiving does not match the account holder.QR Code decode errors
Returned by Decode QR Code and by Create Payment withpayment_method: QRCODE.
Account and webhook configuration codes
Returned with HTTP422 by the webhook setup and related endpoints, in the code field of each error.
Data Qualification statuses
Statuses returned by the Data Qualification service, used to validate bank account data before sending payouts.Handling errors in your integration
1
Request refused (HTTP 4xx/5xx)
Nothing was created. For
422, read every field in errors; for 400 on payin, read data.code; for 503, honor Retry-After. Fix and resend.2
Transaction canceled or rejected after creation
Read
status_detail.code from the webhook or the transaction resource. Use the tables above to decide whether to correct data and send a new transaction, wait, or stop.3
Never retry on the description
Implement rules on the code only. Descriptions are localized and may change without notice.
4
Use a new invoice for retries
When a payout ends as Canceled, Failed or Rejected, a new
invoice is required for the retry. The only exception is Invalid Data (11), which may be resubmitted with the same invoice after correcting the data.Related Resources
Rejection reasons payout
Detailed guidance and scenarios for each payout code
Rejection reasons payin
Payin compliance codes with descriptions in English and Portuguese
Payout Status Flow
Lifecycle of a payout and its statuses
Webhooks
Signature, retries and payloads of the status notifications

