2017-05-22 25 views
0

我想让一个已登录的用户连接他们的Stripe帐户并通过我的平台进行支付。未找到。身份验证通过。 stripe_connect和设计

我用这种宝石:https://github.com/isaacsanders/omniauth-stripe-connect

每当我点击链接连接到条纹,它只是给了我“未找到验证中继。”的错误。

这里是我的代码:

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应用程序的参考。

回答

0

因此,我逐行检查了我的代码,没有发生任何变化,但不知何故,passthru错误消失了。也许花了一夜之间Stripe注册我的应用程序。我真的不知道。一旦这个错误消失了,当我通过用户模型中的一个函数传递给request.env [“omniauth.auth”]时,我得到了一个不同的错误。所以我将控制器改回到使用winvoice教程中找到的代码(http://www.munocreative.com/nerd-notes/winvoice),现在一切正常。用户属性用条带中的标记更新。

相关问题