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 - #12 Fatura Dinâmica

03/04/2021

Nesse 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

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

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.
Saiba mais!
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.
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!