O módulo de exclusão de conta permite encerrar contas digitais de forma segura, com validações obrigatórias para garantir que não há saldo ou transações pendentes. Este módulo está disponível após a conclusão do onboarding e criação da conta.
Através deste módulo você pode:
Todas as rotas de exclusão de conta requerem:
Authorization (autenticação auth:api)X-Signature (middleware hmac-signature)POST /api/v2/baas/accounts/close
Encerra uma conta digital de forma permanente. A exclusão só é permitida quando a conta não possui saldo e não há transações pendentes.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
Authorization | string | Sim | Token JWT (Bearer {token}) |
X-Signature | string | Sim | Assinatura HMAC da requisição |
Content-Type | string | Sim | application/json |
Accept | string | Sim | application/json |
Antes de permitir a exclusão, o sistema valida automaticamente:
POST /api/v2/baas/accounts/close
{
"message": "Account closed successfully",
"account_id": 456
}
| Campo | Tipo | Descrição |
|---|---|---|
message | string | Mensagem de confirmação |
account_id | integer | ID da conta encerrada |
{
"message": "Account cannot be closed because it has balance. Please withdraw all funds before closing the account.",
"error_code": "ACCOUNT_HAS_BALANCE",
"balance": 10000,
"blocked_balance": "50.00"
}
{
"message": "Account cannot be closed because it has pending transactions. Please wait for all transactions to complete.",
"error_code": "ACCOUNT_HAS_PENDING_TRANSACTIONS",
"pending_count": 3
}
{
"message": "Account is already closed.",
"error_code": "ACCOUNT_ALREADY_CLOSED",
"closed_at": "2025-01-10 10:00:00"
}
{
"message": "Account not found.",
"error_code": "ACCOUNT_NOT_FOUND"
}
{
"message": "Primary account cannot be closed. Please set another account as primary first.",
"error_code": "ACCOUNT_IS_PRIMARY"
}
{
"message": "Unauthorized"
}
{
"message": "Forbidden. You do not have permission to close this account.",
"error_code": "FORBIDDEN_CLOSE_ACCOUNT"
}
{
"message": {
"deregistration_reason": [
"O campo deregistration_reason é obrigatório.",
"O campo deregistration_reason deve ser um dos valores: ec_cancelled_inactive, ec_cancelled_by_user, ec_cancelled_by_seller."
]
}
}
{
"message": "Too Many Requests"
}
{
"message": "Server Error",
"error_code": "INTERNAL_SERVER_ERROR"
}
ACCOUNT_HAS_BALANCEpending ou processingACCOUNT_HAS_PENDING_TRANSACTIONSACCOUNT_ALREADY_CLOSEDFORBIDDEN_CLOSE_ACCOUNTQuando uma conta possui saldo:
ACCOUNT_HAS_BALANCE (400)Quando uma conta possui transações pendentes:
ACCOUNT_HAS_PENDING_TRANSACTIONS (400)Os motivos de encerramento são registrados para fins de auditoria e compliance:
ec_cancelled_inactive: Conta cancelada por inatividadeec_cancelled_by_user: Conta cancelada pelo próprio usuárioec_cancelled_by_seller: Conta cancelada pelo seller/parceiro1. Verificar Saldo:
GET /api/v2/baas/balances
Resposta:
{
"id": 123,
"balance": 000,
"blocked_balance": 000,
"account_id": 456,
"last_change": "2025-01-15 10:00:00"
}
2. Verificar Transações Pendentes:
GET /api/v2/baas/statements?status=pending
Resposta:
{
"data": [],
"pagination": {
"current_page": 0,
"per_page": 100,
"total": 0,
"has_more": false
}
}
3. Encerrar Conta:
POST /api/v2/baas/accounts/close
Corpo:
{
"deregistration_reason": "ec_cancelled_by_user"
}
Resposta:
{
"message": "Account closed successfully",
"account_id": 456,
"closed_at": "2025-01-15 14:30:00",
"deregistration_reason": "ec_cancelled_by_user"
}
Após encerrar uma conta, você pode: