laravel payment
3.0.0
؟ مزود خدمة Omnipay لـ Laravel.
$ composer require overtrue/laravel-payment -v
بعد تحديث الملحن، إذا كنت تستخدم إصدار Laravel <5.5، فستحتاج إلى تسجيل مزود الخدمة:
// config/app.php
' providers ' => [
//...
Overtrue LaravelPayment ServiceProvider::class,
],
ونشر ملف التكوين:
$ php artisan vendor:publish --provider=Overtrue \ LaravelPayment \ ServiceProvider
إذا كنت تريد استخدام وضع الواجهة، يمكنك تسجيل اسم الواجهة الذي تريد استخدامه، على سبيل المثال LaravelPayment
:
// config/app.php
' aliases ' => [
' LaravelPayment ' => Overtrue LaravelPayment Facade::class, // This is default in laravel 5.5
],
// config/payments.php
// The default gateway name which configured in `gateways` section.
' default_gateway ' => ' paypal ' ,
// The default options for every gateways.
' default_options ' => [
' test_mode ' => true ,
// ...
],
/*
* The gateways, you can config option by camel case or snake_case name.
*
* the option name is followed from gateway class, for example:
*
* $gateway->setMchId('overtrue');
*
* you can configured as:
* 'mch_id' => 'overtrue',
* or:
* 'mchId' => 'overtrue',
*/
' gateways ' => [
' paypal ' => [
' driver ' => ' PayPal_Express ' ,
' options ' => [
' username ' => env ( ' PAYPAL_USERNAME ' ),
' password ' => env ( ' PAYPAL_PASSWORD ' ),
' signature ' => env ( ' PAYPAL_SIGNATURE ' ),
' test_mode ' => env ( ' PAYPAL_TEST_MODE ' ),
],
],
// other gateways
],
تحتاج إلى تثبيت البوابة التي تريد استخدامها: omnipay#Payment-gateways
مثيل البوابة:
LaravelPayment:: gateway ( ' GATEWAY NAME ' ); // GATEWAY NAME is key name of `gateways` configuration.
LaravelPayment:: gateway ( ' alipay ' );
LaravelPayment:: gateway ( ' paypal ' );
باستخدام البوابة الافتراضية:
LaravelPayment:: purchase (...);
مثال:
$ formData = [
' number ' => ' 4242424242424242 ' ,
' expiryMonth ' => ' 6 ' ,
' expiryYear ' => ' 2030 ' ,
' cvv ' => ' 123 '
];
$ response = LaravelPayment::purchase([
' amount ' => ' 10.00 ' ,
' currency ' => ' USD ' ,
' card ' => $ formData ,
))-> send ();
if ( $ response -> isRedirect ()) {
// redirect to offsite payment gateway
$ response -> redirect ();
} elseif ( $ response -> isSuccessful ()) {
// payment was successful: update database
print_r ( $ response );
} else {
// payment failed: display message to customer
echo $ response -> getMessage ();
}
لمزيد من الاستخدام حول Omnipay، يرجى الرجوع إلى الصفحة الرئيسية الرسمية لـ Omnipay
هل ترغب في معرفة كيفية استخدام لغة PHP؟
قم بزيارة موقع PHP الخاص بك —— 《PHP 扩展包实战教程 -从入门到发布》
معهد ماساتشوستس للتكنولوجيا