Sha256: 09c6e6434fdf65383873a701df4b69f37b998d48b07b90cd97e15a753aaf733a
Contents?: true
Size: 1.34 KB
Versions: 13
Compression:
Stored size: 1.34 KB
Contents
module Spree class Recurring < ActiveRecord::Base class StripeRecurring < Spree::Recurring module ApiHandler module PlanApiHandler def create_plan(plan) raise_invalid_object_error(plan, Spree::Plan) Stripe::Plan.create( amount: stripe_amount(plan.amount), interval: plan.interval, interval_count: plan.interval_count, name: plan.name, currency: plan.currency, id: plan.api_plan_id, trial_period_days: plan.trial_period_days ) end def delete_plan(plan) raise_invalid_object_error(plan, Spree::Plan) stripe_plan = retrieve_api_plan(plan) stripe_plan.delete end def update_plan(plan) raise_invalid_object_error(plan, Spree::Plan) stripe_plan = retrieve_api_plan(plan) stripe_plan.name = plan.name stripe_plan.save end def set_api_plan_id(plan) plan.api_plan_id = "KS-Plan-#{Time.current.to_i}" end private def retrieve_api_plan(plan) Stripe::Plan.retrieve(plan.api_plan_id) end def stripe_amount(amount) (amount * 100).to_i end end end end end end
Version data entries
13 entries across 13 versions & 1 rubygems