Sha256: e608a20b994f2e48411cd500fe51431993bd8a3644297dbb78dbb04bc19ff5f0
Contents?: true
Size: 814 Bytes
Versions: 3
Compression:
Stored size: 814 Bytes
Contents
module Tang class SaveCard def self.call(customer, token) if customer.card.present? card = customer.card else card = Card.new(customer: customer) end begin if customer.stripe_id.present? cu = Stripe::Customer.retrieve(customer.stripe_id) cu.source = token cu.save else cu = Stripe::Customer.create( source: token, email: customer.email ) customer.stripe_id = cu.id customer.save! end # Save the payment method stripe_card = cu.sources.retrieve(cu.default_source) card.update_from_stripe(stripe_card) rescue Stripe::StripeError => e card.errors[:base] << e.message end return card end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tang-0.0.9 | app/services/tang/save_card.rb |
tang-0.0.8 | app/services/tang/save_card.rb |
tang-0.0.1 | app/services/tang/save_card.rb |