Skip to content

Simple Payment Integration

Olaobaju Abraham edited this page May 29, 2023 · 1 revision

Simple Payment setup.

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.

  1. 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 ) {
       // ...
    }
}
  1. 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')
          ],
      ];

      // ...
    }
}
  1. 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);
    }
}

Clone this wiki locally