conekta_handler.rb
1 KB
# frozen_string_literal: true
module Var
class ConektaHandler
PAYMENT_METHOD_STRING = 'Conekta_payment'
class << self
def analyze(event)
return process_payment event[:data][:object] if
event[:data][:object][:status] == 'paid'
process_charge event[:data][:object]
end
def process_payment(payment_info)
object = Var.find_charge payment_info[:id]
time = Time.strptime payment_info[:paid_at].to_s, '%s'
amount = payment_info[:amount].to_f / 100.0
fee = payment_info[:fee].to_f / 100.0
object.update(var_fee: fee, var_paid_amount: amount,
var_payment_method: self::PAYMENT_METHOD_STRING,
var_payment_at: time,
var_status: payment_info[:status])
end
def process_charge(charge_info)
# TODO: update status and time
object = Var.find_charge charge_info[:id]
object.update(var_status: charge_info[:status])
end
end
end
end