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

# Fluxos fiat para clientes

> Use a identidade de um cliente existente para saques fiat, ordens de pagamento e contas virtuais. O cliente deve estar ativo e pertencer à empresa autenticada. Omitir customerId mantém o fluxo empresarial; o onboarding do cliente não habilita uma integração empresarial ausente.

Use a identidade de um cliente existente para saques fiat, ordens de pagamento e contas virtuais. O cliente deve estar ativo e pertencer à empresa autenticada. Omitir customerId mantém o fluxo empresarial; o onboarding do cliente não habilita uma integração empresarial ausente.

## Identidade e sessões

Inicie saques com customerId em rates e depósitos com customerId na cotação. Envie sessionId nas solicitações seguintes; o servidor herda o cliente. Um customerId repetido deve corresponder. Mudar cliente, rota, rede ou dados de roteamento exige uma nova sessão. A descoberta de ativos, moedas e meios de depósito não aceita customerId.

## Sacar fiat

Rates, métodos de pagamento, requisitos, resolução, cotação e execução aceitam customerId opcional. Cotações e execuções de endereços filhos também aceitam. Os saques v1 legados aceitam quando o DTO inclui o contexto do cliente. Noah e Infinia atualmente suportam a identidade do cliente; a API não a substitui pela identidade empresarial.

```http theme={null}
GET /v2/wallets/{walletId}/withdraw/fiat/rates?assetId={assetId}&currency=USD&amount=100&amountSide=target&customerId={customerId}
```

## Resolução do método

Quando a resolução retornar status: requires\_action, renderize nextStep.schema e envie continuation com resolutionId, stepId e data para a mesma operação. Preserve o paymentMethodData original. Continue até resolved e envie a resposta completa como resolvedPaymentMethod na cotação e execução. Respostas legadas sem status nem nextStep já estão resolvidas.

```json theme={null}
{
  "sessionId": "13a36c1c-f4a6-4e49-a582-2ecded2559bc",
  "paymentMethod": "provider-method-id",
  "paymentMethodData": {
    "AccountNumber": "0123456789"
  },
  "continuation": {
    "resolutionId": "provider-resolution-id",
    "stepId": "provider-next-step-id",
    "data": {
      "Acknowledgements": {
        "CoBName": true
      }
    }
  }
}
```

## Recuperação do onboarding

Falhas de elegibilidade são erros HTTP, não respostas data de sucesso. Examine details.code, details.customerId, details.provider e details.onboarding.action. Siga o método, caminho e corpo retornados. Em create\_case use o cliente existente; em resume\_case consulte o caso; em wait aguarde; em contact\_support contate o suporte. Não crie outro cliente nem outro caso automaticamente para um caso pendente ou rejeitado.

| HTTP | details.code | Ação |
| - | - | - |
| 400 | `CUSTOMER_ONBOARDING_REQUIRED` | Conclua ou retome o onboarding. |
| 409 | `CUSTOMER_ONBOARDING_PENDING` | Aguarde ou retome uma etapa do cliente. |
| 403 | `CUSTOMER_ONBOARDING_REJECTED` | Mostre a rejeição; não crie outro caso automaticamente. |
| 409 | `CUSTOMER_PROVIDER_UNAVAILABLE` | Vínculo cliente/provedor indisponível; siga a ação retornada. |

## Depositar fiat

Cotação, resolução de requisitos e criação de ordens aceitam customerId. Com sessionId, assetId, currency, amount e rail são herdados; sem sessão são obrigatórios. customer contém contatos opcionais do pagador e não substitui customerId. Para KYC integrado, use additionalDataRequirements.data como valores iniciais e valide com o esquema atual antes de enviar additionalData. O onboarding hospedado é verificado separadamente.

## Contas virtuais

Requisitos, criação e regeneração v2 já aceitam customerId, inclusive na criação e regeneração para endereços filhos. Os requisitos validam a titularidade do cliente e a elegibilidade do provedor. Use additionalDataSchema; não reutilize esquemas de ordens. A criação retorna 201 com created: true para uma conta nova, ou 200 com created: false ao reutilizar uma existente.

## Valores e taxas

debitAmount é o débito total no ativo de origem. amountFiat é o pagamento fiat antes de deductions; desconte essas deduções uma vez para obter o valor do beneficiário. transactionFee está no criptoativo de origem e pode incluir cobranças adicionais independentes, a taxa total configurada do método e processamento. Nem sempre representa toda a taxa: custos já cobrados pelo provedor podem estar no financiamento e o spread está na conversão. Não some taxas a debitAmount. Não existe transactionFeeCurrency.

## Veja também

[Webhooks de onboarding de clientes](https://docs.blockradar.co/pt/api-reference/customer-onboarding/webhooks.md)

[Atualizar onboarding](https://docs.blockradar.co/pt/api-reference/customer-onboarding/refresh-request.md) — Solicite novas taxas de saque ou uma nova cotação de depósito para criar outra sessão fiat. Não reutilize a sessão anterior à aprovação. Mudanças também podem emitir webhooks customer.onboarding.\*; casos sem mudanças não garantem outro evento.

## Operações do cliente

Os IDs do cliente e do caso são obrigatórios. O caso atualizado está em data.case.

* [Atualizar solicitação](https://docs.blockradar.co/pt/api-reference/customer-onboarding/update-request.md)
* [Marcar etapa hospedada enviada](https://docs.blockradar.co/pt/api-reference/customer-onboarding/hosted-session-submission.md)
* [Reabrir solicitação](https://docs.blockradar.co/pt/api-reference/customer-onboarding/reopen-request.md)
* [Visualizar documentos](https://docs.blockradar.co/pt/api-reference/customer-onboarding/document-view-urls.md)
* [Enviar ação](https://docs.blockradar.co/pt/api-reference/customer-onboarding/submit-action.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.