Как получить текущую учетную запись, подключенную к пользователю, чтобы использовать ее при выполнении чередующихся 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
Другие вопросы по тегам