Campos
| Campo | Tipo | Descrição |
|---|---|---|
paymentId | UUID | Identificador único |
orderId | UUID | Referência ao pedido (relação 1:1) |
organizationId | UUID | Referência à organização da empresa beneficiária |
companyId | UUID | Referência à empresa beneficiária |
externalProvider | String | Nome do provedor externo de pagamento |
externalProviderId | String | ID da transação no provedor externo |
description | String? | Descrição do pagamento |
method | PaymentMethod | Método de pagamento |
channel | PaymentChannel | Canal em que o pagamento foi criado |
card | Json? | Metadados do cartão (quando aplicável) |
pix | Json? | Metadados do PIX (quando aplicável) |
amount | Int | Valor do pagamento em centavos |
dueDate | DateTime? | Data de vencimento |
status | PaymentStatus | Status do pagamento |
issuedAt | DateTime | Data de emissão |
paidAt | DateTime? | Data em que o pagamento foi confirmado |
overdueAt | DateTime? | Data em que o pagamento ficou vencido |
canceledBy | UUID? | Usuário que cancelou o pagamento, quando aplicável |
canceledAt | DateTime? | Data de cancelamento |
createdBy | UUID? | Usuário que criou o registro, quando aplicável |
createdAt | DateTime | Data de criação |
updatedBy | UUID? | Usuário que fez a última atualização, quando aplicável |
updatedAt | DateTime | Data da última atualização |
Relacionamentos
- Relaciona-se com Order (1:1 via
orderIdúnico) - Relaciona-se com Organization
- Relaciona-se com Company
- Relaciona-se com múltiplos Receivable
Regras de Negócio
- Relação 1:1 com Order — cada pedido possui exatamente um pagamento.
- O par
externalProvider+externalProviderIdevita duplicidade de transações externas. - Os campos
cardepixarmazenam metadados específicos do método de pagamento em formato JSON. channeldiferencia pagamentos criados no canal digital (ONLINE) de pagamentos presenciais (POS).- Quando
channel = POSemethod = CASH, o pagamento pode nascer já confirmado. - Quando
channel = POSemethodusa gateway (PIX,CREDIT_CARD,DEBIT_CARD), a confirmação continua seguindo o ciclo do provedor. - O valor (
amount) é armazenado em centavos. statustem defaultPENDING.organizationIdecompanyIdidentificam a empresa beneficiária do pagamento.
Enums
PaymentMethod
| Valor | Descrição |
|---|---|
CASH | Dinheiro |
PIX | Pagamento instantâneo via PIX |
CREDIT_CARD | Cartão de crédito |
DEBIT_CARD | Cartão de débito |
PaymentChannel
| Valor | Descrição |
|---|---|
ONLINE | Pagamento criado no canal digital |
POS | Pagamento criado em venda presencial ou guichê |
PaymentStatus
O status reflete o ciclo de vida da cobrança no provedor de pagamento. DefaultPENDING.
| Valor | Descrição |
|---|---|
PENDING | Pagamento criado, aguardando processamento |
PROCESSING | Em processamento no provedor |
ANTIFRAUD_PENDING | Aguardando análise antifraude |
ANTIFRAUD_MANUAL | Em análise antifraude manual |
ANTIFRAUD_APPROVED | Aprovado pela análise antifraude |
ANTIFRAUD_REPROVED | Reprovado pela análise antifraude |
PAID | Pagamento confirmado |
UNDERPAID | Pago a menor que o valor esperado |
OVERPAID | Pago a maior que o valor esperado |
PARTIAL_CANCELED | Parcialmente cancelado |
CANCELED | Cancelado |
PAYMENT_FAILED | Pagamento recusado ou falhou |
REFUNDED | Estornado após confirmação |
CHARGEDBACK | Sofreu chargeback |