laravel-pagseguro menggunakan API PagSeguro dan menyediakan cara sederhana untuk menghasilkan pembayaran, dan memberi tahu tentang transaksi Anda.
Sebelum Anda menggunakan laravel pagseguro penting untuk memeriksa apakah nama pengguna PagSeguro Anda benar untuk integrasi. Ikuti URL konfigurasi pengguna PagSeguro: https://pagseguro.uol.com.br/preferencias/integracoes.jhtml
PHP >= 5.4 Laravel 5.x
Buka file composer.json
dan masukkan pernyataan berikut:
"require": {
"michael/laravelpagseguro": "dev-master"
}
Catatan : Untuk laravel versi 5.1 atau lebih rendah, tentukan versi 0.4.1 daripada menggunakan dev-master
Setelah memasukkan laravel pagseguro
ke dalam require, Anda harus menjalankan perintah:
composer update
Atau jalankan perintah:
composer require michael/laravelpagseguro:dev-master
Buka file config/app.php
dan tambahkan pernyataan berikut ke array providers
:
laravel pagseguro Platform Laravel5 ServiceProvider::class
Di file config/app.php
Anda, tambahkan pernyataan berikut ke array aliases
:
' PagSeguro ' => laravel pagseguro Platform Laravel5 PagSeguro::class
Sekarang Anda akan menjalankan perintah:
php artisan vendor:publish
Jika semuanya berjalan dengan baik, pesan berikut akan ditampilkan:
Copied File [/vendor/michael/laravelpagseguro/src/laravel/pagseguro/Config/laravelpagseguro.php] To [/config/laravelpagseguro.php]
Buka file config/laravelpagseguro.php
dan ubah token
dan juga e-mail
yang menginformasikan toko Anda:
' credentials ' => array ( //SETA AS CREDENCIAIS DE SUA LOJA
' token ' => null ,
' email ' => null ,
)
Jika Anda memerlukan proxy untuk menggunakan laravel pagseguro batalkan komentar dan konfigurasikan baris adaptor http:
' http ' => [
' adapter ' => [
' type ' => ' curl ' ,
' options ' => [
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_0 ,
// CURLOPT_PROXY => 'http://user:pass@host:port', // PROXY OPTION <<--
]
],
],
Array pengirim harus dirakit dengan struktur berikut:
$ 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 ' ,
]
];
Setelah Anda memiliki datanya, gunakan metode: createFromArray
untuk membuat objek checkout:
$ checkout = PagSeguro:: checkout ()-> createFromArray ( $ data );
Untuk konfirmasi pengiriman, gunakan cara send
sebagai berikut:
$ 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 ());
}
Melaporkan metadata isi ulang ponsel:
// ....
$ data [ ' cellphone_charger ' ] = ' +5511980810000 ' ;
$ checkout = PagSeguro:: checkout ()-> createFromArray ( $ data );
Metadata pelaporan untuk Data Perjalanan:
// ....
$ 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 );
Metadata pelaporan untuk Game:
// ....
$ data [ ' game ' ] = [
' gameName ' => ' PS LEGEND ' ,
' playerId ' => ' BR561546S4 ' ,
' timeInGameDays ' => 360 ,
];
$ checkout = PagSeguro:: checkout ()-> createFromArray ( $ data );
Untuk mengambil kredensial default dari file, Anda dapat menggunakan:
$ credentials = PagSeguro:: credentials ()-> get ();
Atau gunakan kredensial alternatif
$ credentials = PagSeguro:: credentials ()-> create ( $ token , $ email );
$ credentials = PagSeguro:: credentials ()-> get ();
$ transaction = PagSeguro:: transaction ()-> get ( $ code , $ credentials );
$ information = $ transaction -> getInformation ();
Buat rute POST dengan nama "pageguro.notification" (Ini ada di config)
Route:: post ( ' /pagseguro/notification ' , [
' uses ' => ' laravelpagseguroPlatformLaravel5NotificationController@notification ' ,
' as ' => ' pagseguro.notification ' ,
]);
Daftarkan callback (callable) di konfigurasi laravelpageguro.php Anda
' routes ' => [
' notification ' => [
' callback ' => [ ' MyNotificationClass ' , ' myMethod ' ], // Callable
' credential ' => ' default ' ,
' route-name ' => ' pagseguro.notification ' , // Nome da rota
],
],
Atau....
' routes ' => [
' notification ' => [
' callback ' => function ( $ information ) { // Callable
Log:: debug ( print_r ( $ information , 1 ));
},
],
],
Dalam file konfigurasi Anda harus membiarkannya sebagai berikut:
' 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
],
Dan di controller Anda harus membuat metode, misalnya Notifikasi:
public static function Notification ( $ information )
{
Log:: debug ( print_r ( $ information -> getStatus ()-> getCode (), 1 ));
}
Membuat paket pembayaran berulang dimulai dengan membuat paket dan untuk melakukan ini, Anda harus membuat susunan berikut:
Jika Anda ingin melihat objek permintaan: https://dev.pageguro.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
],
]
];
Dan kemudian Anda harus memanggil metode pembuatan rencana:
$ 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 menggunakan lisensi MIT, untuk mengetahui lebih lanjut baca link : Lisensi MIT