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 Mercado Pago - #12 Carrinho de Compras III

21/04/2020

No tutorial de hoje iremos terminar o nosso carrinho de compras interligado ao Mercado Livre já exibindo os dados dos produtos no checkout.

Checkout API Mercado Livre

O nosso CarrinhoController redirecionará o comprador para a view checkout.php

checkout.php

A checkout.php ficará responsável por exibir a listagem de produtos, preços e o total das compras:

<div class="product__list">
    <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>Descrição</th>
                <th>Valor</th>
            </tr>
        </thead>
        <tbody>
            <?php echo $carrinho->listProducts(); ?>
        </tbody>
    </table>
</div>


<form action="/mp/controllers/PaymentController.php" method="post" id="pay" name="pay" >
    <fieldset>
        <ul>
            <li>
                <label for="email">Email</label>
                <input type="email" id="email" name="email" value="test_user_19653727@testuser.com"  placeholder="your email"/>
            </li>
            <li>
                <label for="cardNumber">Credit card number:</label>
                <input type="text" id="cardNumber" data-checkout="cardNumber" placeholder="4509 9535 6623 3704" onselectstart="return false" onpaste="return false" onCopy="return false" onCut="return false" onDrag="return false" onDrop="return false" autocomplete=off />
                <div class="brand"></div>
            </li>
            <li>
                <label for="securityCode">Security code:</label>
                <input type="text" id="securityCode" data-checkout="securityCode" placeholder="123" onselectstart="return false" onpaste="return false" onCopy="return false" onCut="return false" onDrag="return false" onDrop="return false" autocomplete=off />
            </li>
            <li>
                <label for="cardExpirationMonth">Expiration month:</label>
                <input type="text" id="cardExpirationMonth" data-checkout="cardExpirationMonth" placeholder="11" onselectstart="return false" onpaste="return false" onCopy="return false" onCut="return false" onDrag="return false" onDrop="return false" autocomplete=off />
            </li>
            <li>
                <label for="cardExpirationYear">Expiration year:</label>
                <input type="text" id="cardExpirationYear" data-checkout="cardExpirationYear" placeholder="2025" onselectstart="return false" onpaste="return false" onCopy="return false" onCut="return false" onDrag="return false" onDrop="return false" autocomplete=off />
            </li>
            <li>
                <label for="cardholderName">Card holder name:</label>
                <input type="text" id="cardholderName" data-checkout="cardholderName" placeholder="APRO" />
            </li>
            <li>
                <label for="docType">Document type:</label>
                <select id="docType" data-checkout="docType"></select>
            </li>
            <li>
                <label for="docNumber">Document number:</label>
                <input type="text" id="docNumber" data-checkout="docNumber" placeholder="19119119100" />
            </li>
            <li>
                <label for="installments">Installments:</label>
                <select id="installments" class="form-control" name="installments"></select>
            </li>
        </ul>
        <input type="hidden" name="amount" id="amount" value="<?php echo $carrinho->getAmount(); ?>" />
        <input type="hidden" name="description" value="Website Dinâmico" />
        <input type="hidden" name="paymentMethodId" />
        <input type="submit" value="Pay!" />
    </fieldset>
</form>

<script src="https://secure.mlstatic.com/sdk/javascript/v1/mercadopago.js"></script>
<script src="../lib/js/javascript.js"></script>

Na classe do carrinho iremos implementar um novo método para exibição dos produtos.

ClassCarrinho.php

//List products
public function listProducts()
{
    $html="";
    if(isset($_SESSION['products'])) {
        foreach ($_SESSION['products'] as $product) {
            $html .= "";
            $html .= "" . $product['id'] . "";
            $html .= "" . $product['description'] . "";
            $html .= "" . $product['quantity'] * $product['price'] . "";
            $html .= "";
        }
    }
    return $html;
}

//Total Amount
public function getAmount()
{
    $amount=0;
    if(isset($_SESSION['products'])){
        foreach ($_SESSION['products'] as $product){
            $amount+=$product['quantity']*$product['price'];
        }
    }
    return $amount;
}

Para realizar os testes, lembre-se de enviar os arquivos para uma hospedagem SSL.

Por hoje é só! Sucesso nos códigos e na vida!

Precisa integrar ao seu site? Suporte premium já: webdesignemfoco@gmail.com

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

Posts Relacionados

Vendas Online via API com Mercado Pago - #11 Carrinho de Compras II
Na aula de hoje continuaremos a construção do carrinho de compras criando a classe de produtos e a classe do carrinho.
Saiba mais!
Vendas Online via API com Mercado Pago - #13 Status e Erro das Transações
Neste tutorial trabalharemos com o status da nossa transação e com possíveis erros encontrados durante o pagamento, exibindo uma resposta ao usuário.
Saiba mais!
Mercado Pago
Neste curso aprenderemos como desenvolver pagamentos através do checkout transparente da API do Mercado Pago.
Saiba mais!