-
Notifications
You must be signed in to change notification settings - Fork 39
/
Copy pathgerar-qrcode-dinamico.php
74 lines (56 loc) · 1.66 KB
/
gerar-qrcode-dinamico.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
require __DIR__.'/vendor/autoload.php';
require __DIR__.'/config-pix.php';
use \App\Pix\Api;
use \App\Pix\Payload;
use Mpdf\QrCode\QrCode;
use Mpdf\QrCode\Output;
//INSTANCIA DA API PIX
$obApiPix = new Api(API_PIX_URL,
API_PIX_CLIENT_ID,
API_PIX_CLIENT_SECRET,
API_PIX_CERTIFICATE);
//CORPO DA REQUISIÇÃO
$request = [
'calendario' => [
'expiracao' => 3600
],
'devedor' => [
'cpf' => '12345678909',
'nome' => 'Fulano de Tal'
],
'valor' => [
'original' => '10.00'
],
'chave' => PIX_KEY,
'solicitacaoPagador' => 'Pagamento do pedido 123'
];
//RESPOSTA DA REQUISIÇÃO DE CRIAÇÃO
$response = $obApiPix->createCob('WDEV1234123412340000000007',$request);
//VERIFICA A EXISTÊNCIA DO ITEM 'LOCATION'
if(!isset($response['location'])){
echo 'Problemas ao gerar Pix dinâmico';
echo "<pre>";
print_r($response);
echo "</pre>"; exit;
}
//INSTANCIA PRINCIPAL DO PAYLOAD PIX
$obPayload = (new Payload)->setMerchantName(PIX_MERCHANT_NAME)
->setMerchantCity(PIX_MERCHANT_CITY)
->setAmount($response['valor']['original'])
->setTxid('***')
->setUrl($response['location'])
->setUniquePayment(true);
//CÓDIGO DE PAGAMENTO PIX
$payloadQrCode = $obPayload->getPayload();
//QR CODE
$obQrCode = new QrCode($payloadQrCode);
//IMAGEM DO QRCODE
$image = (new Output\Png)->output($obQrCode,400);
?>
<h1>QR CODE DINÂMICO DO PIX</h1>
<br>
<img src="data:image/png;base64, <?=base64_encode($image)?>">
<br><br>
Código pix:<br>
<strong><?=$payloadQrCode?></strong>