Vendas Online via API com PayPal - #10 Carrinho de Compra
26/03/2021No tutorial de hoje começaremos a criar um carrinho de compras para enviar dados dinâmicos de vários itens para o PayPal.
E-commerce com dados dinâmicos
class/ClassCarrinho.php
Vamos criar a classe que abrigará os itens do nosso carrinho de compras:
<?php
class ClassCarrinho
{
private $id;
private $name;
private $price;
public function __construct()
{
session_start();
}
public function getId(){return $this->id;}
public function setId($id): void{$this->id = $id;}
public function getName(){return $this->name;}
public function setName($name): void{$this->name = $name;}
public function getPrice(){return $this->price;}
public function setPrice($price): void{$this->price = $price;}
//Adicionar os produtos
public function addProducts()
{
if(isset($_SESSION['products']) && array_key_exists($this->getId(),$_SESSION['products'])){
$_SESSION['products'][$this->getId()]['quantity']+=1;
}else{
$_SESSION['products'][$this->getId()]=[
'id'=>$this->getId(),
'name'=>$this->getName(),
'price'=>$this->getPrice(),
'quantity'=>1
];
}
}
//Listar os produtos do carrinho
public function listProducts()
{
$html="";
if(isset($_SESSION['products'])){
foreach ($_SESSION['products'] as $product) {
$html.="<tr>";
$html.="<td>".$product['id']."</td>";
$html.="<td>".$product['name']."</td>";
$html.="<td>".$product['quantity']."</td>";
$html.="<td>".number_format(($product['quantity']*$product['price']),2,',','.')."</td>";
$html.="</tr>";
}
}
return $html;
}
}
index.php
Na index vamos adicionar o parâmetro id nos nossos produtos:
<div class="product">
<div class="product__title">Casinha</div>
<div class="product__price">R$ 200,00</div>
<div class="product__image"><img src="assets/img/casa.jpg" alt="Casinha do cachorro"></div>
<a href="checkout.php?id=1&&name=casinha&&price=200">
<div class="product__button">
<div class="product__button--label">Comprar</div>
</div>
</a>
</div>
checkout.php
No checkout vamos chamar a ClassCarrinho recém criada:
<?php
require_once ('class/ClassCarrinho.php');
$objCarrinho=new ClassCarrinho();
$objCarrinho->setId($_GET['id']);
$objCarrinho->setName($_GET['name']);
$objCarrinho->setPrice($_GET['price']);
$objCarrinho->addProducts();
?>
No próprio checkout vamos criar uma tabela pra listar os produtos que o usuário está adicionando:
<div class="cart">
<table>
<thead>
<tr>
<th>ID</th>
<th>Nome</th>
<th>Quantidade</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<?php echo $objCarrinho->listProducts(); ?>
</tbody>
</table>
</div>
Por hoje é só! Sucesso nos códigos e na vida!
Precisando de aulas particulares? webdesignemfoco@gmail.com
Posts Relacionados
Vendas Online via API com PayPal - #9 Finalizando Pagamento
Nesse video vamos finalizar o pagamento via API com PayPal, enviando todos os dados necessários para o servidor de pagamento.
Vendas Online via API com PayPal - #11 Finalizando Carrinho de Compras
Nesse tutorial iremos continuar a trabalhar no carrinho de compra com PayPal estilizando a tabela de produtos e dando a opção do usuário limpar o carrinho.