ActiveMerchantOgone
A plugin for Ogone support in ActiveRecord.
Installation
Requirements
First you need the ActiveMerchant gem / rails-plugin installed. More info about ActiveMerchant installation can be found at activemerchant.rubyforge.org/.
As a Rails plugin
To install ActiveMerchantOgone in your rails app you can just do:
> ./script/plugin install git://github.com/DefV/active_merchant_ogone.git
As a gem
To install ActiveMerchantOgone in your rails app you can just do:
config.gem 'simonmenke-active_merchant_ogone', :lib => 'active_merchant_ogone', :source => 'http://gems.github.com'
Configuration
As Ogone works with in and out signatures, you will have to set these as constants in your configuration file.
OGONE_ACCOUNT = 'account_name'
Ogone.setup do |c|
c.outbound_signature = '094598439859385938958398494' # Item 3.2 of the technical information
c.inbound_signature = '094598439859385938958398494' # Item 4.4 of the technical information
end
Example Usage
Once you’ve configured the Ogone settings you need to set up a leaving page with in your view:
<% payment_service_for @order.ogone_id, OGONE_ACCOUNT,
:amount => @order.price * 100 # needs to be in cents
:currency => 'EUR',
:service => :ogone do |service| %>
<% service.redirect :accepturl => checkout_url(@order),
:cancelurl => checkout_url(@order),
:declineurl => checkout_url(@order),
:exceptionurl => checkout_url(@order) %>
<%= submit_tag "Pay with Ogone!" %>
<% end %>
And in your controller you should have an enter path:
class CheckoutsController < ApplicationController
include ActiveMerchant::Billing::Integrations
def show
@notification = Ogone::Notification.new(request.query_string)
@order = Order.find_by_ogone_id(@notification.order_id)
if @notification.complete?
@order.paid!
else
@order.failed!
end
end
end
Copyright © 2009 Openminds BVBVA, released under the MIT license