Skip to content

anuragphadke19/active_merchant_ebs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ActiveMerchantEbs

EBS integration for ActiveMerchant.

NOTE: This fork works for Secure Hash Validation enabled as well.

Installation

Requirements

You need to install the ActiveMerchant gem or rails plugin. More info about ActiveMerchant installation can be found at www.activemerchant.org.

As a gem

Install the gem [recommended]:

> gem install active_merchant_ebs

To use the ActiveMerchantEbs gem in a Rails 3 application, add the following line in your Gemfile:

gem 'active_merchant_ebs'

Configuration

Create a merchant account with EBS.

Then create an initializer, like initializers/payment.rb. Add the following lines:

ActiveMerchant::Billing::Integrations::Ebs.setup do |ebs|
  ebs.account_id =  #your EBS account ID
  ebs.mode = 'TEST' #EBS Mode 'TEST' or 'LIVE'
  ebs.secret_key = 'your secret key' #Provided by EBS
end
EBS_ACCOUNT = 'youraccountname'

If ActiveMerchant’s actionview helpers don’t load automatically, add the line in your initializer:

ActionView::Base.send :include, ActiveMerchant::Billing::Integrations::ActionViewHelper

Example Usage

<% payment_service_for @order.id, EBS_ACCOUNT,
    :amount => @order.price_in_cents,
    :service => :ebs do |service| %>    
  <%  service.customer :name => @order.fullname,
                       :email => "[email protected]" %>
  <%  service.billing_address :city => "Bang",
                              :address1 => "@order.billing_address.address_line_1",
                              :state    => "@order.billing_address.state",
                              :pin      => "123456",
                              :country  => "IN",
                              :phone    => "9876543210" %>
  <%  service.redirect :return_url => [orders_callback_url(@order),'DR={DR}'].join('?'),
                       :order_id => @order.id,
                       :order_desc => "@order.id" %>
  <%= submit_tag 'Proceed to payment' %>
<% end %>

In your controller

def callback
  @order   = Order.find(params[:id])
  logger.debug params[:DR]
  @notification = ActiveMerchant::Billing::Integrations::Ebs::Notification.new(params[:DR].to_s)
  logger.debug "Success -- #{@notification.successful?}"
  if @notification.successful?
    render :action => 'success'
  else
    render :action => 'failure'
  end
end

Special Thanks

This gem is heavily inspired by a similar integration done by Suman Debnath for CCavenue @ github.com/meshbrain/active_merchant_ccavenue
Very special thanks to him.

See LICENSE for details.

About

Active Merchant support for Indian Payment Gateway EBS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages