Vendas com Pagseguro - #14 Compra com múltiplos produtos
08/07/2018Na vídeo-aula de hoje vamos aprender como fazer um pedido com vários produtos vindo do banco de dados e remeter a API do PagueSeguro.
Transação com múltiplos produtos
Para fazer a transação com múltiplos produtos vindos do banco de dados, primeiramente vamos criar um banco de dados simples e inserir alguns produtos:
CREATE TABLE 'carrinho' (
'Id' int(11) NOT NULL,
'Descricao' text NOT NULL,
'Valor' varchar(30) NOT NULL,
'Quantidade' int(5) NOT NULL
);
ALTER TABLE 'carrinho' ADD PRIMARY KEY ('Id');
INSERT INTO 'carrinho' ('Id', 'Descricao', 'Valor', 'Quantidade') VALUES
(1, 'Camisa', '100.00', 1),
(2, 'Bone', '200.00', 2),
(3, 'Sapato', '120.00', 3);
Na nossa index, criaremos um input hidden com o valor final da soma de todos os produtos do nosso carrinho:
<?php
$Con=new PDO("mysql:host=localhost;dbname=pagueseguro","root","");
$Crud=$Con->prepare("select * from carrinho");
$Crud->execute();
$ValorFinal=0;
while($Fetch=$Crud->fetch(PDO::FETCH_ASSOC)){
$ValorFinal=$ValorFinal+($Fetch['Quantidade'] * $Fetch['Valor']);
}
?>
<input type="hidden" id="ValorFinal" name="ValorFinal" value="<?php echo $ValorFinal.".00"; ?>">
Posteriormente, no nosso Controller vamos fazer a conexão e um loop buscando todos os produtos. Para envio ao PagueSeguro basta simplesmente criarmos um índice numérico e alterar após os dados do item, conforme se observa abaixo:
$Con=new PDO("mysql:host=localhost;dbname=pagueseguro","root","");
$Crud=$Con->prepare("select * from carrinho");
$Crud->execute();
$I=1;
while($Fetch=$Crud->fetch(PDO::FETCH_ASSOC)) {
$Data["itemId{$I}"] = $Fetch['Id'];
$Data["itemDescription{$I}"] = $Fetch['Descricao'];
$Data["itemAmount{$I}"] = $Fetch['Valor'];
$Data["itemQuantity{$I}"] = $Fetch['Quantidade'];
$I++;
}
Posts Relacionados
Vendas com Pagseguro - #13 Compra com dados dinâmicos
No vídeo de hoje aprenderemos como finalizar a compra pelo PagueSeguro utilizando dados dinâmicos, ou seja, dados digitados pelo usuário.
Vendas com Pagseguro - #15 Transação por boleto
Hoje veremos como fazer uma chamada para transação utilizando a forma de pagamento boleto.