Sha256: 860ca442b2bb34a14bd24ceebb0357aea8aea1e3822a4ece8d57f8f406ee8ff0
Contents?: true
Size: 1.34 KB
Versions: 1
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 end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
spree_account_recurring-1.0.0 | app/models/concerns/spree/recurring/stripe_recurring/api_handler/plan_api_handler.rb |