يستهلك laravel-pagseguro واجهة برمجة تطبيقات PagSeguro ويوفر طريقة بسيطة لتوليد الدفع والإخطار بمعاملاتك.
قبل استخدام laravel pagseguro من المهم التحقق من صحة اسم مستخدم PagSeguro الخاص بك للتكامل. اتبع عنوان URL لتكوين مستخدم PagSeguro: https://pagseguro.uol.com.br/preferencias/integracoes.jhtml.
PHP >= 5.4 لارافيل 5.x
افتح ملف composer.json
وأدخل العبارة التالية:
"require": {
"michael/laravelpagseguro": "dev-master"
}
ملحوظة : بالنسبة لإصدار Laravel 5.1 أو أقل، حدد الإصدار 0.4.1 بدلاً من استخدام dev-master
بعد إدراج laravel pagseguro
في الطلب، يجب عليك تنفيذ الأمر:
composer update
أو قم بتشغيل الأمر:
composer require michael/laravelpagseguro:dev-master
افتح ملف config/app.php
وأضف العبارة التالية إلى مصفوفة providers
:
laravel pagseguro Platform Laravel5 ServiceProvider::class
في ملف config/app.php
، أضف العبارة التالية إلى مصفوفة aliases
:
' PagSeguro ' => laravel pagseguro Platform Laravel5 PagSeguro::class
الآن سوف تقوم بتشغيل الأمر:
php artisan vendor:publish
إذا سار كل شيء على ما يرام، سيتم عرض الرسالة التالية:
Copied File [/vendor/michael/laravelpagseguro/src/laravel/pagseguro/Config/laravelpagseguro.php] To [/config/laravelpagseguro.php]
افتح الملف config/laravelpagseguro.php
وقم بتغيير token
وكذلك e-mail
الذي يُعلم متجرك:
' credentials ' => array ( //SETA AS CREDENCIAIS DE SUA LOJA
' token ' => null ,
' email ' => null ,
)
إذا كنت بحاجة إلى وكيل لاستخدام laravel pagseguro قم بإلغاء التعليق وقم بتكوين سطر محول http:
' http ' => [
' adapter ' => [
' type ' => ' curl ' ,
' options ' => [
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_0 ,
// CURLOPT_PROXY => 'http://user:pass@host:port', // PROXY OPTION <<--
]
],
],
يجب تجميع مصفوفة الإرسال بالبنية التالية:
$ 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 ' ,
]
];
بمجرد حصولك على البيانات، استخدم الطريقة: createFromArray
لإنشاء كائن الخروج:
$ checkout = PagSeguro:: checkout ()-> createFromArray ( $ data );
لتأكيد الإرسال استخدم الطريقة: send
كما يلي:
$ 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 ());
}
الإبلاغ عن البيانات الوصفية لإعادة شحن الهاتف الخليوي:
// ....
$ data [ ' cellphone_charger ' ] = ' +5511980810000 ' ;
$ checkout = PagSeguro:: checkout ()-> createFromArray ( $ data );
إعداد التقارير عن البيانات الوصفية لبيانات السفر:
// ....
$ 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 );
الإبلاغ عن البيانات الوصفية للألعاب:
// ....
$ data [ ' game ' ] = [
' gameName ' => ' PS LEGEND ' ,
' playerId ' => ' BR561546S4 ' ,
' timeInGameDays ' => 360 ,
];
$ checkout = PagSeguro:: checkout ()-> createFromArray ( $ data );
لاسترداد بيانات الاعتماد الافتراضية من الملف، يمكنك استخدام:
$ credentials = PagSeguro:: credentials ()-> get ();
أو استخدم بيانات اعتماد بديلة
$ credentials = PagSeguro:: credentials ()-> create ( $ token , $ email );
$ credentials = PagSeguro:: credentials ()-> get ();
$ transaction = PagSeguro:: transaction ()-> get ( $ code , $ credentials );
$ information = $ transaction -> getInformation ();
قم بإنشاء مسار POST باسم "pageseguro.notification" (هذا موجود في التكوين)
Route:: post ( ' /pagseguro/notification ' , [
' uses ' => ' laravelpagseguroPlatformLaravel5NotificationController@notification ' ,
' as ' => ' pagseguro.notification ' ,
]);
قم بتسجيل رد اتصال (قابل للاستدعاء) في ملف تهيئة laravelpagseguro.php الخاص بك
' routes ' => [
' notification ' => [
' callback ' => [ ' MyNotificationClass ' , ' myMethod ' ], // Callable
' credential ' => ' default ' ,
' route-name ' => ' pagseguro.notification ' , // Nome da rota
],
],
أو....
' routes ' => [
' notification ' => [
' callback ' => function ( $ information ) { // Callable
Log:: debug ( print_r ( $ information , 1 ));
},
],
],
في ملف التكوين يجب عليك تركه كما يلي:
' 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
],
وفي وحدة التحكم يجب عليك إنشاء الطريقة، على سبيل المثال، الإخطار:
public static function Notification ( $ information )
{
Log:: debug ( print_r ( $ information -> getStatus ()-> getCode (), 1 ));
}
يبدأ إنشاء خطة دفع متكررة بإنشاء الخطة وللقيام بذلك يجب عليك إنشاء المصفوفة التالية:
إذا كنت تريد رؤية كائنات الطلب: 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
],
]
];
وبعد ذلك يجب عليك استدعاء طريقة إنشاء الخطة:
$ 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 ترخيص MIT، لمعرفة المزيد اقرأ الرابط: ترخيص MIT