【发布时间】:2017-10-22 16:26:01
【问题描述】:
我正在尝试允许已登录的用户连接他们的 Stripe 帐户并通过我的平台进行付款。
我正在使用这个 gem:https://github.com/isaacsanders/omniauth-stripe-connect
每当我单击链接以连接到 Stripe 时,它只会给我“未找到。身份验证通路”错误。
这是我的代码:
Gemfile
...
#Use Stripe for payment processing
gem 'stripe', '1.48.0'
gem 'omniauth-stripe-connect'
...
config/routes.rb
...
devise_for :users, controllers: { :omniauth_callbacks => "omniauth_callbacks" }
...
controllers/omniauth_callbacks_controller.rb
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def stripe_connect
@user = User.find_for_stripe_connect(request.env['omniauth.auth'], current_user)
set_notice_and_redirect
end
private
def set_notice_and_redirect
if @user.persisted?
flash[:notice] = 'Successfully signed in'
set_flash_message(:notice, :success, :kind => "Stripe") if is_navigational_format?
else
session["devise.stripe_connect_data"] = request.env["omniauth.auth"]
redirect_to new_user_registration_url
end
end
end
/models/user.rb
...
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :omniauthable, :omniauth_providers => [:stripe_connect]
...
/config/initializers/devise.rb
...
config.omniauth :stripe_connect,
ENV['stripe_connect_client_id'],
ENV['stripe_api_key'],
:scope => 'read_write',
:stripe_landing => 'register'
...
/config/initializers/stripe.rb
Stripe.api_key = ENV["stripe_api_key"]
STRIPE_PUBLIC_KEY = ENV["stripe_publishable_key"]
STRIPE_CONNECT_CLIENT_ID = ENV["stripe_connect_client_id"]
View link
<%= link_to image_tag("light-on-light.png"), user_stripe_connect_omniauth_authorize_path %>
application.yml (figaro)
stripe_api_key: sk_test_mysecretstripeapikeyfortheapplicationaccount
stripe_publishable_key: pk_test_mypublicstripeapikeyfortheapplicationaccount
stripe_connect_client_id: ca_myclientidfortheappregisteredwithstripe
#
production:
stripe_api_key: sk_test_mysecretstripeapikeyfortheapplicationaccount
stripe_publishable_key: pk_test_mypublicstripeapikeyfortheapplicationaccount
stripe_connect_client_id: ca_myclientidfortheappregisteredwithstripe
如果您能找到我的错误,那就太好了。我也很感激对使用 Devise 和 Stripe Connect 的示例 rails 应用程序的任何参考。
【问题讨论】:
标签: ruby-on-rails devise stripe-connect