module Pay::Stripe
Public Class Methods
configure_webhooks()
click to toggle source
# File lib/pay/stripe.rb, line 53 def self.configure_webhooks Pay::Webhooks.configure do |events| # Listen to the charge event to make sure we get non-subscription # purchases as well. Invoice is only for subscriptions and manual creation # so it does not include individual charges. events.subscribe "stripe.charge.succeeded", Pay::Stripe::Webhooks::ChargeSucceeded.new events.subscribe "stripe.charge.refunded", Pay::Stripe::Webhooks::ChargeRefunded.new events.subscribe "stripe.payment_intent.succeeded", Pay::Stripe::Webhooks::PaymentIntentSucceeded.new # Warn user of upcoming charges for their subscription. This is handy for # notifying annual users their subscription will renew shortly. # This probably should be ignored for monthly subscriptions. events.subscribe "stripe.invoice.upcoming", Pay::Stripe::Webhooks::SubscriptionRenewing.new # Payment action is required to process an invoice events.subscribe "stripe.invoice.payment_action_required", Pay::Stripe::Webhooks::PaymentActionRequired.new # If a subscription is manually created on Stripe, we want to sync events.subscribe "stripe.customer.subscription.created", Pay::Stripe::Webhooks::SubscriptionCreated.new # If the plan, quantity, or trial ending date is updated on Stripe, we want to sync events.subscribe "stripe.customer.subscription.updated", Pay::Stripe::Webhooks::SubscriptionUpdated.new # When a customers subscription is canceled, we want to update our records events.subscribe "stripe.customer.subscription.deleted", Pay::Stripe::Webhooks::SubscriptionDeleted.new # Monitor changes for customer's default card changing events.subscribe "stripe.customer.updated", Pay::Stripe::Webhooks::CustomerUpdated.new # If a customer was deleted in Stripe, their subscriptions should be cancelled events.subscribe "stripe.customer.deleted", Pay::Stripe::Webhooks::CustomerDeleted.new # If a customer's payment source was deleted in Stripe, we should update as well events.subscribe "stripe.payment_method.attached", Pay::Stripe::Webhooks::PaymentMethodAttached.new events.subscribe "stripe.payment_method.updated", Pay::Stripe::Webhooks::PaymentMethodUpdated.new events.subscribe "stripe.payment_method.card_automatically_updated", Pay::Stripe::Webhooks::PaymentMethodUpdated.new events.subscribe "stripe.payment_method.detached", Pay::Stripe::Webhooks::PaymentMethodDetached.new # If an account is updated in stripe, we should update it as well events.subscribe "stripe.account.updated", Pay::Stripe::Webhooks::AccountUpdated.new # Handle subscriptions in Stripe Checkout Sessions events.subscribe "stripe.checkout.session.completed", Pay::Stripe::Webhooks::CheckoutSessionCompleted.new events.subscribe "stripe.checkout.session.async_payment_succeeded", Pay::Stripe::Webhooks::CheckoutSessionAsyncPaymentSucceeded.new end end
private_key()
click to toggle source
# File lib/pay/stripe.rb, line 45 def self.private_key find_value_by_name(:stripe, :private_key) end
public_key()
click to toggle source
# File lib/pay/stripe.rb, line 41 def self.public_key find_value_by_name(:stripe, :public_key) end
setup()
click to toggle source
# File lib/pay/stripe.rb, line 31 def self.setup ::Stripe.api_key = private_key ::Stripe.api_version = "2020-08-27" # Used by Stripe to identify Pay for support ::Stripe.set_app_info("PayRails", partner_id: "pp_partner_IqhY0UExnJYLxg", version: Pay::VERSION, url: "https://github.com/pay-rails/pay") configure_webhooks end
signing_secret()
click to toggle source
# File lib/pay/stripe.rb, line 49 def self.signing_secret find_value_by_name(:stripe, :signing_secret) end