Codeigniter Stripe Payment Gateway Integration Example

18-Jan-2020

.

Admin

Codeigniter Stripe Payment Gateway Integration Example

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