Skip to main content
Em resumo
Uma ordem de pagamento representa um único recebimento de fiat esperado. Quando você usa a via de conta virtual de uso único, cada ordem é lastreada por uma conta bancária dedicada, válida para apenas um pagamento. Os endpoints de Ordens de Pagamento permitem listar e acompanhar cada ordem no nível da master wallet ou restritas a um endereço filho específico.

Pré-requisitos

Antes de usar a API de Ordens de Pagamento, garanta que você tenha:
1

API Key

Obtenha sua API key no Painel da Blockradar. Acesse Developers para gerar uma.
2

Wallet criada

Crie uma wallet pelo painel (consulte Criar uma Carteira Principal). Você precisará do walletId para as operações de ordens de pagamento.
3

Conformidade aprovada

Conclua o processo de due diligence no Painel: My wallets > Settings > Compliance
4

Recurso habilitado

Solicite a ativação do recurso de contas virtuais após a aprovação de conformidade. Entre em contato com [email protected] ou use o chat ao vivo no painel.
5

Ambiente mainnet

As contas virtuais estão disponíveis apenas na MAINNET. Ambientes testnet não oferecem suporte a operações com contas virtuais.
6

Suporte a stablecoin

Depositar fiat e convertê-lo em stablecoin é um recurso pago. Garanta que seu plano inclua acesso a stablecoins. Faça upgrade em Painel → Settings → Subscription.

Como funciona

Uma ordem de pagamento é criada sempre que um cliente inicia um depósito em fiat. Para a via one_time_virtual_account, a Blockradar emite uma nova conta bancária virtual vinculada a essa ordem e ao seu conjunto de valores. Assim que o cliente paga, a ordem avança por seu ciclo de vida e a stablecoin correspondente é emitida e liquidada na wallet ou endereço vinculado.

Ordem criada

Uma ordem é gerada com uma referência, um valor esperado e sua via de cobrança.

Conta emitida

Para a via de conta virtual de uso único, uma conta bancária de uso único é anexada em paymentInstructions.

Pagamento recebido

O cliente paga a conta antes de expiresAt; a ordem passa para processing e depois para paid.

Liquidação

A stablecoin equivalente é emitida e liquidada na wallet ou endereço filho vinculado.

Status da ordem

Cada ordem informa seu status atual no ciclo de vida. Use o parâmetro de consulta status para filtrar os resultados.

Vias de cobrança

O campo rail identifica como a ordem é cobrada. As contas virtuais de uso único utilizam a via one_time_virtual_account.

Fluxo de criação vinculado à sessão

Comece a criação da ordem de pagamento solicitando uma cotação com assetId, currency, amount e rail. Quando o depósito pertencer a um cliente existente, inclua também customerId para que o KYC salvo do provedor possa ser reutilizado. O adaptador do provedor infere o corredor de KYC a partir da moeda fiat selecionada. A cotação retorna um sessionId e um sessionExpiresAt. A sessão vincula a wallet, o ativo da wallet, a moeda fiat, o valor, a via, o provedor, a rota de conversão, o cliente e o corredor de KYC por 20 minutos. Recomendamos usar o sessionId retornado em todas as requisições seguintes:
  1. Inicialize o formulário com additionalDataRequirements.data quando não for null. Ele contém valores reutilizáveis já salvos para o cliente, o provedor e o corredor.
  2. Colete todos os valores ausentes exigidos por additionalDataRequirements.schema.
  3. Se o esquema contiver um x-resolution, chame POST /v1/wallets/{id}/deposit/fiat/payment-order-requirements/resolve com o sessionId e o additionalData atual.
  4. Mescle os valores resolvidos em additionalData.
  5. Crie a ordem com sessionId, additionalData e quaisquer campos opcionais da ordem, como reference ou metadata.
Quote request
Quote session
Apenas os campos de nível superior do esquema são mostrados acima, por brevidade; renderize o JSON Schema completo específico do provedor retornado pela API.
Resolve requirements
Create payment order
O exemplo acima é um perfil de pessoa física da Paycrest para NGN: idDocument.number é o NIN de 11 dígitos do cliente e taxId.value é o BVN de 11 dígitos do cliente. Os requisitos variam por provedor, corredor e tipo de entidade, portanto sempre renderize o esquema retornado pela cotação em vez de fixar esses campos no código. Quando a ordem é criada com KYC inline, a Blockradar o salva vinculado ao cliente da empresa, ao provedor selecionado e ao corredor. Uma cotação posterior com o mesmo customerId e corredor retorna o KYC salvo em additionalDataRequirements.data. Enviar um KYC alterado em uma ordem posterior atualiza o perfil salvo do corredor; nenhum endpoint de KYC separado é necessário.
Não reutilize uma sessão com valores de ativo, moeda, valor, via ou provedor vindos de outra cotação. Se a API retornar FIAT_DEPOSIT_SESSION_EXPIRED, FIAT_DEPOSIT_SESSION_MISMATCH ou FIAT_DEPOSIT_SESSION_UNAVAILABLE, solicite uma nova cotação e reinicie a resolução de requisitos.
Para manter a compatibilidade com versões anteriores, sessionId é opcional. Se você omiti-lo, envie os valores originais de assetId, currency, amount e rail nas requisições de resolução de requisitos e de criação da ordem. Quando sessionId estiver presente, os valores armazenados na sessão prevalecem.

Listar ordens de pagamento da master wallet

Retorna uma lista paginada de todas as ordens de pagamento criadas sob uma master wallet. Use os parâmetros de consulta para filtrar por status, via, moeda, ativo, intervalo de datas ou busca por texto livre. GET /v1/wallets/{id}/deposit/fiat/orders

Parâmetros de consulta

Exemplo de resposta

Listar ordens de pagamento do endereço filho

Retorna as ordens de pagamento restritas a um único endereço filho. A resposta inclui os mesmos campos da ordem, além de detalhes adicionais de liquidação, provedor e cliente. GET /v1/wallets/{walletId}/addresses/{addressId}/deposit/fiat/orders

Parâmetros de caminho

Parâmetros de consulta

Exemplo de resposta

Campos de resposta

Os campos amountFiatReceived, amountSettled, providerReference, provider e customer são retornados no endpoint de endereço filho e são preenchidos à medida que a ordem avança pela liquidação.

Referência da API

Descoberta e configuração

Master Wallet

Endereço filho

Recuperar, atualizar e cancelar uma ordem exigem apenas o ID da ordem, portanto não há equivalente para endereços filhos. Use os endpoints da master wallet acima para qualquer ordem, inclusive as criadas contra um endereço filho.A API também expõe uma operação Find Fiat Deposit (POST /v1/wallets/{id}/deposit/fiat/finder) que localiza um depósito em fiat e seus detalhes de processamento a partir de uma referência de pagamento. É útil para conciliar um pagamento que um cliente afirma ter enviado com a ordem à qual ele pertence.