Em um certo ponto, é dada ao consumidor a opção de enviar o seu pedido. Neste momento, o conteúdo do carrinho de compras pode ser inserido em uma fonte de dados. Para pequenas empresas de comércio eletrônico, o conteúdo do carrinho de compras poderá ser enviado por meio de correio eletrônico ao dono do negócio, ou, armazenado em um arquivo texto no servidor (flat file). Geralmente, informações de um pedido de compras são armazenadas em um banco de dados. A estrutura do banco de dados deverá conter uma tabela com os seguintes campos:
| Um campo de identificação único e exclusivo para cada pedido (geralmente PedidoID) | |
| Embora não obrigatórios, normalmente você irá incluir: | |
| Um campo com o ID do Produto que corresponderá ao ID do Produto armazenado no carrinho de compras | |
| Um campo de Quantidade que corresponderá à quantidade armazenada no carrinho de compras |
Um campo com o preço deverá também ser incluído e corresponderá ao preço armazenado no carrinho de compras, embora este campo, conceitualmente, poder ser omitido se o preço é armazenado em um outro lugar no banco de dados e é uma constante que não muda. Opcionalmente, poderá incluir o Total e outras colunas necessárias para preencher o pedido ou fatura, (ex: tamanho, cor, etc...).
Esta tabela armazenará somente o conteúdo do carrinho, um registro para cada item no carrinho. Um típico carrinho de compras terá diversos itens em seu conteúdo. O campo único de identificação ou PedidoID único, identifica o conteúdo deste carrinho nesta tabela. Uma decalaração SQL sob a forma SELECT * FROM Detalhe de Pedidos WHERE PedidoID=17 irá retornar com o conteúdo do carrinho com o pedido ou fatura de número 17 ou PedidoID=17. Provavelmente existirá mais de um registro em seu conjunto de resultados.
Mas é claro, você vai querer coletar outros dados, tais como, consumidor, transporte e informações de pagamento. No entanto, para manter o carrinho o mais versátil possível, os componentes destes dados não foram incluídos, por não serem necessários ao UltraDev Shopping Cart. Eles podem facilmente ser ligados a outras fontes de dados, se for necessário. Alguns usuários deverão usar o login para identificar os usuários registrados nas contas do estabelecimento, outros poderão coletar estas informações on-line para cada pedido e existirão outros que poderão usar a combinação de informações armazenadas e informações novas, a respeito de seus consumidores.Um esquema comum de banco de dados possui uma tabela de Pedidos a qual está relacionada um-para-muitos com a tabela de Detalhes de Pedidos. A tabela Detalhes de Pedidos armazena o conteúdo do carrinho de compras como descrito anteriormente. A tabela Pedidos contém um registro para cada pedido e contém as informações do consumidor, transporte e o mais importante o PedidoID ou número da fatura. O PedidoID é único na tabela de Pedidos. Uma vez que você identificou um pedido (um registro) na tabela de Pedidos (poderá ser pelo ConsumidorID ou data) poderá enumerar o conteúdo daquela fatura através da declaração SELECT, como anteriormente exposto.
Um procedimento comum para implementar uma identificação de pedido (PedidoID) única e exclusiva é usar o recurso de autonumeração, disponível em muitos bancos de dados (ex: MS Access). Um algorítimo é adicionado a cada novo registro na tabela de Pedidos. Utilize o valor da autonumeração como o valor do PedidoID ou número da fatura, então armazene o conteúdo do carrinho na tabela Detalhes de Pedidos. Durante o desenvolvimento da página que salva o conteúdo do carrinho, você poderia usar um valor literal, como 37. É claro, cada novo pedido será identificado como sendo PedidoID=37 e não há maneira de estabelecer quais registros na tabela Detalhe de Pedidos irá para cada pedido. Outro valor que poderia ser usado é a função data / horário (date / time). Em VbScript "Now()" e em JavaScript "new Date()" poderiam ser usados. Isto adicionaria um único e exclusivo valor para cada pedido, contudo, poderia não ter a possibilidade de identificar quem fez o pedido. O Shopping Cart possui o comportamento de servidor Save cart to table que pode ser usado para interagir com o banco de dados de pedidos. Para finalmente ligar este comportamento com seu banco de dados será necessário decidir qual o método que será usado para gerar o PedidoID, de acordo com a estrutura de seu banco de dados e aplicação.| 1 | Insira o carrinho na página. (Ver: Copiando o carrinho de compras para a página.) |
| 2 | Selecione o texto ou imagem que quer usar como um link. Se você não selecionar nada, um texto padrão "Proceed to checkout" será criado. |
| 3 | Abra o painel de Comportamentos de servidor. Clique no botão de mais (+) e selecione Shopping Cart > Save cart to table. |
| Uma caixa de diálogo será apresentada, nela você fará a ligação entre as colunas do carrinho de compras com colunas no banco de dados. | |
| 4 | Selecione a conexão de dados. Então selecione a tabela na fonte de dados na qual o conteúdo do carrinho será armazenado. |
| 5 | Selecione a coluna do carrinho, então selecione a coluna de destino no banco de dados. Faça isso para cada coluna que deverá ser inserida no banco de dados. |
| Você não precisa ligar todas as colunas do carrinho de compras, apenas aquelas que deseja armazenar na tabela do banco de dados. | |
| 6 | Selecione a fonte para o único e exclusivo PedidoID na tabela de banco de dados. |
| A fonte para o único ID é geralmente uma variável que é incremntada ao código no lado do servidor, nos números de pedidos, tal como um script com um gatilho ou um stored procedure, mas também poderá ser um valor literal. | |
| 7 | Se desejar redirecionar o usuário depois de os dados serem enviados, entre com o caminho no Go to URL ou clique Browse para selecionar a página de destino. |
| 8 | Clique OK e você finalizou o seu carrinho de compras com o auxílio do UltraDev Shopping Cart. |
tradução: Geraldo A. Pagliarini