Ricardo Garcia

Merge branch 'upgrade/payment_info_attr' into 'master'

Stores data required from payments

Fee, Amount, payment method, etc..

See merge request !4
...@@ -29,10 +29,14 @@ module Var ...@@ -29,10 +29,14 @@ module Var
29 29
30 def self.conekta_webhook(params) 30 def self.conekta_webhook(params)
31 payment = params[:data][:object] 31 payment = params[:data][:object]
32 - time = Time.strptime(payment[:paid_at].to_s, '%s')
33 object = Var.find_charge payment[:id] 32 object = Var.find_charge payment[:id]
34 - object.update({var_status: payment[:status], var_fee: payment[:fee], var_paid_amount: payment[:amount], var_payment_method: payment[:payment_method][:object]) 33 + object.update_columns(var_status: payment[:status])
35 - object.update_columns(var_payment_at: time) if object.var_payed? 34 + if object.var_payed?
35 + time = Time.strptime payment[:paid_at].to_s, '%s'
36 + amount = payment[:amount].to_f / 100.0
37 + fee = payment[:fee].to_f / 100.0
38 + object.update({var_fee: fee, var_paid_amount: amount, var_payment_method: payment[:payment_method][:object], var_payment_at: time})
39 + end
36 object 40 object
37 rescue Exception => exception 41 rescue Exception => exception
38 puts exception 42 puts exception
...@@ -73,10 +77,17 @@ module ActsAsChargeable ...@@ -73,10 +77,17 @@ module ActsAsChargeable
73 77
74 def charge_with_conekta(options) 78 def charge_with_conekta(options)
75 charge = conekta_charge(options) 79 charge = conekta_charge(options)
80 + amount = charge.amount / 100.0
81 + fee = charge.fee / 100.0
76 update_columns(var_status: charge.status, var_id: charge.id, 82 update_columns(var_status: charge.status, var_id: charge.id,
77 - var_service: 'conekta') 83 + var_service: 'conekta', var_fee: fee,
84 + var_paid_amount: amount,
85 + var_payment_method: charge.payment_method.object)
78 update_conekta_barcode(charge) if options[:conekta_type] == 'oxxo' 86 update_conekta_barcode(charge) if options[:conekta_type] == 'oxxo'
79 - update_columns(var_payment_at: Time.zone.now) if var_payed? 87 + if var_payed?
88 + time = Time.strptime payment[:paid_at].to_s, '%s'
89 + update_columns(var_payment_at: time)
90 + end
80 charge 91 charge
81 rescue Conekta::ParameterValidationError, Conekta::ProcessingError, 92 rescue Conekta::ParameterValidationError, Conekta::ProcessingError,
82 Conekta::Error => e 93 Conekta::Error => e
......