Laravel -Bibliothek zur Integration von Amplify Pay
PHP 5.4+ und Komponist sind erforderlich.
Um die neueste Version von Laravel Amplify zu erhalten, benötigen Sie wie unten
" composer require dubems/laravel-amplify"
Anschließend müssen Sie composer install oder composer update ausführen, um es herunterzuladen und den Autoloader aktualisieren zu lassen.
Sobald die Laravel -Verstärkung installiert ist, müssen Sie den Dienstanbieter registrieren. Öffnen Sie config/app.php und fügen Sie den providers Folgendes hinzu.
DubemsAmplifyAmplifyServiceProvider::class,Registrieren Sie auch die Fassade wie SO:
' aliases ' => [
...
' Amplify ' => Dubems Amplify Facades Amplify::class,
...
]Sie können die Konfigurationsdatei mit diesem Befehl veröffentlichen:
php artisan vendor:publish --provider= " DubemsAmplifyAmplifyServiceProvider " Ein Konfigurations-Datei namens amplify.php mit einigen Standardeinstellungen wird in Ihrem config platziert:
<?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 ' )
];## Allgemeiner Zahlungsfluss
Obwohl es mehrere Möglichkeiten gibt, eine Bestellung zu bezahlen, erwarten die meisten Zahlungsgateways, dass Sie den folgenden Fluss in Ihrem Checkout -Prozess befolgen:
### 1. Der Kunde wird an den Zahlungsanbieter weitergeleitet, nachdem der Kunde den Checkout -Prozess durchlaufen hat und zur Zahlung bereit ist. Der Kunde muss auf die Website des Zahlungsanbieters weitergeleitet werden.
Die Umleitung erfolgt durch die Einreichung eines Formulars mit einigen versteckten Feldern. Das Formular muss an der Website des Zahlungsanbieters veröffentlichen. Die versteckten Felder geben minimal den Betrag an, der gezahlt werden muss, und einige andere Felder
### 2. Der Kunde zahlt auf der Website des Zahlungsanbieters, der der Kunde auf der Website des Zahlungsanbieters ankommt und eine Zahlungsmethode auswählt. Alle für die Zahlung der Bestellung erforderlichen Schritte werden vom Zahlungsanbieter betreut.
### 3. Der Kunde wird nach der Bezahlung der Bestellung, die der Kunde bezahlt hat, zurückgeleitet. In der Umleitungsanfrage an die Shop-Site werden einige Werte zurückgegeben.
Öffnen Sie Ihre .Env -Datei und fügen Sie Ihren öffentlichen Schlüssel, Ihren geheimen Schlüssel, Ihre Händler -E -Mail und Ihre Zahlungs -URL hinzu:
AMPLIFY_MERCHANT_ID = XXXXXXX
AMPLIFY_API_KEY = XXXXXX
AMPLIFY_PAYMENT_URL =https: //api.amplifypay.com
AMPLIFY_REDIRECT_URL =https: //xxxxxRichten Sie Routen und Controller -Methoden wie SO ein:
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
}
}Andere Methoden und Beispielanwendungen finden Sie weiter unten
/** 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 );
}
Ein Beispielformular sieht so aus:
< 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.10Bitte zögern Sie nicht, dieses Paket zu geben und einen Beitrag zu leisten, indem Sie eine Pull -Anfrage zur Verbesserung der Funktionen einreichen.
Sterne das Github Repo, ich würde die Aufmerksamkeit lieben! Sie können den Link für dieses Repository auch auf Twitter oder Hackernews teilen? Verbreiten Sie das Wort!
Vergessen Sie nicht, mir auf Twitter zu folgen!
Danke! Nriau Chidubem.
Die MIT -Lizenz (MIT). Weitere Informationen finden Sie unter Lizenzdatei.