Escolar Documentos
Profissional Documentos
Cultura Documentos
www.scriptmundo.com
SUMÁRIO
1. INTRODUÇÃO …………………………………………………………………… 2
2. CHECKOUT ………………………………………………………………………. 3
3. FUNÇÕES …………………………………………………………………………. 4
4. REQUISIÇÃO ……………………………………………………………………… 6
5. NOTIFICAÇÃO …………………………………………………………………….. 9
15 de Dezembro, 2018
1. Introdução
Olá, de imediato gostaria de pedir minhas sinceras desculpas, pois nunca tive que
criar um PDF neste modelo (com sumário). Continuando [...].
A utilização desta API é muito útil, pois além de ser uma ferramenta muito rápida faz
parte de uma plataforma com baixa taxa de impostos (quando cobrado).
Várias pessoas nas quais tem um negócio online, procuram desesperadamente
uma GateWay de pagamentos cuja seu funcionamento não exija uma conta
bancária para se utilizar.
O Mercado Pago, possui em sua plataforma o “Cartão pré-pago”, que pode ser
solicitado gratuitamente livre de impostos e com frete totalmente gratuito, isso é uma
das vantagens de se usar essa plataforma. Você recebe seus pagamentos pelo seu
site usando a API, e pode utilizar do dinheiro usando seu cartão
(INTERNACIONAL).
Nesta aula, não será necessário a utilização da documentação original da API; mas
caso seja de seu desejo aqui está (https://bit.ly/2SzDA8y).
Os downloads dos materiais a serem utilizados, podem ser baixados nos links
abaixo:
Após ser registrado a fatura, iremos buscar o ID dela, para ser passado como
parâmetro para o Mercado Pago nos notificar mais tarde, de qual fatura se trata.
Vamos utilizar óbviamente a biblioteca do mercado pago para que possamos gerar
o token do checkout.
class PagamentoMP{
// vamos dar alguns atributos a esta class
// como :
// O botão que irá retornar da função PagarMP (string)
public $btn_mp;
// Definiremos o botão que irá retornar, se será uma lightbox
// do mercado pago ou não, como padrão será false. o user será
// redirecionado para o site do mercado pago
private $lightbox = false;
// Esta variável recebe uma array com os dados da transação
public $info = array();
// Se for em modo de teste, esta variável recebe true, caso
// contrário o sistema estará em modo de produção
private $sandbox = true;
// Suas credenciais do mercado pago
private $client_id = “SEU CLIENT_ID”;
private $client_secret = “SUA CLIENT_SECRET”;
/* Em seguida as duas funções */
}
4. Requisição
A requisição ao mercado pago será feita na primeira função.
Para isso criaremos uma variável chamada $preference_data para receber uma
array que conterá os valores necessários para a requisição:
$preference_data = array(
“items” => array(),
“back_urls” => array(),
“notification_url” => “https://site.com/notificacao”,
“external_reference” => $ref,
);
// Dados do produto
“items” => array(
array(
“id” => 0001,
“title” => “Notebook”,
“currency_id” => “BRL”,
“picture_url” => “https://site.com/produto/img/p.jpg”,
“description” => “Notebook branco, Apple”,
“quantity” => 1,
“unit_price” => 1200.00
)
),
Abaixo os dados da array: back_urls:
I. success: Url de retorno caso o pagamento seja realizado pelo usuário
II. failure: Url de retorno caso o pagamento seja recusado pelo mercado pago
III. pending: Url de retorno caso o pagamento esteja em aprovação
// Urls de retorno, para onde o usuário será redirecionado
// após sair do site do mercado pago
“back_urls” => array(
“success” => “https://site.com/aprovado/”,
“failure” => “https://site.com/falha_pay/”,
“pending” => “https://site.com/pendente/”
),
Após nossa variável $preference_data possuir todos os dados necessários,
iremos fazer a requisição (lembre-se de incluir o arquivo mercadopago.php que
está dentro da biblioteca).
Vamos colocar todos os dados da requisição em uma variável:
$preference = $mp->c
reate_preference($preference_data);
Está requisição será efetuada ainda na primeira função, pois então nesta parte do
código, você deve verificar se está em produção ou em SandBox:
if($this->lightbox):
$this->btn_mp .= ' <script type="text/javascript"
src="//secure.mlstatic.com/mptools/render.js"></script> ';
endif;
Por fim retornamos o botão desta função:
return $this->btn_mp;
5. Notificação
A notificação que o mercado passada ao nosso sistema é realizada sempre que
houver alguma atualização da movimentação na sua conta referente a fatura.
I. 200 - OK
II. 201 - CREATED
$topic = 'payment';
Depois da verificação vamos já buscar os dados do pagamento, e repare que
teremos a variável $id na requisição, pois se trata da referência do pagamento,
aliás ela é passada junto com a função, a Retorno.
Essa referência o mercado pago envia pra você no arquivo que você escolheu para
notificação, você recebe por duas maneiras, por isso devemos adicionar esta
referência a variável id em duas situações:
if(isset($_GET['collection_id'])):
$id = $_GET['collection_id'];
elseif(isset($_GET[ 'id'])):
$id = $_GET['id'];
endif;
// Em seguida chame a função e passe o id
1. ticket - Boleto
2. account_money - Saldo em conta
3. credit_card - Cartão de crédito
switch ($payment_info["response"]["collection"]["payment_type"]):
case "ticket" : $forma = "Boleto";
break;
case "account_money" : $ forma = "Saldo MP";
break;
case "credit_card" : $forma = "Cartão de Crédito";
break;
default : $forma =
$payment_info["response"]["collection"]["payment_type"];
endswitch;
$ref =
$payment_info["response"]["collection"]["external_reference"];
No mesmo arquivo no qual você receberá a notificação, você pode enviar um email
para um responsável pela fatura, ou até mesmo se possuir um sistema de
notificação no seu sistema pode utilizá-lo.
Muito obrigado por ler até aqui, e acompanhar as nossas videos aulas.
Se possuir dúvidas envie para meu email, irei responder todas:
scriptmundo002@gmail.com
www.scriptmundo.com