Skip to content

Latest commit

 

History

History
executable file
·
171 lines (123 loc) · 3.72 KB

README.md

File metadata and controls

executable file
·
171 lines (123 loc) · 3.72 KB

Ogone for Rails

What is it

A Ruby gem to simplify the use of Ogone online payments service.

Usage

Installation

gem install ogone-rails
# or include in a gemfile
gem 'ogone-rails'

Configuration

Define ogone parameters in a yaml config file:

	# config/ogone.yml
	development:
		pspid: "hoetmaaiers"
		sha_in: "0123456789abcdefghijklmnopqrstuv"
		sha_out: "vutsrqponmlkjihgfedcba9876543210"
		currency: "EUR"
		language: "nl_NL"
		mode: 'test'
		encoding: 'ISO-8859-1'
	production:
		pspid: "hoetmaaiers"
		sha_in: "0123456789abcdefghijklmnopqrstuv"
		sha_out: "vutsrqponmlkjihgfedcba9876543210"
		currency: "EUR"
		language: "nl_NL"
		mode: 'live'
		encoding: 'ISO-8859-1'

Deprecated in version >= 0.1.3, configure ogone-rails in an initializer:

	# initializers/ogone.rb
	ogone_config = YAML.load_file('config/ogone.yml')[Rails.env].symbolize_keys
	OgoneRails::config (ogone_config)

Parameters

required

  • PSPID
  • sha_in
  • sha_out

optional

  • currency, default: "EUR"
  • language, default: "nl_NL"
  • mode, default = "live"

Helpers

New syntax

Generate an ogone_form whith the new syntax.

Full example

ogone_form_tag({:id => "form"}) do 
	form_content = ogone_fields({  
        :parameter => value
        ...
      })

	# add custom submit
	form_content << '<input type="submit" value="pay now" />'
end

ogone_form_tag example

ogone_form_tag({ :html_attribute => "value" }) do 
	...
	# everything in here must be in one variable
	form_content = "…"
	form_content << "…"		
	...
end

ogone_fields example

Generate hidden input fields with ogone parameters.

ogone_fields({
	:parameter => "value",
	...
}

Parameters

  ogone_fields_options = {
    # General parameters
    :order_id           => 'orderID',
    :amount             => 'amount',
    :customer_name      => 'CN',
    :customer_email     => 'EMAIL',
    :customer_address   => 'owneraddress',
    :customer_zip       => 'ownerZIP',
    :customer_city      => 'ownertown',
    :customer_country   => 'ownercty',
    :customer_phone     => 'ownertelno',
    # Feedback url's    
    :accept_url         => 'accepturl',
    :decline_url        => 'declineurl',
    :exception_url      => 'exceptionurl',
    :cancel_url         => 'cancelurl',
    # Look and feel     
    :title              => 'TITLE',
    :bg_color           => 'BGCOLOR',
    :text_color         => 'TXTCOLOR',
    :table_bg_color     => 'TBLBGCOLOR',
    :table_text_color   => 'TBLTXTCOLOR',
    :button_bg_color    => 'BUTTONBGCOLOR',
    :button_text_color  => 'BUTTONTXTCOLOR',
    :font_family        => 'FONTTYPE',
    :logo               => 'LOGO'       
  }

No worries, old syntax is still availlable...

ogone_form({
	:paramater => "value"
}, { :html_attribute => "" })

Check Ogone feedback

Create a new object to check the feedback Ogone gives you:

# app/controllers/feedback_controller.rb
@check = OgoneRails::CheckAuth.new( request )

Check valid authorization:

@check.valid?
#return true or false

Get parameters:

@check.get_params

… returns the Ogone feedback in a hash format. The keys are made more readable then Ogone provides them: …

{
	:order_id => 46185, 
	:amount => 299.38, 
	:currency => "EUR", 
	:payment_method => "CreditCard",
	:acceptance => "test123", 
	:status => "Authorized", 
	:card_number => "XXXXXXXXXXXX1111",
	:pay_id => "14838904", 
	:error => nil, 
	:brand => "VISA",
	:sha_sign => "51AF71351E79DD0186816289AD53C57213978E32"
}

Copyright

Copyright © 2012 Robin Houdmeyers