Skip to content

Criar Transferência PIX

Esta seção explica como criar uma nova transferência PIX (transação de saque/envio) para enviar dinheiro para outra conta.

Visão Geral

As transferências PIX permitem que você envie dinheiro para outras contas usando chaves PIX. Você pode transferir para:

  • CPF
  • CNPJ
  • E-mail
  • Telefone
  • Chave aleatória (EVP)

Importante

Antes de criar uma transferência, verifique se há saldo suficiente na conta. Consulte as Informações da Conta para verificar o saldo disponível.

Endpoint

POST /account/{account_id}/transfer/pix/create

Cria uma nova transferência PIX (transação de saque/envio).

URL Completa:

https://app.finexis.com.br/api/v1/gateway/account/{account_id}/transfer/pix/create

Headers:

Authorization: Bearer {token}
Content-Type: application/json

Parâmetros da URL:

  • account_id (obrigatório): ID da conta que realizará a transferência

Body:

json
{
  "pix_key": "700.592.353-73",
  "pix_type": "cpf",
  "amount": 0.01,
  "extra": {
    "document": "12345678900",
    "name": "Joao Silva"
  }
}

Campos do Body:

CampoTipoObrigatórioDescrição
pix_keystring✅ SimChave PIX do destinatário
pix_typestring✅ SimTipo da chave PIX
amountnumber✅ SimValor da transferência (decimal)
extraobject✅ SimDados extra (Nome, documento, email)

Tipos de Chave PIX (pix_type):

TipoDescriçãoFormato do pix_key
cpfCPFApenas números (ex: 70059235373)
cnpjCNPJApenas números
emailE-mailE-mail válido (ex: [email protected])
phoneTelefoneFormato: +5521999999999
evpChave aleatóriaUUID (ex: 123e4567-e89b-12d3-a456-426614174000)

Exemplo de Requisição:

bash
curl -X POST \
  'https://app.finexis.com.br/api/v1/gateway/account/6/transfer/pix/create' \
  -H 'Authorization: Bearer {seu_token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "pix_key": "70059235373",
    "pix_type": "cpf",
    "amount": 0.01,
    "extra": {
      "name": "Maria da Silva",
      "document": "9876542100"
    }
  }'

Resposta de Sucesso (200):

json
{
  "status": "success",
  "message": "Transaction created successfully",
  "data": {
    "account_id": 6,
    "provider_id": 2,
    "type": "debit",
    "amount": "0.010000000000000000",
    "currency": "",
    "status": "pending",
    "description": null,
    "external_id": "bbd38496-4d8b-4a53-9b0e-3f1c761c70a3",
    "reference": "E45756448202511202220nq7ycQvyxkG",
    "metadata": {
      "uuid": "dff0c247-367b-441f-b9c5-ed8b7985078c",
      "end_to_end": "E45756448202511202220nq7ycQvyxkG",
      "transaction_id": 2011996,
      "reference": "bbd38496-4d8b-4a53-9b0e-3f1c761c70a3",
      "status": "pending",
      "type": "debit",
      "amount": 0.01,
      "description": null,
      "currency": "BRL",
      "nonce": "F4wtv5bhCtKwpCsV",
      "sha256": "04d2f269778f1b789301410a0ea388ce770aba82ecdc28233ab7f08b11bf0c50",
      "hash_schema": ["end_to_end", "value", "nonce"],
      "completed_at": "2025-11-20 22:20:51",
      "coust": 0,
      "transaction_time": 1763677251
    },
    "updated_at": "2025-11-20 22:20:51",
    "created_at": "2025-11-20 22:20:51",
    "id": 21,
    "account": {
      "id": 6,
      "user_id": 2,
      "name": "JOAO",
      "lastname": "USER",
      "number": "00000006",
      "avatar": null,
      "is_active": true,
      "created_at": "2025-11-16 21:15:17",
      "updated_at": "2025-11-20 21:49:52",
      "balance": {
        "id": 2,
        "account_id": 6,
        "currency": "BRL",
        "available": "0.10",
        "pending": "0.00",
        "is_frozen": true,
        "created_at": "2025-11-19 17:39:02",
        "updated_at": "2025-11-20 22:20:51"
      }
    }
  }
}

Campos Importantes da Resposta

CampoDescrição
referenceReferência única da transação (use para consultar status)
external_idID externo da transação
typeTipo de transação (debit para saque/envio)
statusStatus da transação (pending, completed, failed, etc.)
metadata.end_to_endIdentificador end-to-end da transação PIX
account.balance.availableSaldo disponível da conta após a transação

Validações Importantes

Verificação de Saldo

Sempre verifique o saldo antes de criar uma transferência:

javascript
// 1. Consultar informações da conta
const accountInfo = await getAccountInfo(accountId);

// 2. Verificar saldo disponível
if (accountInfo.balance < amount) {
  throw new Error('Saldo insuficiente');
}

// 3. Criar transferência
const transfer = await createTransfer(accountId, pixKey, pixType, amount);

Formato das Chaves

Certifique-se de usar o formato correto para cada tipo de chave:

  • CPF: Apenas números, sem pontos ou traços
  • CNPJ: Apenas números, sem pontos, traços ou barras
  • E-mail: Deve ser um e-mail válido
  • Telefone: Formato internacional com código do país (ex: +5521999999999)
  • EVP: UUID válido

Tipos de Transação

TipoDescrição
debitTransação de débito (envio/saque) - valor é descontado da conta
creditTransação de crédito (recebimento) - valor é creditado na conta

Próximos Passos

Após criar a transferência:

  1. Consultar Status: Use Consultar Status para verificar se foi concluída
  2. Listar Transferências: Use Listar Transferências para ver o histórico
  3. Verificar Saldo: Consulte as Informações da Conta para confirmar o novo saldo

Documentação Finexis Payments