jam-cloud/ruby/lib/jam_ruby/models/affiliate_payment_charge.rb

51 lines
1.1 KiB
Ruby
Raw Permalink Normal View History

module JamRuby
class AffiliatePaymentCharge < Charge
#has_one :teacher_payment, class_name: "JamRuby::TeacherPayment", foreign_key: :affiliate_charge_id
def distribution
@distribution ||= teacher_payment.teacher_distribution
end
def max_retries
9999999
end
def teacher
@teacher ||= teacher_payment.teacher
end
def charged_user
teacher
end
def do_charge
# source will let you supply a token. But... how to get a token in this case?
stripe_charge = Stripe::Charge.create(
:amount => amount_in_cents,
:currency => "usd",
:customer => APP_CONFIG.stripe[:source_customer],
:description => construct_description,
:destination => teacher.teacher.stripe_account_id,
:application_fee => fee_in_cents,
)
stripe_charge
end
def do_send_notices
#UserMailer.teacher_distribution_done(teacher_payment)
end
def do_send_unable_charge
#UserMailer.teacher_distribution_fail(teacher_payment)
end
def construct_description
#teacher_payment.teacher_distribution.description
end
end
end