2017 © Pedro Peláez
 

library laravelpagseguro

Biblioteca de integração com o gateway de pagamento PagSeguro.

image

michael/laravelpagseguro

Biblioteca de integração com o gateway de pagamento PagSeguro.

  • Tuesday, April 3, 2018
  • by marabesi
  • Repository
  • 43 Watchers
  • 230 Stars
  • 9,101 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 98 Forks
  • 12 Open issues
  • 12 Versions
  • 7 % Grown

The README.md

Laravel PagSeguro - 1.0.6

, (*1)

[![Build Status](https://travis-ci.org/michaeldouglas/laravel-pagseguro.svg?branch=master)](https://travis-ci.org/michaeldouglas/laravel-pagseguro) [![Total Downloads](https://poser.pugx.org/michael/laravelpagseguro/downloads)](https://packagist.org/packages/michael/laravelpagseguro) [![Latest Unstable Version](https://poser.pugx.org/leaphly/cart-bundle/v/unstable.svg)](//packagist.org/packages/michael/laravelpagseguro) [![License](https://poser.pugx.org/leaphly/cart-bundle/license.svg)](https://packagist.org/packages/michael/laravelpagseguro) [![Code Climate](https://codeclimate.com/github/michaeldouglas/laravel-pagseguro/badges/gpa.svg)](https://codeclimate.com/github/michaeldouglas/laravel-pagseguro) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/a358a57c8d4f4458b9d9055326f5a67c)](https://www.codacy.com/app/michaeldouglas010790/laravel-pagseguro?utm_source=github.com&utm_medium=referral&utm_content=michaeldouglas/laravel-pagseguro&utm_campaign=Badge_Grade) , (*2)

O laravel-pagseguro consome a API do PagSeguro e prove uma forma simples de gerar o pagamento, e notificar sobre as suas transações., (*3)

Criação e configuração do usuário

Antes de você utilizar o Laravel PagSeguro é importante você verificar se o seu usuário do PagSeguro está correto para a integração segue URL de configuração do usuário PagSeguro: https://pagseguro.uol.com.br/preferencias/integracoes.jhtml, (*4)

Compatibilidade

PHP >= 5.4 Laravel 5.x, (*5)

Instalação

Abra o arquivo composer.json e insira a seguinte instrução:, (*6)

"require": {
    "michael/laravelpagseguro": "dev-master"
}

Observação: Para a versão 5.1 do laravel ou abaixo especifique a versão 0.4.1 ao invés de utilizar dev-master, (*7)

Após inserir no require o Laravel PagSeguro, você deverá executar o comando:, (*8)

composer update

Ou execute o comando:, (*9)

composer require michael/laravelpagseguro:dev-master

Configuração do Service Provider

Abra o arquivo config/app.php e adicione no array providers a seguinte instrução:, (*10)

laravel\pagseguro\Platform\Laravel5\ServiceProvider::class

Aliases do package

Em seu arquivo config/app.php adicione no array aliases a seguinte instrução:, (*11)

'PagSeguro' => laravel\pagseguro\Platform\Laravel5\PagSeguro::class

Criação do configurador

Agora você irá executar o comando:, (*12)

php artisan vendor:publish

Se tudo ocorreu bem, a seguinte mensagem sera exibida:, (*13)

Copied File [/vendor/michael/laravelpagseguro/src/laravel/pagseguro/Config/laravelpagseguro.php] To [/config/laravelpagseguro.php]

Ajuste da configuração

Abra o arquivo config/laravelpagseguro.php altere o token e também o e-mail informando o da sua loja:, (*14)

    'credentials' => array(//SETA AS CREDENCIAIS DE SUA LOJA
        'token' => null,
        'email' => null,
    )

Proxy

Caso você precise de proxy para utilizar a Laravel PagSeguro descomente e configure a linha de http adapter:, (*15)

'http' => [
    'adapter' => [
        'type' => 'curl',
        'options' => [
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_0,
            // CURLOPT_PROXY => 'http://user:pass@host:port', // PROXY OPTION <<--
        ]
    ],
],

Exemplo de envio de requisição de compra

O array de envio deverá ser montado com a seguinte estrutura:, (*16)


$data = [ 'items' => [ [ 'id' => '18', 'description' => 'Item Um', 'quantity' => '1', 'amount' => '1.15', 'weight' => '45', 'shippingCost' => '3.5', 'width' => '50', 'height' => '45', 'length' => '60', ], [ 'id' => '19', 'description' => 'Item Dois', 'quantity' => '1', 'amount' => '3.15', 'weight' => '50', 'shippingCost' => '8.5', 'width' => '40', 'height' => '50', 'length' => '80', ], ], 'shipping' => [ 'address' => [ 'postalCode' => '06410030', 'street' => 'Rua Leonardo Arruda', 'number' => '12', 'district' => 'Jardim dos Camargos', 'city' => 'Barueri', 'state' => 'SP', 'country' => 'BRA', ], 'type' => 2, 'cost' => 30.4, ], 'sender' => [ 'email' => 'sender@gmail.com', 'name' => 'Isaque de Souza Barbosa', 'documents' => [ [ 'number' => '01234567890', 'type' => 'CPF' ] ], 'phone' => [ 'number' => '985445522', 'areaCode' => '11', ], 'bornDate' => '1988-03-21', ] ];

Após ter os dados, utilize o método: createFromArray para criar o objeto de checkout:, (*17)

$checkout = PagSeguro::checkout()->createFromArray($data);

Para confirmar o envio utilize o método: send da seguinte forma:, (*18)

$checkout = PagSeguro::checkout()->createFromArray($data);
$credentials = PagSeguro::credentials()->get();
$information = $checkout->send($credentials); // Retorna um objeto de laravel\pagseguro\Checkout\Information\Information
if ($information) {
    print_r($information->getCode());
    print_r($information->getDate());
    print_r($information->getLink());
}

Informando metadados de Recarga de celular:, (*19)

// ....
$data['cellphone_charger'] = '+5511980810000';
$checkout = PagSeguro::checkout()->createFromArray($data);

Informando metadados para Dados de viagem:, (*20)

// ....
$data['travel'] = [
  'passengers' => [
      [
          'name' => 'Isaque de Souza',
          'cpf' => '40404040411',
          'passport' => '4564897987'
      ],
      [
          'name' => 'Michael Douglas',
          'cpf' => '80808080822',
      ]
  ],
  'origin' => [
      'city' => 'SAO PAULO - SP',
      'airportCode' => 'CGH', // Congonhas
  ],
  'destination' => [
      'city' => 'RIO DE JANEIRO - RJ',
      'airportCode' => 'SDU', // Santos Dumont
  ]
];
$checkout = PagSeguro::checkout()->createFromArray($data);

Informando metadados para Jogos:, (*21)

// ....
$data['game'] = [
    'gameName' => 'PS LEGEND',
    'playerId' => 'BR561546S4',
    'timeInGameDays' => 360,
];
$checkout = PagSeguro::checkout()->createFromArray($data);

Credenciais

Para resgatar as credenciais padrões do arquivo você pode usar:, (*22)

$credentials = PagSeguro::credentials()->get();

Ou usar credenciais alternativas, (*23)

$credentials = PagSeguro::credentials()->create($token, $email);

Consultando uma Transação manualmente

$credentials = PagSeguro::credentials()->get();
$transaction = PagSeguro::transaction()->get($code, $credentials);
$information = $transaction->getInformation();

Recebendo Notificações de Transação

Crie uma rota POST com o nome "pagseguro.notification" (Esta no config), (*24)

Route::post('/pagseguro/notification', [
    'uses' => '\laravel\pagseguro\Platform\Laravel5\NotificationController@notification',
    'as' => 'pagseguro.notification',
]);

Registre um callback (callable) no seu config laravelpagseguro.php, (*25)

'routes' => [
    'notification' => [
        'callback' => ['MyNotificationClass', 'myMethod'], // Callable
        'credential' => 'default',
        'route-name' => 'pagseguro.notification', // Nome da rota
    ],
],

Ou ...., (*26)

'routes' => [
    'notification' => [
        'callback' => function ($information) { // Callable
            \Log::debug(print_r($information, 1));
        },
    ],
],

Exemplo de callable em uma classe

No arquivo de configuração você deverá deixar da seguinte maneira:, (*27)

'notification' => [
  'callback' => ['App\Controllers\PagSeguroController', 'Notification'], // Callable callback to Notification function (notificationInfo) : void {}
  'credential' => 'default', // Callable resolve credential function (notificationCode) : Credentials {}
  'route-name' => 'pagseguro.notification', // Criar uma rota com este nome
],

E na controller você deverá criar o método, por exemplo, Notification:, (*28)

public static function Notification($information)
{
    \Log::debug(print_r($information->getStatus()->getCode(), 1));
}

Criação de plano de pagamento recorrente

A criação de plano de pagamento recorrente inicia com a criação do plano e para isso você deverá criar o seguinte array:, (*29)

Caso queira ver os objetos de requisição: https://dev.pagseguro.uol.com.br/v1.0/reference#criar-plano, (*30)

$plan = [
    'body' => [
        'reference' => 'plano laravel pagseguro',
    ],

    'preApproval' => [
        'name' => 'Plano ouro - mensal',
        'charge' => 'AUTO', // outro valor pode ser MANUAL
        'period' => 'MONTHLY', //WEEKLY, BIMONTHLY, TRIMONTHLY, SEMIANNUALLY, YEARLY
        'amountPerPayment' => '125.00', // obrigatório para o charge AUTO - mais que 1.00, menos que 2000.00
        'membershipFee' => '50.00', //opcional - cobrado com primeira parcela
        'trialPeriodDuration' => 30, //opcional
        'details' => 'Decrição do plano', //opcional
        'expiration' => [ // opcional
            'value' => 1, // obrigatório de 1 a 1000000
            'unit' => 'YEARLY', // obrigatório 
        ],
    ]

];

E então você deverá chamar o método de criação do plano:, (*31)

$plan = \PagSeguro::plan()->createFromArray($plan);
$credentials = \PagSeguro::credentials()->get();
$information = $plan->send($credentials); // Retorna um objeto de laravel\pagseguro\Checkout\Information\Information
if ($information) {
  print_r($information->getCode());
  print_r($information->getDate());
  print_r($information->getLink());
}

Licença

O Laravel PagSeguro utiliza a licença MIT, para saber mais leia no link: MIT license, (*32)

The Versions

03/04 2018

dev-master

9999999-dev

Biblioteca de integração com o gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Michael Douglas Barbosa Araujo
by Isaque de Souza Barbosa

laravel framework pagseguro gateway pagamento

16/01 2018

1.0.5

1.0.5.0

Biblioteca de integração com o gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Michael Douglas Barbosa Araujo
by Isaque de Souza Barbosa

laravel framework pagseguro gateway pagamento

17/07 2017

1.0.4

1.0.4.0

Biblioteca de integração com o gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Michael Douglas Barbosa Araujo
by Isaque de Souza Barbosa

laravel framework pagseguro gateway pagamento

17/07 2017

1.0.3

1.0.3.0

Biblioteca de integração com o gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Michael Douglas Barbosa Araujo
by Isaque de Souza Barbosa

laravel framework pagseguro gateway pagamento

07/05 2016

1.0.2

1.0.2.0

Biblioteca de integração com o gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Michael Douglas Barbosa Araujo
by Isaque de Souza Barbosa

laravel framework pagseguro gateway pagamento

01/04 2016

1.0.1

1.0.1.0

Biblioteca de integração com o gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Michael Douglas Barbosa Araujo
by Isaque de Souza Barbosa

laravel framework pagseguro gateway pagamento

03/03 2016

1.0.0

1.0.0.0

Biblioteca de integração com o gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Michael Douglas Barbosa Araujo
by Isaque de Souza Barbosa

laravel framework pagseguro gateway pagamento

16/01 2016

0.6.0

0.6.0.0

Biblioteca de integração com o gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

  • ext-curl *
  • php >=5.4.0
  • lib-curl *
  • lib-openssl *
  • lib-libxml *

 

The Development Requires

by Michael Douglas Barbosa Araujo
by Isaque de Souza Barbosa

laravel framework pagseguro gateway pagamento

10/01 2016

0.5.0

0.5.0.0

Biblioteca de integração com o gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

  • ext-curl *
  • php >=5.4.0
  • lib-curl *
  • lib-openssl *
  • lib-libxml *

 

The Development Requires

by Michael Douglas Barbosa Araujo
by Isaque de Souza Barbosa

laravel framework pagseguro gateway pagamento

27/07 2015

0.4.1

0.4.1.0

Biblioteca de integração com o gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Michael Douglas Barbosa Araujo
by Isaque de Souza

laravel framework pagseguro gateway pagamento

04/07 2015

0.4.0

0.4.0.0

Biblioteca de integração com o gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Michael Douglas Barbosa Araujo
by Isaque de Souza

laravel framework pagseguro gateway pagamento

31/12 2014

0.3.0

0.3.0.0

Biblioteca de integração com o Gateway de pagamento PagSeguro.

  Sources   Download

MIT

The Requires

 

The Development Requires

by Michael Douglas Barbosa Araujo

laravel framework gateway pagamento pagseguro laravel