Files
openfoodnetwork/app/services/recurring_payments.rb
2023-09-14 16:25:49 +09:00

17 lines
517 B
Ruby

# frozen_string_literal: true
class RecurringPayments
def self.setup_for(customer)
return unless card = customer.user.default_card
return unless stripe_account = customer.enterprise.stripe_account&.stripe_user_id
customer_id, payment_method_id =
Stripe::CreditCardCloner.new(card, stripe_account).find_or_clone
setup_intent = Stripe::SetupIntent.create(
{ payment_method: payment_method_id, customer: customer_id },
stripe_account:
)
setup_intent.client_secret
end
end