Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Vendas Online via API com PayPal - #10 Carrinho de Compra

26/03/2021

No 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

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

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.
Saiba mais!
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.
Saiba mais!
PayPal
Nessa playlist você aprenderá como realizar vendas com o facilitador de pagamento PayPal. Aprenderá também a fazer o checklist transparente com PayPal.
Saiba mais!