lib/active_merchant/billing/integrations/nochex.rb in activemerchant-1.1.0 vs lib/active_merchant/billing/integrations/nochex.rb in activemerchant-1.2.0
- old
+ new
@@ -2,20 +2,81 @@
require File.dirname(__FILE__) + '/nochex/notification.rb'
module ActiveMerchant #:nodoc:
module Billing #:nodoc:
module Integrations #:nodoc:
+ # To start with Nochex, follow the instructions for installing
+ # ActiveMerchant as a plugin, as described on
+ # http://www.activemerchant.org/.
+ #
+ # The plugin will automatically add the ActionView helper for
+ # ActiveMerchant, which will allow you to make the Nochex payments.
+ # The idea behind the helper is that it generates an invisible
+ # forwarding screen that will automatically redirect the user.
+ # So you would collect all the information about the order and then
+ # simply render the hidden form, which redirects the user to Nochex.
+ #
+ # The syntax of the helper is as follows:
+ #
+ # <% payment_service_for 'order id', 'nochex_user_id',
+ # :amount => 50.00,
+ # :service => :nochex,
+ # :html => { :id => 'nochex-form' } do |service| %>
+ #
+ # <% service.customer :first_name => 'Cody',
+ # :last_name => 'Fauser',
+ # :phone => '(555)555-5555',
+ # :email => 'cody@example.com' %>
+ #
+ # <% service.billing_address :city => 'Ottawa',
+ # :address1 => '21 Snowy Brook Lane',
+ # :address2 => 'Apt. 36',
+ # :state => 'ON',
+ # :country => 'CA',
+ # :zip => 'K1J1E5' %>
+ #
+ # <% service.invoice '#1000' %>
+ # <% service.shipping '0.00' %>
+ # <% service.tax '0.00' %>
+ #
+ # <% service.notify_url url_for(:action => 'notify', :only_path => false) %>
+ # <% service.return_url url_for(:action => 'done', :only_path => false) %>
+ # <% service.cancel_return_url 'http://mystore.com' %>
+ # <% end %>
+ #
+ # The notify_url is the URL that the Nochex IPN will be sent. You can
+ # handle the notification in your controller action as follows:
+ #
+ # class NotificationController < ApplicationController
+ # include ActiveMerchant::Billing::Integrations
+ #
+ # def notify
+ # notification = Nochex::Notification.new(request.raw_post)
+ #
+ # begin
+ # # Acknowledge notification with Nochex
+ # raise StandardError, 'Illegal Notification' unless notification.acknowledge
+ # # Process the payment
+ # rescue => e
+ # logger.warn("Illegal notification received: #{e.message}")
+ # ensure
+ # head(:ok)
+ # end
+ # end
+ # end
module Nochex
mattr_accessor :service_url
self.service_url = 'https://www.nochex.com/nochex.dll/checkout'
mattr_accessor :notification_confirmation_url
self.notification_confirmation_url = 'https://www.nochex.com/nochex.dll/apc/apc'
+ # Simply a convenience method that returns a new
+ # ActiveMerchant::Billing::Integrations::Nochex::Notification
def self.notification(post)
Notification.new(post)
end
end
end
end
-end
+end
\ No newline at end of file