Как получить текущую учетную запись, подключенную к пользователю, чтобы использовать ее при выполнении чередующихся API-вызовов для разных подключенных учетных записей?
def stripe_charges_not_paid
if Rails.env.production?
Stripe.api_key = ENV['STRIPE_SECRET_KEY_PRO']
else
Stripe.api_key = ENV['STRIPE_SECRET_KEY']
end
Stripe::Charge.list(limit: 100, paid: false ,stripe_account: CONNECTED_STRIPE_ACCOUNT_ID)
end
Прямо сейчас это дает мне ошибку неинициализированной константы User::CONNECTED_STRIPE_ACCOUNT_ID на моем терминале.
1 ответ
Решение
При создании учетной записи Stripe пользователя возвращаемые данные включают id
(это начнется с "acct_..."). Вы должны сохранить идентификатор в поле в пользовательской записи... что вы называете это до вас, но :stripe_account_id
хороший выбор Кроме того, убедитесь, что во время создания учетной записи вы указали адрес электронной почты учетной записи current_user.
Вы можете получить список подключенных учетных записей со следующими в вашей модели пользователя...
require "stripe"
def stripe_user_account
return @stripe_user_account if defined? @stripe_user_account
if Rails.env.production?
Stripe.api_key = ENV['STRIPE_SECRET_KEY_PRO']
else
Stripe.api_key = ENV['STRIPE_SECRET_KEY']
end
Stripe::Account.list(limit: 99).each do |account|
if account.email == self.email
@stripe_user_account = account.id
break
end
end
@stripe_user_account
end