Class: OffsitePayments::Integrations::Citrus::Return

Inherits:
Return
  • Object
show all
Defined in:
lib/offsite_payments/integrations/citrus.rb

Instance Attribute Summary

Attributes inherited from Return

#notification, #params

Instance Method Summary collapse

Methods inherited from Return

#parse

Constructor Details

#initialize(query_string, options = {}) ⇒ Return

Returns a new instance of Return.



196
197
198
199
# File 'lib/offsite_payments/integrations/citrus.rb', line 196

def initialize(query_string, options = {})
  super
  @notification = Notification.new(query_string, options)
end

Instance Method Details

#cancelled?Boolean

Returns:

  • (Boolean)


221
222
223
# File 'lib/offsite_payments/integrations/citrus.rb', line 221

def cancelled?
  @notification.status == 'Failed'
end

#messageObject



217
218
219
# File 'lib/offsite_payments/integrations/citrus.rb', line 217

def message
  @notification.message
end

#status(order_id, order_amount) ⇒ Object



205
206
207
208
209
210
211
# File 'lib/offsite_payments/integrations/citrus.rb', line 205

def status( order_id, order_amount )
  if @notification.invoice_ok?( order_id ) && @notification.amount_ok?( BigDecimal.new(order_amount) )
    @notification.status
  else
    'Mismatch'
  end
end

#success?Boolean

Returns:

  • (Boolean)


213
214
215
# File 'lib/offsite_payments/integrations/citrus.rb', line 213

def success?
  status( @params['TxId'], @params['amount'] ) == 'Completed'
end

#transaction_idObject



201
202
203
# File 'lib/offsite_payments/integrations/citrus.rb', line 201

def transaction_id
  @notification.transaction_id
end