مكتبة Laravel لدمج Amplify Pay
PHP 5.4+ والملحن مطلوب.
للحصول على أحدث إصدار من Amplify Laravel ، تتطلب أدناه
" composer require dubems/laravel-amplify"
ستحتاج بعد ذلك إلى تشغيل composer install أو composer update لتنزيله وتحديث Autoloader.
بمجرد تثبيت Amplify Laravel ، تحتاج إلى تسجيل مزود الخدمة. افتح config/app.php وأضف ما يلي إلى مفتاح providers .
DubemsAmplifyAmplifyServiceProvider::class,أيضا ، قم بتسجيل الواجهة مثل:
' aliases ' => [
...
' Amplify ' => Dubems Amplify Facades Amplify::class,
...
]يمكنك نشر ملف التكوين باستخدام هذا الأمر:
php artisan vendor:publish --provider= " DubemsAmplifyAmplifyServiceProvider " سيتم وضع ملف تكوين يسمى amplify.php مع بعض الإعدادات الافتراضية في دليل config الخاص بك:
<?php
return [
/**
* Merchant ID gotten from your Amplify dashboard
*/
' merchantId ' => getenv ( ' AMPLIFY_MERCHANT_ID ' ),
/**
* API Key from amplify dashboard
*/
' apiKey ' => getenv ( ' AMPLIFY_API_KEY ' ),
/**
* Amplify payment Url
*/
' paymentUrl ' => getenv ( ' AMPLIFY_PAYMENT_URL ' ),
/**
* Redirect Url after successful transaction
*/
' redirectUrl ' => getenv ( ' AMPLIFY_REDIRECT_URL ' )
];## تدفق الدفع العام
على الرغم من وجود طرق متعددة لدفع طلب ما ، فإن معظم بوابات الدفع تتوقع منك اتباع التدفق التالي في عملية الخروج الخاصة بك:
### 1. يتم إعادة توجيه العميل إلى مزود الدفع بعد مرور العميل على عملية الخروج وهو مستعد للدفع ، يجب إعادة توجيه العميل إلى موقع مزود الدفع.
يتم إعادة التوجيه عن طريق تقديم نموذج مع بعض الحقول المخفية. يجب أن ينشر النموذج إلى موقع مزود الدفع. تحدد الحقول المخفية الحد الأدنى المبلغ الذي يجب دفعه وبعض الحقول الأخرى
### 2. يدفع العميل على موقع مقدم الدفع الذي يصل العميل إلى موقع مزود الدفع ويحصل على اختيار طريقة الدفع. يتم الاعتناء بجميع الخطوات اللازمة لدفع الطلب من قبل مزود الدفع.
### 3. يتم إعادة توجيه العميل مرة أخرى بعد دفع الطلب الذي يتم إعادة توجيه العميل مرة أخرى. في طلب إعادة التوجيه إلى موقع المتجر ، يتم إرجاع بعض القيم.
افتح ملف .env الخاص بك وأضف المفتاح العام والمفتاح السري والبريد الإلكتروني التاجر وعنوان URL للدفع مثل:
AMPLIFY_MERCHANT_ID = XXXXXXX
AMPLIFY_API_KEY = XXXXXX
AMPLIFY_PAYMENT_URL =https: //api.amplifypay.com
AMPLIFY_REDIRECT_URL =https: //xxxxxقم بإعداد الطرق وطرق وحدة التحكم مثل:
Route:: post ( ' /pay ' , ' PaymentController@redirectToGateway ' )-> name ( ' pay ' ); // Laravel 5.1.17 and above
Route:: get ( ' /payment/callback ' , ' PaymentController@handleGatewayCallback ' ); <?php
namespace App Http Controllers ;
use Illuminate Http Request ;
use App Http Requests ;
use App Http Controllers Controller ;
use Amplify ;
class PaymentController extends Controller
{
/**
* Redirect the User to Amplify Payment Page
* @return Url
*/
public function redirectToGateway ()
{
return Amplify:: getAuthorizationUrl ()-> redirect ();
}
/**
* Get Amplify payment information
* @return void
*/
public function handleGatewayCallback ()
{
$ response = Amplify:: handlePaymentCallback ();
dd ( $ response );
// Now you have the payment details,
// you can store the authorization_code in your db to allow for recurrent subscriptions
// you can then redirect or do whatever you want
}
}يمكن العثور على طرق أخرى واستخدام مثال أدناه
/** Create Subscription */
public function createSubscription ()
{
$ data = [ ' planName ' => ' Sliver members ' , ' frequency ' => ' Weekly ' ];
$ response = Amplify:: createSubscription ( $ data );
dd ( $ response );
}
/** Delete a particular subscription */ */
public function deleteSubscription ()
{
$ id = ' xyz ' ;
$ response = Amplify:: deleteSubscription ( $ id );
dd ( $ response );
}
/** Update a particular subscription */
public function updateSubscription ()
{
$ data = [ ' planName ' => ' Gold members ' , ' frequency ' => ' Weekly ' ];
$ planId = ' xyz ' ;
$ response = Amplify:: updateSubscription ( $ planId , $ data );
dd ( $ response );
}
/** Get a particular subscription */
public function fetchSubscription ()
{
$ id = ' id ' ;
$ response = Amplify:: fetchSubscription ( $ id );
dd ( $ response );
}
/** Fetch all subscription */
public function fetchAllSubscription ()
{
$ allSub = Amplify:: fetchAllSubscription ();
dd ( $ allSub );
}
سيبدو نموذج عينة هكذا:
< form method =" POST " action =" {{ route('pay') }} " accept-charset =" UTF-8 " class =" form-horizontal " role =" form " >
< div class =" row " style =" margin-bottom:40px; " >
< div class =" col-md-8 col-md-offset-2 " >
< p >
< div >
A cup of coffee
₦ 800
</ div >
</ p >
< input type =" hidden " name =" email " value =" [email protected] " > {{-- required --}}
< input type =" hidden " name =" description " value =" XYZ " >
< input type =" hidden " name =" amount " value =" 800 " > {{-- required in naira --}}
< input type =" hidden " name =" name " value =" Nriagu Dubem " >
< input type =" hidden " name =" planId " value =" Your plan ID " >
{{ csrf_field() }} {{-- works only when using laravel 5.1, 5.2 --}}
< input type =" hidden " name =" _token " value =" {{ csrf_token() }} " > {{-- employ this in place of csrf_field only in laravel 5.0 --}}
< p >
< button class =" btn btn-success btn-lg btn-block " type =" submit " value =" Pay Now! " >
< i class =" fa fa-plus-circle fa-lg " > </ i > Pay Now!
</ button >
</ p >
</ div >
</ div >
</ form > PAN = 5060 9905 8000 0217 499
EXPYEAR = 20
EXPMONTH = 04
CVV = 111
If prompted for Amount Validation, Enter 1.10لا تتردد في توتر هذه الحزمة والمساهمة من خلال تقديم طلب سحب لتعزيز الوظائف.
نجمة جيثب ريبو ، أحب الاهتمام! يمكنك أيضًا مشاركة الرابط لهذا المستودع على Twitter أو HackerNews؟ انشر الكلمة!
لا تنس متابعتي على Twitter!
شكرًا! NRIAGU CHIDUBEM.
ترخيص معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.