18-Jan-2020
.
Admin
Hi Guys,
In this tutorial,I will learn you how to use stripe payment gateway integration in codeigniter.you can simply and esay to use the Stripe Payment Gateway Integration in Codeigniter.
we will discuss step by step how to integrate stripe card payment gateway in our Codeigniter version 3 based project.
Stripe is a fastest online payment processing for internet businesses. stripe provide credit card payment, subscription payment.
So, let's follow bellow few steps and you can make payment with codeigniter project.
Step 1: Download Stripe Payment Gateway Library
There are two option for download or install stripe library for codeigniter.
Option 1 : Download stripe-php Library
we need to download the stripe card payment gateway library here:https://github.com/stripe/stripe-php.
After download, you have to extract that folder into the “application/libraries” folder and make sure the rename folder name “stripe-php”.
Option 2 : Install stripe package Via Composer
The second option to install a stripe package via the composer for Codeigniter.
composer require stripe/stripe-php
To use the bindings, use the Composer’s autoload
require_once('vendor/autoload.php');
Step 2: Create Controller
First of all, we need to create a new Stripe controller, So go application/controller and create a new controller name Stripe.php.
application/controller/Stripe.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Stripe extends CI_Controller {
/**
* Get All Data from this method.
*
* @return Response
*/
public function __construct() {
parent::__construct();
$this->load->library("session");
$this->load->helper('url');
}
/**
* Get All Data from this method.
*
* @return Response
*/
public function index()
{
$this->load->view('stripePayment/index');
}
/**
* Get All Data from this method.
*
* @return Response
*/
public function payment()
{
require_once('application/libraries/stripe-php/init.php');
$stripeSecret = 'YOUR STRIPE SECRETE KEY';
\Stripe\Stripe::setApiKey($stripeSecret);
$stripe = \Stripe\Charge::create ([
"amount" => $this->input->post('amount'),
"currency" => "usd",
"source" => $this->input->post('tokenId'),
"description" => "This is from nicesnippets.com"
]);
// after successfull payment, you can store payment related information into your database
$data = array('success' => true, 'data'=> $stripe);
echo json_encode($data);
}
}
Step 3: Create View File
last step,you can create to view file in project.
application/views/stripePayment/index.php
<!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 Stripe Payment Gateway Integration - nicesnippets.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: 'YOUR STRIPE KEY',
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>
Now you can check with following card details:
Name: Test
Number: 4242 4242 4242 4242
CSV: 123
Expiration Month: 12
Expiration Year: 2024
It will help you...
#Codeigniter