-
Notifications
You must be signed in to change notification settings - Fork 5
Simple Payment Integration
Olaobaju Abraham edited this page May 29, 2023
·
1 revision
To start you need to edit your flutterwave configuration via config/flutterwave.php to ensure that the business settings meet your needs. By default the package would use the keys set in your .env file and all payment methods are available to the user.
- Create a new controller to handle your payments.
<?php
namespace App\Http\Controllers;
use Flutterwave\Payments\Facades\Flutterwave;
use Flutterwave\Payments\Data\Currency;
class PaymentController extends Controller {
public function init( Request $request ) {
// ...
}
}- Prepare the payload to handle to be passed to Flutterwave. use the the
Flutterwave::generateTransactionReference()to generate a random transaction reference if you cannot come up with one.
<?php
namespace App\Http\Controllers;
use Flutterwave\Payments\Facades\Flutterwave;
use Flutterwave\Payments\Data\Currency;
class PaymentController extends Controller {
public function init( Request $request ) {
$payload = [
"tx_ref" => Flutterwave::generateTransactionReference(),
"amount" => $request->input('amount'),
"currency" => Currency::NGN,
"customer" => [
"email" => $request->input('email')
],
];
// ...
}
}- Redirect to Flutterwave Payment Link.
<?php
namespace App\Http\Controllers;
use Flutterwave\Payments\Facades\Flutterwave;
use Flutterwave\Payments\Data\Currency;
class PaymentController extends Controller {
public function init( Request $request ) {
$payload = [
"tx_ref" => Flutterwave::generateTransactionReference(),
"amount" => $request->input('amount'),
"currency" => Currency::NGN,
"customer" => [
"email" => $request->input('email')
],
];
$payment_link = Flutterwave::render('standard', $payload);
return redirect($payment_link);
}
}Endless possibilities for every business using Laravel that is 👍