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 - #9 Finalizando Pagamento

24/03/2021

Nesse video vamos finalizar o pagamento via API com PayPal, enviando todos os dados necessários para o servidor de pagamento.

Finalizando pagamento com API PayPal

assets/js/javascript.js

Vamos começar implementando o javascript no nosso projeto:

async function messageListener(event) {
    try {
        //this is how we extract the message from the incoming events, data format should look like {"action":"inlineCheckout","checkoutSession":"error","result":"missing data in the credit card form"}
        let data = JSON.parse(event.data);
        if(data.result.state == 'APPROVED'){
            let response=await fetch(getRoot()+'controllers/ControllerPayment.php',{
                method:'POST',
                headers:{
                    Accept:'application/json',
                    'Content-Type':'application/json'
                },
                body:JSON.stringify({
                    payment_id: payment_id,
                    payer_id: data.result.payer.payer_info.payer_id
                })
            });
            let json=await response.json();
            doc.querySelector('#continueButton').style.display='none';
            doc.querySelector('#ppplus').style.backgroundColor='darkgreen';
            doc.querySelector('#ppplus').innerHTML='Seu pagamento foi aprovado!';
        }
        //insert logic here to handle success events or errors, if any
    } catch (exc) {
    }
}
if(doc.querySelector('#continueButton')){
    doc.querySelector('#continueButton').addEventListener('click', (event)=>{
        event.preventDefault();
        ppp.doContinue();
        if (win.addEventListener) {
            win.addEventListener("message", messageListener, false);
        } else if (win.attachEvent) {
            win.attachEvent("onmessage", messageListener);
        } else {
            throw new Error("Can't attach message listener");
        }
    });
}

controllers/ControllerPayment.php

Bora agora criar o controller que fará o curl na API do PayPal:

<?php
require_once ('../config/config.php');
require_once ('../class/ClassPayment.php');
$objPayment=new ClassPayment();
$json=json_decode(file_get_contents('php://input'));
$data['payment_id']=$json->payment_id;
$data['payer_id']=$json->payer_id;
echo $objPayment->payment($data);

class/ClassPayment.php

Vamos criar a função de pagamento dentro da ClassPayment:

//Payment
public function payment($data)
{
    $this->getToken();
    $this->url=URL."v1/payments/payment/".$data['payment_id']."/execute/";
    $this->post=json_encode(array('payer_id'=>$data['payer_id']));
    return json_encode($this->curls('payment'));
}

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 - #8 Button e Credit Card
Nesse tutorial vamos finalizar o pagamento enviando os dados do cartão de crédito e os dados pessoais do cliente pra API do PayPal.
Saiba mais!
Vendas Online via API com PayPal - #10 Carrinho de Compra
No tutorial de hoje começaremos a criar um carrinho de compras para enviar dados dinâmicos de vários itens para o 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!