35 lines
943 B
Ruby
35 lines
943 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 |