> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wepayout.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Rejection Reasons

> Understanding payin rejection codes and error messages

# Rejection reasons payin

One of the most likely reasons for receiving a status code 400 in response to a request is compliance validation. In this scenario, the status will be set to false, indicating that the request was not fulfilled. Additionally, additional details will be provided to facilitate understanding of the error.

<Warning>
  **Message Field**: "Compliance validation error"

  **HTTP code**: 400
</Warning>

## Data Object

Upon receiving this error code, review the details provided in the Data object to understand the nature of the restriction and take appropriate action to correct the request:

* **Code**: Indicates the specific type of restriction that caused the error
* **Description**: Provides a brief description of the reason for the error

## Rejection Codes

<AccordionGroup>
  <Accordion title="restriction_overdue">
    **Code**: `restriction_overdue`

    **Description EN**: Rejected due to document restriction

    **Description PT-BR**: Rejeição devido a restrição de documento
  </Accordion>

  <Accordion title="restriction_underage">
    **Code**: `restriction_underage`

    **Description EN**: Rejected due to document restriction underage Brazilian law

    **Description PT-BR**: Rejeição devido a restrição de documento menor de idade pela lei brasileira
  </Accordion>

  <Accordion title="restriction_deceased_holder">
    **Code**: `restriction_deceased_holder`

    **Description EN**: Rejected due to document restriction deceased holder

    **Description PT-BR**: Rejeição devido a restrição de documento de falecido
  </Accordion>

  <Accordion title="restriction_canceled">
    **Code**: `restriction_canceled`

    **Description EN**: Rejected due to document restriction canceled document

    **Description PT-BR**: Rejeição devido a restrição de documento cancelado
  </Accordion>

  <Accordion title="restriction_unknown">
    **Code**: `restriction_unknown`

    **Description EN**: Rejected due to document restriction unknown document

    **Description PT-BR**: Rejeição devido a restrição de documento não encontrado na Receita Federal
  </Accordion>

  <Accordion title="restriction_pending_regularization">
    **Code**: `restriction_pending_regularization`

    **Description EN**: Rejected due to document restriction pending of regularization

    **Description PT-BR**: Rejeição devido a restrição de documento pendente de atualização
  </Accordion>

  <Accordion title="restriction_suspended">
    **Code**: `restriction_suspended`

    **Description EN**: Rejected due to document restriction suspended

    **Description PT-BR**: Rejeição devido a restrição de documento suspenso
  </Accordion>

  <Accordion title="restriction_partners_and_ownership">
    **Code**: `restriction_partners_and_ownership`

    **Description EN**: Rejected due to document restriction partners and ownership

    **Description PT-BR**: Rejeição devido a restrição de documento de sócios e titularidades
  </Accordion>

  <Accordion title="restriction_judicial_block">
    **Code**: `restriction_judicial_block`

    **Description EN**: Rejected due to document restriction judicial block

    **Description PT-BR**: Rejeição devido a restrição de documento bloqueio judicial
  </Accordion>

  <Accordion title="restriction_cpf_irregular">
    **Code**: `restriction_cpf_irregular`

    **Description EN**: Rejected due to document restriction

    **Description PT-BR**: Rejeição devido a restrição de documento
  </Accordion>

  <Accordion title="restriction_list_restrict">
    **Code**: `restriction_list_restrict`

    **Description EN**: Rejected due to document restriction

    **Description PT-BR**: Rejeição devido a restrição de documento
  </Accordion>

  <Accordion title="restriction_pep">
    **Code**: `restriction_pep`

    **Description EN**: Rejected due to document restriction PEP (Politically Exposed Person)

    **Description PT-BR**: Rejeição devido a restrição de documento PEP (Pessoa Politicamente Exposta)
  </Accordion>

  <Accordion title="restriction_age_above_limit">
    **Code**: `restriction_age_above_limit`

    **Description EN**: Rejected due to restriction age as per compliance policy

    **Description PT-BR**: Rejeição devido a restrição de idade conforme política de conformidade
  </Accordion>

  <Accordion title="restriction_ofac">
    **Code**: `restriction_ofac`

    **Description EN**: Rejected due to document restriction on OFAC list

    **Description PT-BR**: Rejeição devido a restrição de documento na lista do OFAC
  </Accordion>

  <Accordion title="restriction_interpol">
    **Code**: `restriction_interpol`

    **Description EN**: Rejected due to document restriction on INTERPOL list

    **Description PT-BR**: Rejeição devido a restrição de documento na lista da INTERPOL
  </Accordion>

  <Accordion title="restriction_onu">
    **Code**: `restriction_onu`

    **Description EN**: Rejected due to document restriction on ONU list

    **Description PT-BR**: Rejeição devido a restrição de documento na lista da ONU
  </Accordion>

  <Accordion title="restriction_euro">
    **Code**: `restriction_euro`

    **Description EN**: Rejected due to document restriction on EURO list

    **Description PT-BR**: Rejeição devido a restrição de documento na lista da EURO
  </Accordion>
</AccordionGroup>

## Error Response Example

```json theme={null}
{
  "status": false,
  "message": "Compliance validation error",
  "data": {
    "code": "restriction_underage",
    "description": "Rejected due to document restriction underage Brazilian law"
  }
}
```

## Handling Rejection Errors

<Steps>
  <Step title="Identify the Error Code">
    Check the `code` field in the response to identify the specific restriction type.
  </Step>

  <Step title="Review the Description">
    Read the `description` field to understand the reason for rejection.
  </Step>

  <Step title="Take Corrective Action">
    Based on the error code, take appropriate action:

    * Update document information
    * Verify customer age and eligibility
    * Check compliance requirements
    * Contact support if needed
  </Step>

  <Step title="Retry the Request">
    After correcting the issue, retry the payin creation request.
  </Step>
</Steps>

## Common Scenarios

<CardGroup cols={2}>
  <Card title="Underage Customer" icon="child" color="#EF4444">
    **Code**: `restriction_underage`

    **Solution**: Verify customer age. Brazilian law requires customers to be 18+ for financial transactions.
  </Card>

  <Card title="Invalid Document" icon="file-circle-xmark" color="#F59E0B">
    **Code**: `restriction_canceled` or `restriction_unknown`

    **Solution**: Verify document number is correct and valid with Brazilian Federal Revenue.
  </Card>

  <Card title="PEP Restriction" icon="user-shield" color="#8B5CF6">
    **Code**: `restriction_pep`

    **Solution**: Additional compliance checks required for Politically Exposed Persons.
  </Card>

  <Card title="Judicial Block" icon="gavel" color="#DC2626">
    **Code**: `restriction_judicial_block`

    **Solution**: Document has judicial restrictions. Customer must resolve legal issues.
  </Card>
</CardGroup>

## Best Practices

<Note>
  **Validate Documents Early**: Implement document validation before attempting to create a payin to provide better user experience.
</Note>

<Warning>
  **Compliance Requirements**: Always ensure customer documents are valid and comply with Brazilian regulations before processing transactions.
</Warning>

<Tip>
  **Error Handling**: Implement proper error handling to gracefully inform customers about rejection reasons and guide them on next steps.
</Tip>

## Related Resources

<CardGroup cols={2}>
  <Card title="Create Charge" icon="plus" href="/api-reference/cash-in/payin/create-charge">
    Learn how to create charges with proper validation
  </Card>

  <Card title="About Charges" icon="circle-info" href="/cash-in/about-charges">
    Understand the Payin solution and payment types
  </Card>
</CardGroup>
