Amplify Payを統合するためのLaravelライブラリ
PHP 5.4+と作曲家が必要です。
Laravel Amplifyの最新バージョンを取得するには、以下のように必要です
" composer require dubems/laravel-amplify"
その後、 composer installまたはcomposer updateを実行してダウンロードし、AutoLoaderを更新する必要があります。
Laravel Amplifyがインストールされたら、サービスプロバイダーを登録する必要があります。 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このパッケージをフォークし、機能を強化するためのプルリクエストを送信して、お気軽にフォークしてください。
githubリポジトリに出演しています、私は注意が欲しいです! TwitterまたはHackernewsでこのリポジトリのリンクを共有することもできますか?言葉を広げてください!
Twitterで私をフォローすることを忘れないでください!
ありがとう! Nriagu Chidubem。
MITライセンス(MIT)。詳細については、ライセンスファイルをご覧ください。