Arquitetura de finalização e fluxo de pedido da BDX
O processo de finalização da BDX transforma a intenção de compra do comprador em um espaço de pedido seguro amparado por custódia. O pipeline gerencia criação de conta de visitante, verificação, reserva atômica de estoque, entregas automatizadas e transições de máquina de estados.
Este documento apresenta um guia completo do fluxo de finalização, dos estados do ciclo de vida do pedido e da mecânica de entrega digital.
1. Fluxo de finalização de ponta a ponta
[Buyer Clicks "Buy Now" on Offer Page]
|
v
GET /checkout/{offer}?qty=N
|
+---> Is User Authenticated?
| |
| +---> NO -> Display "Continue as Guest" Option
| | Guest inputs email & receives 6-digit verification code
| | Verifies code to activate guest account
| |
| +---> YES -> Render Checkout View
|
v
Order Submission & Safety Checks:
1. Verify offer is active & buyable
2. Verify buyer identity & account status
3. Prevent seller self-purchase
4. Validate Terms & Risk Acknowledgments
5. Check for duplicate pending orders
|
v
Atomic Stock Reservation:
Locks offer stock quantity to prevent double-purchases
|
v
Order Record Created:
Status set to pending payment; stock reserved
|
v
Payment Method Selection:
|
+---> BDX Wallet Balance (If balance >= total price)
| |
| v
| Instant payment deducted from wallet
| Mark order paid -> Status: awaiting delivery
| Trigger automated instant delivery (if applicable)
| Redirect to Order Workspace
|
+---> Online Payment Gateways (bKash, Nagad, etc.)
| |
| v
| Redirect buyer to secure payment portal
| Process payment verification callback
|
+---> Manual Payment (bKash / Nagad / Rocket / Bank Transfer)
|
v
Redirect to Order Workspace with payment instructions
Buyer submits transaction ID / proof screenshot
Admin reviews & verifies payment proof
2. Finalização como visitante e verificação de e-mail
Para eliminar o atrito e ao mesmo tempo evitar contas de spam e bots que travam estoque, a BDX oferece uma sequência simplificada de finalização como visitante:
- Cadastro de visitante: Visitantes informam seu endereço de e-mail durante a finalização. Uma conta de comprador é criada automaticamente.
- Código de verificação enviado: Um código dinâmico de 6 dígitos é enviado por e-mail ao visitante.
- Verificação de e-mail: Informar o código de 6 dígitos verifica o endereço de e-mail e conclui o envio do pedido.
3. Ciclo de vida do pedido e estados de status
Cada pedido na BDX passa por uma máquina de estados estruturada. Um pedido contém três indicadores principais de acompanhamento de status: status global do pedido, status de pagamento e status de entrega.
+-----------------------------------+
| ORDER CREATED |
| status: pending_payment |
| payment_status: awaiting_payment |
| delivery_status: awaiting_payment|
+-----------------+-----------------+
|
Payment Verified
|
+-----------------v-----------------+
| PAYMENT COMPLETED |
| status: awaiting_delivery |
| payment_status: paid |
| delivery_status: awaiting_seller |
+-----------------+-----------------+
|
Seller Delivers Item
|
+-----------------v-----------------+
| DELIVERY SUBMITTED |
| status: delivered |
| payment_status: paid |
| delivery_status: delivered |
+--------+-----------------+--------+
| |
Buyer Confirms /| |\ Buyer Opens
7 Days Elapse | | Dispute
v v
+--------+--------+ +------+--------+
| COMPLETED | | DISPUTED |
| status: | | status: |
| completed | | disputed |
+-----------------+ +---------------+
Tabela de referência de status do pedido
| Status global do pedido | Status de pagamento | Status de entrega | Descrição / próxima ação |
|---|---|---|---|
pending_payment | awaiting_payment | awaiting_payment | Estado inicial da finalização. Estoque reservado. Aguardando envio ou verificação do pagamento. |
awaiting_delivery | paid | awaiting_seller | Pagamento confirmado e retido com segurança em custódia. Vendedor notificado para entregar o item ou serviço. |
delivered | paid | delivered | Vendedor enviou prova/códigos de entrega dentro do espaço do pedido. Inicia a contagem regressiva de proteção ao comprador de 7 dias. |
completed | paid | confirmed | Comprador confirmou a entrega OU passaram-se 7 dias sem disputa. Valores liberados para o saldo liberável da carteira do vendedor. |
disputed | paid | disputed | Comprador abriu disputa dentro do prazo de 7 dias. Custódia retida em moderação. Vendedor tem 24 horas para responder. |
cancelled | failed/refunded | cancelled | Pedido cancelado antes da entrega. Estoque reservado devolvido ao cofre. |
refunded | refunded | refunded | Valor reembolsável (preço do item; taxas de proteção + gateway não reembolsáveis) ou reembolso parcial emitido para o saldo da carteira BDX do comprador após disputa aprovada ou cancelamento. |
4. Proteção de estoque e entrega automatizada
Proteções de reserva de estoque
Para evitar condições de corrida em que vários compradores tentam comprar ao mesmo tempo o mesmo item digital escasso (como chaves de ativação de uso único ou contas de jogos):
- O estoque é bloqueado na hora, no momento do início da finalização.
- Se um pedido for cancelado ou expirar antes da conclusão do pagamento, a quantidade reservada é automaticamente restaurada ao cofre de estoque ativo do vendedor.
Entrega automatizada por cofre de códigos
Para ofertas configuradas com entrega automática instantânea (como cartões-presente, códigos de recarga de carteira ou vouchers digitais):
- Gatilho: A entrega automatizada inicia imediatamente após a confirmação do pagamento.
- Atribuição de chave: O sistema reivindica códigos digitais não resgatados do cofre criptografado de estoque do vendedor.
- Entrega instantânea: O código digital é exibido com segurança dentro da página privada de detalhes do pedido do comprador e do tópico de mensagens, atualizando o status do pedido para entregue na hora.