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

> ## Agent Instructions
> Responda em português brasileiro, na segunda pessoa ("você"), com base na documentação Malga.
> Não invente endpoints, parâmetros, status codes ou comportamentos de API. Se não estiver na docs, diga que não encontrou e indique a página mais próxima.
> Use os headers X-Client-Id e X-Api-Key nos exemplos de autenticação.
> Motor de Assinaturas refere-se a /v1/subscriptions* (cycles, trial, retentativas, webhooks subscription.*). Não chame de "motor de recorrência".
> Recorrência (provedor) é paymentMethod.recurrence em POST /v1/charges (initial / subsequent / unscheduled), distinto do Motor de Assinaturas.
> Sandbox é ambiente de testes e não afeta produção.

# Testando em Sandbox

É possível utilizar o provedor de sandbox da Malga para o controle dos resultados de transações de teste com retornos de antifraude. Este controle é feito através do documento de identidade do `customer` enviado junto aos dados de `fraudAnalysis`.

O número da identidade pode ser gerado a partir de qualquer gerador de identidades, seguindo a seguinte regra:

| Documento            | Autorizado? | Status    | Declined Code                             |
| -------------------- | ----------- | --------- | ----------------------------------------- |
| Final 0              | NÃO         | Pendente  | Nulo                                      |
| Final 1              | SIM         | Aprovado  | Nulo                                      |
| Final 2              | NÃO         | Falha     | Aleatório `timeout` ou `processing_error` |
| Qualquer outro final | NÃO         | Reprovado | Nulo                                      |

<Info>
  Para simular o fluxo do antifraude assíncrono, use o **[endpoint de alteração
  de status de
  antifraude](/api-reference/charges/alterar-o-status-do-antifraude-no-ambiente-de-sandbox)**
  e observe as várias alterações possíveis de status na transação, dependendo
  das `options` cadastradas para o provedor.
</Info>

Para configurar seu provedor antifraude de sandbox você precisa criar um **merchant** utilizando o provedor de transação `"SANDBOX"` e o provedor antifraude `"ANTIFRAUD_SANDBOX"` e determinar o comportamento automático do antifraude utilizando as flags no objeto de `options`.

# Exemplo de criação de merchant com sandbox de antifraude

```bash theme={null}
curl --location --request POST 'https://api.dev.malga.io/v1/merchants' \
--header 'X-Client-Id: <YOUR_CLIENT_ID>' \
--header 'X-Api-Key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '
{
    "mcc": "4789",
    "providers": [
        {
            "name": "sandbox",
            "priority": 1,
            "credentials": {
                "type": "SANDBOX", // Sandbox transactions provider
                "apiKey": "<YOUR_API_KEY>"
            }
        },
        {
            "name": "antifraud_sandbox",
            "priority": 1,
            "credentials": {
                "type": "ANTIFRAUD_SANDBOX", // Sandbox anti-fraud provider
                "apiKey": "<YOUR_API_KEY>"
            },
            "options": {
                "type": "ANTIFRAUD",
                "captureOnError": false,
                "refundOnError": false,
                "captureOnApproved": true,
                "refundOnReproved": true
            }
        }
    ]
}'
```


## Related topics

- [Sobre as APIs da Malga](/api-reference/about-apis.md)
- [Webhooks v1.1](/documentations/webhooks/webhook1-1.md)
- [Pagamentos com Pix na Malga](/documentations/payment-methods/pix.md)
- [Primeiros passos](/documentations/welcome/primeiros-passos.md)
