36 lines
940 B
Ruby
36 lines
940 B
Ruby
class StripeConnectService
|
|
def self.create_account(user)
|
|
return if user.stripe_connected_account_id.present?
|
|
|
|
account = Stripe::Account.create(
|
|
type: "express",
|
|
country: "FR",
|
|
email: user.email,
|
|
capabilities: {
|
|
card_payments: { requested: true },
|
|
transfers: { requested: true }
|
|
}
|
|
)
|
|
|
|
user.update!(stripe_connected_account_id: account.id)
|
|
account
|
|
end
|
|
|
|
def self.onboarding_link(user)
|
|
return unless user.stripe_connected_account_id.present?
|
|
|
|
account_link = Stripe::AccountLink.create(
|
|
account: user.stripe_connected_account_id,
|
|
refresh_url: Rails.application.routes.url_helpers.promoter_stripe_refresh_url,
|
|
return_url: Rails.application.routes.url_helpers.promoter_stripe_return_url,
|
|
type: "account_onboarding"
|
|
)
|
|
|
|
account_link.url
|
|
end
|
|
|
|
def self.get_account_details(account_id)
|
|
Stripe::Account.retrieve(account_id)
|
|
end
|
|
end
|