Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A plugin for ActiveMerchant to have Ogone support

tag: v0.2.0

Fetching latest commit…

Cannot retrieve the latest commit at this time

README.rdoc

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 'active_merchant_ogone'

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' # You can find this under "Data and origin verification" tab
  c.inbound_signature  = '094598439859385938958398494' # You can find this under "Data and origin verification" tab
end

Make sure that Ogone is set to “Each parameter followed by the pass phrase.” as hashed value (under “Global security parameters”). If you don't see this setting, then you're probably already in that mode.

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

Something went wrong with that request. Please try again.