Vendas Online via API com PayPal - #12 Fatura Dinâmica
03/04/2021Nesse tutorial vamos pegar todos os produtos adicionados no nosso carrinho de compras e vamos criar uma fatura dinâmica com PayPal.
Criando faturas transparentes com PayPal
assets/js/javascript.js
No nosso javascript vamos enviar a função getCheckout para o escopo global:
win.checkout=getCheckout;
checkout.php
Na nossa view checkout vamos executar a função getCheckout que enviamos para o escopo global:
<script>checkout();</script>
controllers/ControllerInvoice.php
No controller da fatura vamos percorrer a session products e ir adicionando os itens do carrinho:
<?php
require_once ('../config/config.php');
require_once ('../class/ClassPayment.php');
require_once ('../class/ClassCarrinho.php');
$objPayment=new ClassPayment();
$objCarrinho=new ClassCarrinho();
$items="";
$i=1;
foreach ($_SESSION['products'] as $products){
$cont=count($_SESSION['products']);
$comma=($i >= $cont)?'':',';
$items.='
{
"name": "'.$products['name'].'",
"description": "'.$products['name'].'",
"quantity": "'.$products['quantity'].'",
"price": "'.$products['price'].'",
"tax": "0.00",
"sku": "product'.$products['id'].'",
"currency": "BRL"
}'.$comma.'';
$i++;
}
$data='{
"intent": "sale",
"payer": {
"payment_method": "paypal"
},
"transactions": [{
"amount": {
"currency": "BRL",
"total": '.$objCarrinho->getAmount().',
"details": {
"shipping": "0.00",
"subtotal": '.$objCarrinho->getAmount().',
"shipping_discount": "0.00",
"insurance": "0.00",
"handling_fee": "0.00",
"tax": "0.00"
}
},
"description": "This is the payment transaction description",
"payment_options": {
"allowed_payment_method": "IMMEDIATE_PAY"
},
"item_list": {
"shipping_address": {
"recipient_name": "PP Plus Recipient",
"line1": "Gregório Rolim de Oliveira, 42",
"line2": "JD Serrano II",
"city": "Votorantim",
"country_code": "BR",
"postal_code": "18117-134",
"state": "São Paulo",
"phone": "0800-761-0880"
},
"items": ['.$items.']
}
}],
"redirect_urls": {
"return_url": "https://example.com/return",
"cancel_url": "https://example.com/cancel"
}
}';
//echo "<pre>",print_r($data),"</pre>";
echo $objPayment->invoice($data);
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 - #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.
Vendas Online via API com PayPal - #13 Notificações
Nesse tutorial trabalharemos com as notificações emitidas pelo PayPal após as transações realizadas. Veremos como usar o IPN do PayPal.