Arquitectura de pago y flujo del pedido de BDX
El proceso de pago de BDX transforma la intención de compra del comprador en un espacio de trabajo de pedido seguro respaldado por depósito. La canalización gestiona la creación de cuentas de invitados, la verificación, la reserva atómica de stock, las entregas automatizadas y las transiciones de máquina de estados.
Este documento presenta una guía completa del flujo de pago, los estados del ciclo de vida del pedido y la mecánica de entrega digital.
1. Flujo de pago de principio a fin
[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. Pago como invitado y verificación por correo
Para eliminar la fricción evitando cuentas spam y bots de bloqueo de stock, BDX proporciona una secuencia optimizada de pago como invitado:
- Registro de invitado: Los invitados introducen su correo electrónico durante el pago. Una cuenta de comprador se crea automáticamente.
- Código de verificación enviado: Se envía por correo al invitado un código dinámico de 6 dígitos.
- Verificación del correo: Introducir el código de 6 dígitos verifica la dirección de correo y completa el envío del pedido.
3. Ciclo de vida del pedido y estados
Cada pedido en BDX avanza a través de una máquina de estados estructurada. Un pedido contiene tres indicadores principales de seguimiento de estado: estado global del pedido, estado del pago y estado de la 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 |
+-----------------+ +---------------+
Tabla de referencia de estados del pedido
| Estado global del pedido | Estado del pago | Estado de la entrega | Descripción / siguiente acción |
|---|---|---|---|
pending_payment | awaiting_payment | awaiting_payment | Estado inicial de compra. Stock reservado. Esperando envío o verificación del pago. |
awaiting_delivery | paid | awaiting_seller | Pago confirmado y retenido de forma segura en depósito. Vendedor notificado para entregar el artículo o servicio. |
delivered | paid | delivered | El vendedor envió la prueba o los códigos de entrega dentro del espacio del pedido. Comienza la cuenta atrás de protección al comprador de 7 días. |
completed | paid | confirmed | El comprador confirmó la entrega O pasaron 7 días sin disputa. Fondos liberados al saldo disponible de liquidación de la billetera del vendedor. |
disputed | paid | disputed | El comprador abrió una disputa dentro de la ventana de 7 días. Depósito retenido en moderación. El vendedor tiene 24 horas para responder. |
cancelled | failed/refunded | cancelled | Pedido cancelado antes de la entrega. Stock reservado devuelto al fondo. |
refunded | refunded | refunded | Importe reembolsable (precio del artículo; tarifas de protección y pasarela no reembolsables) o reembolso parcial emitido al saldo de la billetera de BDX del comprador tras disputa aprobada o cancelación. |
4. Protección de stock y entrega automatizada
Salvaguardas de reserva de stock
Para evitar condiciones de carrera donde varios compradores intentan comprar simultáneamente el mismo artículo digital escaso (como claves de activación de un solo uso o cuentas de juego):
- El stock se bloquea al instante en el momento de iniciar el pago.
- Si un pedido se cancela o expira antes de completar el pago, la cantidad reservada se restaura automáticamente al fondo de stock activo del vendedor.
Entrega automatizada por fondo de códigos
Para ofertas configuradas con entrega automática instantánea (como tarjetas de regalo, códigos de recarga de billetera o vales digitales):
- Desencadenante: La entrega automatizada se inicia inmediatamente tras la confirmación del pago.
- Asignación de clave: El sistema reclama códigos digitales no canjeados de la cámara de inventario cifrada del vendedor.
- Entrega instantánea: El código digital se muestra de forma segura dentro de la página privada de detalles del pedido y el hilo de mensajes del comprador, actualizando el estado del pedido a entregado al instante.