Class: OrderPayment
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- OrderPayment
- Defined in:
- app/models/order_payment.rb
Instance Attribute Summary collapse
-
#sage_pay_results ⇒ Object
Returns the value of attribute sage_pay_results.
Class Method Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#sage_pay_results ⇒ Object
Returns the value of attribute sage_pay_results.
6 7 8 |
# File 'app/models/order_payment.rb', line 6 def sage_pay_results @sage_pay_results end |
Class Method Details
.load_from_sage_pay_response(system_id, crypt) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/models/order_payment.rb', line 8 def self.load_from_sage_pay_response(system_id, crypt) results = {} dec = Order.sage_decrypt(system_id, crypt.gsub(' ', '+')) dec.split('&').each do |vv| n,v = vv.split('=') results[n] = v end ref = results["VendorTxCode"].split('-') order_id = ref[1] payment_id = ref[3] op = OrderPayment.sys(system_id).where(:id=>payment_id).first return nil if op.order_id.to_s != order_id.to_s op.sage_pay_results = results return op end |
Instance Method Details
#update_from_sage_pay_results ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'app/models/order_payment.rb', line 27 def update_from_sage_pay_results self.status = self.sage_pay_results["StatusDetail"] self.address_status = self.sage_pay_results["AddressResult"] self.postcode_status = self.sage_pay_results["PostCodeResult"] self.cv2_status = self.sage_pay_results["CV2Result"] self.threed_secure_status = self.sage_pay_results["3DSecureStatus"] self.card_identifier = self.sage_pay_results["Last4Digits"] self.card_type = self.sage_pay_results["CardType"] self.auth_code = self.sage_pay_results["TxAuthNo"] self.tx_id = self.sage_pay_results["VPSTxId"] self.processed_at = Time.now self.save self.order.status = self.sage_pay_results["Status"] self.order.save end |