Class: Payflow::Providers::Stripe::Provider

Inherits:
Base
  • Object
show all
Defined in:
lib/payflow/providers/stripe/provider.rb

Instance Attribute Summary

Attributes inherited from Base

#provider_name

Instance Method Summary collapse

Methods inherited from Base

#find_customer, #find_subscription

Constructor Details

#initializeProvider

Returns a new instance of Provider.



10
11
12
# File 'lib/payflow/providers/stripe/provider.rb', line 10

def initialize
  super(provider_name: :stripe)
end

Instance Method Details

#cancel_subscription(provider_subscription_id) ⇒ Object



22
23
24
# File 'lib/payflow/providers/stripe/provider.rb', line 22

def cancel_subscription(provider_subscription_id)
  Subscription.new(self).cancel(provider_subscription_id)
end

#create_customer(attrs) ⇒ Object



14
15
16
# File 'lib/payflow/providers/stripe/provider.rb', line 14

def create_customer(attrs)
  { id: "cus_stripe_stub_#{SecureRandom.hex(4)}", provider: :stripe, email: attrs[:email], name: attrs[:name] }
end

#create_subscription(customer_id:, plan_id:, **options) ⇒ Object



18
19
20
# File 'lib/payflow/providers/stripe/provider.rb', line 18

def create_subscription(customer_id:, plan_id:, **options)
  Subscription.new(self).create(customer_id: customer_id, plan_id: plan_id, **options)
end

#list_invoices(provider_subscription_id:) ⇒ Object



26
27
28
# File 'lib/payflow/providers/stripe/provider.rb', line 26

def list_invoices(provider_subscription_id:)
  []
end

#parse_webhook(payload:, headers: {}) ⇒ Object



34
35
36
# File 'lib/payflow/providers/stripe/provider.rb', line 34

def parse_webhook(payload:, headers: {})
  Webhook.new(self).parse(payload: payload, headers: headers)
end

#verify_webhook_signature(payload:, headers:) ⇒ Object



30
31
32
# File 'lib/payflow/providers/stripe/provider.rb', line 30

def verify_webhook_signature(payload:, headers:)
  Webhook.new(self).verify_signature(payload: payload, headers: headers)
end