in app/workers/marketplace_purchase_worker.rb [6:20]
def perform(payload)
purchase = SubscriptionPurchase.find_or_initialize_by(account_id: payload['marketplace_purchase']['account']['id'])
plan = SubscriptionPlan.find_by_github_id(payload['marketplace_purchase']['plan']['id'])
purchase.update({
billing_cycle: payload['marketplace_purchase']['billing_cycle'],
unit_count: payload['marketplace_purchase']['unit_count'],
on_free_trial: payload['marketplace_purchase']['on_free_trial'],
free_trial_ends_on: payload['marketplace_purchase']['free_trial_ends_on'],
updated_at: payload['marketplace_purchase']['updated_at'] || Time.current,
next_billing_date: payload['marketplace_purchase']['next_billing_date'],
subscription_plan_id: plan.id
})
end