Codeigniter 4 stripe payment gateway integration example tutorial. In this tutorial, you will learn how you can integrate stripe payment gateway in your Codeigniter 4 based projects or application.
In this tutorial, you will learn how to explain step by step how to integrate stripe card payment gateway in our Codeigniter version 4 based project. Stripe is the most popular payment gateway which is integrated into many websites, Stripe payment is easy to integrate and use. Stripe is a very simple and most powerful and flexible tool.
Stripe Payment Integration in Codeigniter 4
- Step 1: Setup Codeigniter 4 Project
- Step 2: Basic Configurations
- Step 3: Setup Database Credentials
- Step 4: Install stripe package Via Composer
- Step 5: Create Controller
- Step 6: Create View
- Step 7: Create Route
- Step 8: Start Development Server
Step 1: Setup Codeigniter 4 Project
In this step, you will download the latest version of Codeigniter 4, Go to this link https://codeigniter.com/download Download Codeigniter 4 fresh new setup and unzip the setup in your local system xampp/htdocs/ . And change the download folder name “demo”
Step 2: Basic Configurations
Next, you will set some basic configuration on the app/config/app.php file, so let’s go to application/config/config.php and open this file on text editor.
Set Base URL like this
public $baseURL = 'http://localhost:8080'; To public $baseURL = 'http://localhost/demo/';
Step 3: Setup Database Credentials
In this step, you need to connect our project to the database. you need to go app/Config/Database.php and open database.php file in text editor. After opening the file in a text editor, you need to set up database credentials in this file like below.
public $default = [ 'DSN' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'demo', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'cacheOn' => false, 'cacheDir' => '', 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ];
Step 4: Install stripe package Via Composer
In this step, you need to download PHP libraray PhpSpreadsheet to create and save dynamic Excel file. So, open your terminal and execute the following command on it:
composer require stripe/stripe-php
To use the bindings, use the Composer’s autoload
require_once('vendor/autoload.php');
Step 5: Create Controller
In this step, Visit app/Controllers and create a controller name Stripe.php. In this controller, you need to add the following methods into it:
<?php namespace App\Controllers; use CodeIgniter\Controller; use CodeIgniter\HTTP\RequestInterface; class Stripe extends Controller { public function index() { return view('home'); } /** * Get All Data from this method. * * @return Response */ public function payment() { require_once('application/libraries/stripe-php/init.php'); $stripeSecret = 'sk_test_j5k0976GOLSOtiRzbDLpKqat00og5iM3cY'; \Stripe\Stripe::setApiKey($stripeSecret); $stripe = \Stripe\Charge::create ([ "amount" => $this->request->getVar('amount'), "currency" => "usd", "source" => $this->request->getVar('tokenId'), "description" => "Test payment from tutsmake.com." ]); // after successfull payment, you can store payment related information into your database $data = array('success' => true, 'data'=> $stripe); echo json_encode($data); } }
Step 6: Create View
In this step, you need visit application/views/ and create a new file inside folder named home.php. Then update the HTML code below in your index.php file:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta name="csrf-token" content="{{ csrf_token() }}"> <title>Codeigniter 4 Stripe Payment Gateway Integration - Tutsmake.com</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" /> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <style> .container{ padding: 0.5%; } </style> </head> <body> <div class="container"> <div class="row"> <div class="col-md-12"><pre id="token_response"></pre></div> </div> <div class="row"> <div class="col-md-4"> <button class="btn btn-primary btn-block" onclick="pay(100)">Pay $100</button> </div> <div class="col-md-4"> <button class="btn btn-success btn-block" onclick="pay(500)">Pay $500</button> </div> <div class="col-md-4"> <button class="btn btn-info btn-block" onclick="pay(1000)">Pay $10000</button> </div> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script> <script src="https://checkout.stripe.com/checkout.js"></script> <script type="text/javascript"> function pay(amount) { var handler = StripeCheckout.configure({ key: 'pk_test_5f6jfFP2ZV5U9TXQYG0vtqFJ00eFVWNoRX', // your publisher key id locale: 'auto', token: function (token) { // You can access the token ID with `token.id`. // Get the token ID to your server-side code for use. console.log('Token Created!!'); console.log(token) $('#token_response').html(JSON.stringify(token)); $.ajax({ url:"<?php echo base_url(); ?>stripe/payment", method: 'post', data: { tokenId: token.id, amount: amount }, dataType: "json", success: function( response ) { console.log(response.data); $('#token_response').append( '<br />' + JSON.stringify(response.data)); } }) } }); handler.open({ name: 'Demo Site', description: '2 widgets', amount: amount * 100 }); } </script> </body> </html>
Step 7: Create Route
In this step, you need to create a route that renders the table into the view, place the following code in app/Config/Routes.php file.
$routes->get('/', 'Stripe::index');
Step 8: Start Development Server
In this step, open your terminal and execute the following command to start development sever:
php spark serve
Then, Go to the browser and hit below the URL:
http://localhost:8080
Conclusion
Stripe payment integration in codeigniter 4. In this tutorial, you have learned how to implement stripe payment gateway integration in codeigniter 4 app.
If you have any questions or thoughts to share, use the comment form below to reach us.