Perpustakaan Laravel untuk mengintegrasikan pembayaran amplifikasi
PHP 5.4+ dan komposer diperlukan.
Untuk mendapatkan versi terbaru dari Laravel Amplify, membutuhkan seperti di bawah ini
" composer require dubems/laravel-amplify"
Anda kemudian harus menjalankan composer install atau composer update untuk mengunduhnya dan memperbarui autoloader.
Setelah Laravel Amplify diinstal, Anda perlu mendaftarkan penyedia layanan. Buka config/app.php dan tambahkan yang berikut ini ke kunci providers .
DubemsAmplifyAmplifyServiceProvider::class,Juga, daftarkan fasad seperti itu:
' aliases ' => [
...
' Amplify ' => Dubems Amplify Facades Amplify::class,
...
]Anda dapat mempublikasikan file konfigurasi menggunakan perintah ini:
php artisan vendor:publish --provider= " DubemsAmplifyAmplifyServiceProvider " File konfigurasi bernama amplify.php dengan beberapa default akan ditempatkan di direktori config Anda:
<?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 ' )
];## Aliran Pembayaran Umum
Meskipun ada beberapa cara untuk membayar pesanan, sebagian besar gateway pembayaran mengharapkan Anda untuk mengikuti aliran berikut dalam proses checkout Anda:
### 1. Pelanggan diarahkan ke penyedia pembayaran setelah pelanggan menjalani proses checkout dan siap membayar, pelanggan harus diarahkan ke lokasi penyedia pembayaran.
Pengalihan dilakukan dengan mengirimkan formulir dengan beberapa bidang tersembunyi. Formulir harus memposting ke situs penyedia pembayaran. Bidang tersembunyi minimal menentukan jumlah yang harus dibayar dan beberapa bidang lainnya
### 2. Pelanggan membayar di lokasi penyedia pembayaran yang diturunkan pelanggan di lokasi penyedia pembayaran dan dapat memilih metode pembayaran. Semua langkah yang diperlukan untuk membayar pesanan diurus oleh penyedia pembayaran.
### 3. Pelanggan akan diarahkan kembali setelah membayar pesanan pelanggan diarahkan kembali. Dalam permintaan pengalihan ke situs toko, beberapa nilai dikembalikan.
Buka file .env Anda dan tambahkan kunci publik Anda, kunci rahasia, email pedagang dan URL pembayaran seperti:
AMPLIFY_MERCHANT_ID = XXXXXXX
AMPLIFY_API_KEY = XXXXXX
AMPLIFY_PAYMENT_URL =https: //api.amplifypay.com
AMPLIFY_REDIRECT_URL =https: //xxxxxMengatur rute dan metode pengontrol seperti itu:
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
}
}Metode lain dan contoh penggunaan dapat ditemukan di bawah
/** 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 );
}
Bentuk sampel akan terlihat seperti itu:
< 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.10Jangan ragu untuk membayar paket ini dan berkontribusi dengan mengirimkan permintaan tarik untuk meningkatkan fungsionalitas.
Bintang repo GitHub, saya suka perhatian! Anda juga dapat membagikan tautan untuk repositori ini di Twitter atau Hackernews? Sebarkan berita!
Jangan lupa untuk mengikuti saya di Twitter!
Terima kasih! Nriagu Chidubem.
Lisensi MIT (MIT). Silakan lihat file lisensi untuk informasi lebih lanjut.