Class: Gateway::StripeGateway

Inherits:
Gateway
  • Object
show all
Defined in:
app/models/spree/gateway/stripe_gateway.rb

Instance Method Summary collapse

Instance Method Details

#authorize(money, creditcard, gateway_options) ⇒ Object



19
20
21
# File 'app/models/spree/gateway/stripe_gateway.rb', line 19

def authorize(money, creditcard, gateway_options)
  provider.authorize(*options_for_purchase_or_auth(money, creditcard, gateway_options))
end

#capture(payment, creditcard, gateway_options) ⇒ Object



23
24
25
# File 'app/models/spree/gateway/stripe_gateway.rb', line 23

def capture(payment, creditcard, gateway_options)
  provider.capture((payment.amount * 100).round, payment.response_code, gateway_options)
end

#create_profile(payment) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'app/models/spree/gateway/stripe_gateway.rb', line 35

def create_profile(payment)
  return unless payment.source.gateway_customer_profile_id.nil?

  options = {
    email: payment.order.email,
    login: 
  }.merge! address_for(payment)

  response = provider.store(payment.source, options)
  if response.success?
    payment.source.update_attributes!({
      :gateway_customer_profile_id => response.params['id'],
      :gateway_payment_profile_id => response.params['default_card']
    })
  else
    payment.send(:gateway_error, response.message)
  end
end

#credit(money, creditcard, response_code, gateway_options) ⇒ Object



27
28
29
# File 'app/models/spree/gateway/stripe_gateway.rb', line 27

def credit(money, creditcard, response_code, gateway_options)
  provider.refund(money, response_code, {})
end

#payment_profiles_supported?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'app/models/spree/gateway/stripe_gateway.rb', line 11

def payment_profiles_supported?
  true
end

#provider_classObject



7
8
9
# File 'app/models/spree/gateway/stripe_gateway.rb', line 7

def provider_class
  ActiveMerchant::Billing::StripeGateway
end

#purchase(money, creditcard, gateway_options) ⇒ Object



15
16
17
# File 'app/models/spree/gateway/stripe_gateway.rb', line 15

def purchase(money, creditcard, gateway_options)
  provider.purchase(*options_for_purchase_or_auth(money, creditcard, gateway_options))
end

#void(response_code, creditcard, gateway_options) ⇒ Object



31
32
33
# File 'app/models/spree/gateway/stripe_gateway.rb', line 31

def void(response_code, creditcard, gateway_options)
  provider.void(response_code, {})
end