Sha256: 80431eb0c379b4e352bd876257cfa8543f87288582f91169e47545cee3c13c74
Contents?: true
Size: 886 Bytes
Versions: 2
Compression:
Stored size: 886 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 = Stripe::Customer.retrieve_source( cu.id, cu.default_source, ) card.update_from_stripe(stripe_card) rescue Stripe::StripeError => e card.errors.add(:base, :invalid, message: e.message) end return card end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tang-0.2.2 | app/services/tang/save_card.rb |
tang-0.2.1 | app/services/tang/save_card.rb |