ACESSE SUA CONTA   |   facebook

Cadastre-se   //   Vantagens   //   Esqueci minha senha

Lógica Completa do Sistema de Carrinho de Compras







Lógica Completa do Sistema de Carrinho de Compras

com Finalização, Pagamento PIX e Gestão de Entrega (Dropshipping e Consignação)

Este artigo detalha a lógica completa de um sistema de carrinho de compras robusto, abrangendo desde a visualização do carrinho até a finalização do pedido com verificação de saldo, integração com pagamento PIX e um sistema inteligente de gestão de entrega que suporta tanto vendas diretas quanto modelos de dropshipping e consignação.

1. Visualização Detalhada no Carrinho:

Ao acessar a página do carrinho de compras, o cliente terá uma visão clara e organizada dos seus itens:

  • Carrinho da Loja Atual: Os produtos adicionados ao carrinho da loja que o cliente está visualizando serão apresentados em boxes separados por tipo de produto (ex: Moedas, Cédulas, Acessórios). Cada box exibirá os itens correspondentes e o subtotal do valor para aquele tipo de produto.
  • Relatório de Outras Lojas: Abaixo do carrinho da loja atual, será apresentado um relatório listando todas as outras lojas onde o cliente possui produtos adicionados ao carrinho. Para cada loja, será exibido o valor total dos itens pendentes. Um resumo final mostrará o valor total de todos os produtos em carrinho em todas as lojas.

2. Opções de Finalização de Pedido:

O cliente terá duas opções claras para finalizar suas compras:

  • Finalizar Pedido Desta Loja: Ao optar por esta opção (geralmente disponível na visualização detalhada do carrinho da loja atual), o sistema iniciará o processo de finalização apenas para os itens da loja em questão.
  • Finalizar Todas as Lojas de Uma Vez: Esta opção permitirá ao cliente finalizar todos os pedidos pendentes em todas as lojas com um único clique.

3. Verificação de Saldo e Fluxo de Pagamento PIX:

Independentemente da opção de finalização escolhida, o sistema realizará uma verificação de saldo antes de prosseguir:

  • Conferência de Saldo: O saldo disponível do cliente será comparado com o valor total da(s) compra(s) que ele deseja finalizar (seja de uma loja ou de todas).
  • Saldo Suficiente: Se o saldo for igual ou superior ao valor da compra, o processo de finalização prosseguirá (detalhado na seção 4).
  • Saldo Insuficiente: Se o saldo for inferior ao valor da compra, o cliente será redirecionado para uma tela de geração de código PIX. Esta tela exibirá:
    • O saldo atual do cliente.
    • O valor total da(s) compra(s) que não puderam ser finalizadas.
    • A diferença exata a ser paga via PIX (ou o valor total, se o saldo for zero).
    • Instruções claras para realizar o pagamento, incluindo o código PIX gerado e o prazo para pagamento.
    • Aviso de que o saldo será atualizado e o pedido liberado após a confirmação da compensação do PIX.

4. Finalização do Pedido:

O processo de finalização do pedido (executado pelo script finalizar.php para uma loja ou em loop pelo finalizaLoop.php para todas) envolve as seguintes etapas:

  • Gravação na Tabela pedidos: Um registro único é criado na tabela pedidos para cada finalização de pedido (seja de uma loja ou para um conjunto de itens de um mesmo fornecedor dentro de uma compra multi-loja). Este registro conterá:
    • idComprador: ID do cliente.
    • idVendedor: ID da loja onde a compra foi iniciada.
    • idGerente: ID do gerente da agência (se o produto for consignado - obtido da tabela de anúncios).
    • idDistribuidor: ID do distribuidor (se o produto for de dropshipping - obtido da tabela de anúncios).
    • Outras informações relevantes como forma de pagamento, tipo de frete, valor total do pedido, data e hora, status inicial (ex: "Pendente Pagamento" ou "Aguardando Envio").
  • Gravação na Tabela pedidos_pecas: Para cada item no carrinho que está sendo finalizado, um registro é criado na tabela pedidos_pecas, vinculando-o ao idPedido recém-criado e contendo:
    • idPedido: ID do pedido na tabela pedidos.
    • idAnuncio: ID do anúncio do produto.
    • tipo: Tipo do produto (Moeda, Cédula, Acessório).
    • quantidade: Quantidade do item (para acessórios).
    • preco: Preço unitário do item.
    • idGerente: ID do gerente (copiado da tabela de anúncios).
    • idDistribuidor: ID do distribuidor (copiado da tabela de anúncios).
  • Bloqueio de Saldo (se saldo suficiente): Se o saldo do cliente for suficiente, o valor correspondente ao pedido será bloqueado no seu saldo.
  • Remoção do Carrinho: Os itens da(s) loja(s) finalizada(s) serão removidos do carrinho do cliente.
  • Redirecionamento: O cliente será redirecionado para a página inicial da loja (finalização única) ou para uma página de confirmação (finalização de todas as lojas).

5. Liberação do Pedido Após Compensação do PIX:

  • Verificação de Pagamento: O sistema monitorará a confirmação do pagamento PIX.
  • Atualização de Saldo: Após a confirmação, o saldo do cliente será atualizado com o valor pago.
  • Liberação do Pedido: O status do(s) pedido(s) pendente(s) será atualizado para "Aguardando Envio", tornando-o visível no painel de controle dos respectivos fornecedores.

6. Painel de Controle:

O painel de controle fornecerá diferentes visões e funcionalidades para gerenciar os pedidos:

  • Pedidos no Carrinho Sem Finalizar:
    • Listagem dos carrinhos ativos. Inicialmente, sem identificação direta do cliente (por razões de privacidade ou para evitar contato prematuro).
    • Opção para o dono do produto "Desbloquear" um carrinho específico (a lógica de desbloqueio precisará ser definida - talvez permitir que o cliente tente finalizar novamente sem perder os itens).
  • Pedidos Finalizados:
    • Listagem de todos os pedidos finalizados.
    • Pedidos Prontos para Envio: Filtro para exibir pedidos com saldo confirmado e status "Aguardando Envio".
    • Atualização de Rastreio:
      • Dono da Loja (Venda Direta): Para pedidos onde idGerente = 0 e idDistribuidor = 0, o dono da loja poderá inserir a data/hora do envio e o código de rastreio.
      • Gerente (Consignação) e Distribuidor (Dropshipping): Para pedidos onde idGerente > 0 ou idDistribuidor > 0, os respectivos responsáveis terão a opção de atualizar o status do envio, incluindo data/hora e código de rastreio. O dono da loja poderá apenas visualizar essas informações.
  • Visualização do Comprador:
    • Box 1: Carrinho: Itens atualmente no carrinho.
    • Box 2: Em Preparo: Pedidos finalizados e com status interno indicando preparação para envio.
    • Box 3: A Caminho com Código de Rastreio: Pedidos enviados com código de rastreio disponível para acompanhamento.
    • Box 4: Pedidos Recebidos: Pedidos que foram marcados como entregues.

7. Identificação da Origem do Produto:

A origem de cada produto será identificada diretamente nas tabelas de anúncios:

  • Venda Normal (Próprio da Loja): Os campos idGerente e idDistribuidor no registro do anúncio serão iguais a zero.
  • Consignação: O campo idGerente conterá o ID do gerente da agência, e idDistribuidor será zero.
  • Dropshipping: O campo idDistribuidor conterá o ID do distribuidor, e idGerente será zero.

Esses valores serão recuperados no script de finalização e armazenados na tabela pedidos_pecas para rastrear a origem de cada item do pedido.

Conclusão:

Esta arquitetura detalhada oferece um sistema de carrinho de compras completo e flexível, capaz de lidar com diferentes modelos de negócio (venda direta, consignação e dropshipping) de forma integrada. A gestão de pagamento via PIX e o painel de controle com diferentes níveis de acesso garantem um fluxo de trabalho eficiente para clientes e fornecedores. A chave para o sucesso reside na implementação precisa de cada etapa e no tratamento adequado dos diferentes cenários e status dos pedidos.



Fonte:

Autor do blog: Nilton Romani

Voltar
Compartilhar
Facebook Twitter YouTube Feed de notícias
Coleções de Cédulas e Moedas Brasileiras © 2014. Todos os direitos reservados.