laravel-pagseguro utilise l'API PagSeguro et fournit un moyen simple de générer un paiement et d'informer de vos transactions.
Avant d'utiliser laravel pagseguro il est important de vérifier que votre nom d'utilisateur PagSeguro est correct pour l'intégration. Suivez l'URL de configuration utilisateur PagSeguro : https://pagseguro.uol.com.br/preferencias/integracoes.jhtml.
PHP >= 5.4 Laravel 5.x
Ouvrez le fichier composer.json
et saisissez l'instruction suivante :
"require": {
"michael/laravelpagseguro": "dev-master"
}
Remarque : Pour laravel version 5.1 ou inférieure, spécifiez la version 0.4.1 au lieu d'utiliser dev-master
Après avoir inséré laravel pagseguro
dans require, vous devez exécuter la commande :
composer update
Ou exécutez la commande :
composer require michael/laravelpagseguro:dev-master
Ouvrez le fichier config/app.php
et ajoutez l'instruction suivante au tableau providers
:
laravel pagseguro Platform Laravel5 ServiceProvider::class
Dans votre fichier config/app.php
, ajoutez l'instruction suivante au tableau aliases
:
' PagSeguro ' => laravel pagseguro Platform Laravel5 PagSeguro::class
Vous allez maintenant exécuter la commande :
php artisan vendor:publish
Si tout s'est bien passé, le message suivant s'affichera :
Copied File [/vendor/michael/laravelpagseguro/src/laravel/pagseguro/Config/laravelpagseguro.php] To [/config/laravelpagseguro.php]
Ouvrez le fichier config/laravelpagseguro.php
et modifiez le token
ainsi que l' e-mail
informant votre boutique :
' credentials ' => array ( //SETA AS CREDENCIAIS DE SUA LOJA
' token ' => null ,
' email ' => null ,
)
Si vous avez besoin d'un proxy pour utiliser laravel pagseguro décommentez et configurez la ligne de l'adaptateur http :
' http ' => [
' adapter ' => [
' type ' => ' curl ' ,
' options ' => [
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_0 ,
// CURLOPT_PROXY => 'http://user:pass@host:port', // PROXY OPTION <<--
]
],
],
Le tableau d'envoi doit être assemblé avec la structure suivante :
$ 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 ' => ' [email protected] ' ,
' name ' => ' Isaque de Souza Barbosa ' ,
' documents ' => [
[
' number ' => ' 01234567890 ' ,
' type ' => ' CPF '
]
],
' phone ' => [
' number ' => ' 985445522 ' ,
' areaCode ' => ' 11 ' ,
],
' bornDate ' => ' 1988-03-21 ' ,
]
];
Une fois que vous avez les données, utilisez la méthode : createFromArray
pour créer l'objet de paiement :
$ checkout = PagSeguro:: checkout ()-> createFromArray ( $ data );
Pour confirmer l'envoi, utilisez la méthode : send
comme suit :
$ checkout = PagSeguro:: checkout ()-> createFromArray ( $ data );
$ credentials = PagSeguro:: credentials ()-> get ();
$ information = $ checkout -> send ( $ credentials ); // Retorna um objeto de laravelpagseguroCheckoutInformationInformation
if ( $ information ) {
print_r ( $ information -> getCode ());
print_r ( $ information -> getDate ());
print_r ( $ information -> getLink ());
}
Signalement des métadonnées de recharge de téléphone portable :
// ....
$ data [ ' cellphone_charger ' ] = ' +5511980810000 ' ;
$ checkout = PagSeguro:: checkout ()-> createFromArray ( $ data );
Métadonnées de reporting pour les données de voyage :
// ....
$ 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 );
Métadonnées de rapport pour les jeux :
// ....
$ data [ ' game ' ] = [
' gameName ' => ' PS LEGEND ' ,
' playerId ' => ' BR561546S4 ' ,
' timeInGameDays ' => 360 ,
];
$ checkout = PagSeguro:: checkout ()-> createFromArray ( $ data );
Pour récupérer les informations d'identification par défaut du fichier, vous pouvez utiliser :
$ credentials = PagSeguro:: credentials ()-> get ();
Ou utilisez d'autres informations d'identification
$ credentials = PagSeguro:: credentials ()-> create ( $ token , $ email );
$ credentials = PagSeguro:: credentials ()-> get ();
$ transaction = PagSeguro:: transaction ()-> get ( $ code , $ credentials );
$ information = $ transaction -> getInformation ();
Créez une route POST avec le nom "pagseguro.notification" (c'est dans la configuration)
Route:: post ( ' /pagseguro/notification ' , [
' uses ' => ' laravelpagseguroPlatformLaravel5NotificationController@notification ' ,
' as ' => ' pagseguro.notification ' ,
]);
Enregistrez un rappel (appelable) dans votre configuration laravelpagseguro.php
' routes ' => [
' notification ' => [
' callback ' => [ ' MyNotificationClass ' , ' myMethod ' ], // Callable
' credential ' => ' default ' ,
' route-name ' => ' pagseguro.notification ' , // Nome da rota
],
],
Ou....
' routes ' => [
' notification ' => [
' callback ' => function ( $ information ) { // Callable
Log:: debug ( print_r ( $ information , 1 ));
},
],
],
Dans le fichier de configuration, vous devez le laisser comme suit :
' notification ' => [
' callback ' => [ ' AppControllersPagSeguroController ' , ' 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
],
Et dans le contrôleur, vous devez créer la méthode, par exemple, Notification :
public static function Notification ( $ information )
{
Log:: debug ( print_r ( $ information -> getStatus ()-> getCode (), 1 ));
}
La création d'un plan de paiement récurrent commence par la création du plan et pour ce faire, vous devez créer le tableau suivant :
Si vous souhaitez voir les objets de la requête : https://dev.pagseguro.uol.com.br/v1.0/reference#criar-plano
$ 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
],
]
];
Et puis vous devez appeler la méthode de création de plan :
$ plan = PagSeguro:: plan ()-> createFromArray ( $ plan );
$ credentials = PagSeguro:: credentials ()-> get ();
$ information = $ plan -> send ( $ credentials ); // Retorna um objeto de laravelpagseguroCheckoutInformationInformation
if ( $ information ) {
print_r ( $ information -> getCode ());
print_r ( $ information -> getDate ());
print_r ( $ information -> getLink ());
}
laravel pagseguro utilise la licence MIT, pour en savoir plus lire le lien : Licence MIT