Vendas Online via API com PayPal - #5 Pegando o Token
09/02/2021Nesse tutorial começamos a trabalhar literalmente com a API do PayPal, utilizando pra isso a lib PayPal Plus que é a utilizada no Brasil.
Api PayPal Plus
Para acessar a api vamos acessar este link.
Neste link, crie o seu app para ter as suas chaves secretas.
config/config.php
Vamos criar agora nosso arquivo de configuração que vai trazer os dados constantes do nosso projeto tais como: informações do banco de dados, caminhos absolutos e as chaves secretas.
<?php
define('MODE','sandbox');
if(MODE == 'sandbox'){
define('URL','https://api.sandbox.paypal.com/');
define('CLIENTID','SUA_CLIENTID_SANDBOX');
define('SECRETKEY','SUA_SECRETKEY_SANDBOX');
}else{
define('URL','https://api.paypal.com/');
define('CLIENTID','SUA_CLIENTID_LIVE');
define('SECRETKEY','SUA_SECRETKEY_LIVE');
}
class/ClassPayment.php
Dentro do diretório class vamos criar a classe responsável por pegar o token da API do PayPal.
<?php
class ClassPayment{
private $url;
private $post;
private $token;
private $payment;
//Curls
private function curls($action){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$this->url);
curl_setopt($ch,CURLOPT_HEADER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$this->post);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_USERPWD,CLIENTID.':'.SECRETKEY);
$data=curl_exec($ch);
curl_close($ch);
var_dump(json_decode($data));
}
//Get a access token
public function getToken()
{
$this->url=URL.'v1/oauth2/token';
$this->post="grant_type=client_credentials";
$this->curls('token');
}
}
index.php
No topo da nossa index vamos chamar essa classe recém criada.
<?php
include ("config/config.php");
include ("class/ClassPayment.php");
$objPayment=new ClassPayment();
$objPayment->getToken();
?>
Se os seus dados estiverem todos corretos você já pode testar pra verificar se já está recebendo o token.
Por hoje é só! Sucesso nos códigos e na vida!
Precisando de aulas particulares? webdesignemfoco@gmail.com