Class: ActiveMerchant::Billing::Integrations::Notification
- Inherits:
-
Object
- Object
- ActiveMerchant::Billing::Integrations::Notification
- Defined in:
- lib/active_merchant/billing/integrations/notification.rb
Direct Known Subclasses
A1agregator::Notification, AuthorizeNetSim::Notification, Bogus::Notification, Chronopay::Notification, DirecPay::Notification, Directebanking::Notification, Dotpay::Notification, Dwolla::Notification, EPaymentPlans::Notification, EasyPay::Notification, Epay::Notification, Gestpay::Notification, HiTrust::Notification, Liqpay::Notification, Maksuturva::Notification, Moneybookers::Notification, ActiveMerchant::Billing::Integrations::Nochex::Notification, Paxum::Notification, PayFast::Notification, PayflowLink::Notification, Paypal::Notification, Paysbuy::Notification, PayuIn::Notification, Pxpay::Notification, Quickpay::Notification, Rbkmoney::Notification, Robokassa::Notification, SagePayForm::Notification, TwoCheckout::Notification, Valitor::Notification, Verkkomaksut::Notification, WebPay::Notification, Webmoney::Notification, WorldPay::Notification
Instance Attribute Summary collapse
-
#params ⇒ Object
Returns the value of attribute params.
-
#raw ⇒ Object
Returns the value of attribute raw.
Instance Method Summary collapse
-
#amount ⇒ Object
This combines the gross and currency and returns a proper Money object.
-
#empty! ⇒ Object
reset the notification.
-
#gross ⇒ Object
the money amount we received in X.2 decimal.
- #gross_cents ⇒ Object
-
#initialize(post, options = {}) ⇒ Notification
constructor
-
Args : -
doc
-> raw post string -options
-> custom options which individual implementations can utilize.
-
- #status ⇒ Object
- #test? ⇒ Boolean
-
#valid_sender?(ip) ⇒ Boolean
Check if the request comes from an official IP.
Constructor Details
#initialize(post, options = {}) ⇒ Notification
-
Args :
-
doc
-> raw post string -
options
-> custom options which individual implementations canutilize
-
16 17 18 19 20 |
# File 'lib/active_merchant/billing/integrations/notification.rb', line 16 def initialize(post, = {}) @options = empty! parse(post) end |
Instance Attribute Details
#params ⇒ Object
Returns the value of attribute params.
5 6 7 |
# File 'lib/active_merchant/billing/integrations/notification.rb', line 5 def params @params end |
#raw ⇒ Object
Returns the value of attribute raw.
6 7 8 |
# File 'lib/active_merchant/billing/integrations/notification.rb', line 6 def raw @raw end |
Instance Method Details
#amount ⇒ Object
This combines the gross and currency and returns a proper Money object. this requires the money library located at dist.leetsoft.com/api/money
37 38 39 40 |
# File 'lib/active_merchant/billing/integrations/notification.rb', line 37 def amount return Money.new(gross_cents, currency) rescue ArgumentError return Money.new(gross_cents) # maybe you have an own money object which doesn't take a currency? end |
#empty! ⇒ Object
reset the notification.
43 44 45 46 |
# File 'lib/active_merchant/billing/integrations/notification.rb', line 43 def empty! @params = Hash.new @raw = "" end |
#gross ⇒ Object
the money amount we received in X.2 decimal.
27 28 29 |
# File 'lib/active_merchant/billing/integrations/notification.rb', line 27 def gross raise NotImplementedError, "Must implement this method in the subclass" end |
#gross_cents ⇒ Object
31 32 33 |
# File 'lib/active_merchant/billing/integrations/notification.rb', line 31 def gross_cents (gross.to_f * 100.0).round end |
#status ⇒ Object
22 23 24 |
# File 'lib/active_merchant/billing/integrations/notification.rb', line 22 def status raise NotImplementedError, "Must implement this method in the subclass" end |
#test? ⇒ Boolean
54 55 56 |
# File 'lib/active_merchant/billing/integrations/notification.rb', line 54 def test? false end |
#valid_sender?(ip) ⇒ Boolean
Check if the request comes from an official IP
49 50 51 52 |
# File 'lib/active_merchant/billing/integrations/notification.rb', line 49 def valid_sender?(ip) return true if ActiveMerchant::Billing::Base.integration_mode == :test || production_ips.blank? production_ips.include?(ip) end |