Class: Payola::CreateCard

Inherits:
Object
  • Object
show all
Defined in:
app/services/payola/create_card.rb

Class Method Summary collapse

Class Method Details

.call(stripe_customer_id, token) ⇒ Object



3
4
5
6
7
8
9
10
11
# File 'app/services/payola/create_card.rb', line 3

def self.call(stripe_customer_id, token)
  secret_key = Payola.secret_key
  card_fingerprint = Stripe::Token.retrieve(token, secret_key).try(:card).try(:fingerprint)
  customer = Stripe::Customer.retrieve(stripe_customer_id, secret_key)

  unless customer.sources.select{|source| source.fingerprint == card_fingerprint}.any?
    customer.sources.create(source: token)
  end
end