Um método de pagamento é a conta bancária que você (ou seu usuário) registra para que os fundos possam ser retirados dela. Para retirar fundos do método de pagamento, você precisará criar uma solicitação de pagamento.

Usando Importações em Lote?
Se você estiver usando nosso recurso de Importações em Lote, nós criamos automaticamente o método de pagamento durante o processo.

# Fluxo do Método de Pagamento

Quando você cria um método de pagamento, ele passará pelo seguinte fluxo para ser:

- `active`: A instituição financeira confirma os detalhes da conta bancária e você pode recuperar fundos dela.
- `error`: A instituição financeira não pôde confirmar a conta bancária e você não pode recuperar fundos dela.


# Criar um método de pagamento

Você pode criar um método de pagamento usando:

- Dashboard
- API
- Importações em Lote


Importações em Lote e Métodos de Pagamento
Se você estiver usando nossa funcionalidade de Importações em Lote, o Método de Pagamento é criado automaticamente. Para mais informações, consulte nosso artigo dedicado a Importação em Massa de Pagamentos por Débito Direto.

## Via o painel

Para criar um método de pagamento usando nosso painel:

1. No seu painel de Débito Direto:
  1. Vá para **Métodos de Pagamento**.
  2. Clique em **Criar**.
2. No pop-up **Criar Método de Pagamento**;
  1. Selecione o **Cliente** ao qual este método de pagamento se refere.
  2. Selecione o **Banco** onde a conta do cliente está localizada.
  3. Selecione o tipo de **Conta**: **Poupança** para uma conta CLABE, ou **Cartão de Débito** para um número de cartão de débito.
  4. Forneça o identificador da conta: se você selecionou **Poupança**, insira o **CLABE** do cliente; se você selecionou **Cartão de Débito**, insira o **número do cartão de débito**.
  5. Forneça sua **Referência** interna para este método de pagamento.
  6. Clique em **Criar**.



Sucesso
Agora você precisará obter o Consentimento do seu usuário para que a conta seja debitada. Para mais informações, consulte nosso artigo dedicado ao Consentimento.

## Via a API

Para criar um método de pagamento usando nossa API, você só precisa fazer uma solicitação POST para Criar um método de pagamento com o seguinte payload:


```json
{
  "customerId": "0d1a377b-b4c5-4a94-9e2e-83e59d1f6a9c",
  "accountType": "savings",
  "accountNumber": "445566790",
  "bank": "mx_bancoppel",
  "reference": "SAVINGS_445566790"
}
```

| Parâmetro | Tipo | Obrigatório | Descrição | Exemplo |
|  --- | --- | --- | --- | --- |
| `customerId` | string (uuid) | Sim | O ID gerado pela Belvo para o cliente. | `0d1a377b-b4c5-4a94-9e2e-83e59d1f6a9c` |
| `accountType` | string (enum) | Sim | O tipo de conta bancária ou cartão. Pode ser `savings` (uma conta CLABE) ou `debit_card` (um número de cartão de débito). | `savings` |
| `accountNumber` | string | Sim | O número da conta bancária ou do cartão de débito. Para `savings`, forneça o número da conta CLABE; para `debit_card`, forneça o número do cartão de débito. | `"445566790"` |
| `bank` | string (enum) | Sim | A instituição financeira onde a conta bancária está mantida. Para uma lista completa de instituições disponíveis, consulte nosso artigo dedicado a Instituições. | `mx_bancoppel` |
| `reference` | string | Sim | Sua referência interna para o método de pagamento. | `SAVINGS_445566790` |


`checking` tipo de conta obsoleto
O valor `checking` (também visto como `checkings`) para `accountType` está obsoleto e não deve mais ser usado. Use `savings` para uma conta CLABE ou `debit_card` para um número de cartão de débito.

Sucesso
Agora você precisará obter o Consentimento do seu usuário para que a conta seja debitada. Para mais informações, consulte nosso artigo dedicado a Consentimento.

# Status dos Métodos de Pagamento

No diagrama abaixo, fornecemos os status pelos quais um método de pagamento pode passar. Se você implementou webhooks, receberá uma notificação para os status indicados em roxo.


```mermaid
stateDiagram-v2
    classDef pending fill:#ADD8E6,color:#000,stroke:none
    classDef success fill:#2E8B57,color:#fff,stroke:none
    classDef failed fill:#CC3300,color:#fff,stroke:none
    classDef cancelled fill:#FFA500,color:#fff,stroke:none

    [*] --> pending_agreement_acceptance
    [*] --> active
    pending_agreement_acceptance --> pending_activation
    pending_agreement_acceptance --> active
    pending_agreement_acceptance --> [*] : Se o usuário não aceitar o acordo
    pending_activation --> waiting_for_activation_response
    waiting_for_activation_response --> active
    waiting_for_activation_response --> error
    active --> inactive : Se a conta bancária não estiver mais ativa
    active --> [*]
    error --> [*]
    inactive --> [*]

    class pending_agreement_acceptance,pending_activation,waiting_for_activation_response pending
    class active success
    class error failed
    class inactive cancelled

    note right of active
        Webhook: payment_method_registration_successful
    end note
    note right of error
        Webhook: payment_method_registration_failed
    end note
    note right of inactive
        Webhook: payment_method_registration_canceled
    end note
```

## States

#### `initial`

Estado inicial quando o método de pagamento é criado.

| Transições para | Acionador/Evento |
|  --- | --- |
| - `pending_agreement_acceptance`

 | - Acordo do método de pagamento enviado ao cliente

 |


#### `pending_agreement_acceptance`

O método de pagamento está pendente de confirmação pelo cliente. Isso pode ser feito enviando um acordo gerado pelo nosso recurso de API de Agreements.

| Transições para | Acionador/Evento |
|  --- | --- |
| - `pending_activation`- `active`- Estado final - sem transições adicionais

 | - O cliente aceita o método de pagamento e é enviado para a instituição financeira para confirmação- (Parceiro Otimizado) Método de pagamento confirmado pelo banco- O usuário não aceita o acordo

 |


#### `pending_activation`

O método de pagamento está programado para ser enviado à instituição financeira para ser confirmado.

| Transições para | Acionador/Evento |
|  --- | --- |
| - `pending_activation_response`

 | - O método de pagamento é enviado à instituição financeira.

 |


#### `pending_activation_response`

A instituição financeira está avaliando o método de pagamento.

| Transições para | Disparo/Evento |
|  --- | --- |
| - `active`- `error`

 | - Método de pagamento confirmado pela instituição financeira- Instituição financeira retorna erro (por exemplo, conta bancária não existe)

 |


#### `active`

O método de pagamento está ativo e os fundos podem ser retirados.

**Nota**: O status pode mudar para `inactive` se o proprietário cancelar ou remover o método de pagamento dentro de sua instituição financeira.

| Transições para | Disparo/Evento |
|  --- | --- |
| Estado final - sem mais transições (veja a nota acima sobre o estado `inactive`). | - 
 |


#### `error`

A instituição financeira não conseguiu confirmar o registro da conta bancária (geralmente devido ao proprietário fornecer informações incorretas da conta bancária ou um erro na instituição financeira). O método de pagamento não pode ser usado.

| Transições para | Disparador/Evento |
|  --- | --- |
| Estado final - sem transições adicionais | - 
 |


#### `inactive`

O cliente cancelou sua conta bancária ou removeu seu acordo para o método de pagamento dentro de sua instituição financeira. O método de pagamento não pode ser usado.

| Transições para | Acionador/Evento |
|  --- | --- |
| Estado final - sem transições adicionais | - 
 |