1

編集: この問題を解決しました。些細なことになってしまいました。構成ファイルを編集した後、Rails サーバーを再起動するのを忘れていました。

このチュートリアルを使用して、Devise を使用して Rails アプリケーションに Stripe OAuth を統合しようとしています。at に続いたと思いますが、アプリで Connect to Stripe に移動すると、このエラーが表示されます。

{"エラー":{"メッセージ":"提供されたクライアント識別子に一致するアプリケーションはありません"}}

application.yml で宣言したクライアント識別子が渡されているかどうか、またはそれが読み取っている値を確認する方法がわかりません。これまでの私のセットアップは次のとおりです。

config/application.yml (Stripe アカウントの ID を持っています - ここで編集しました):

STRIPE_CONNECT_CLIENT_ID: "____________"
STRIPE_SECRET_KEY: "_____________"

config/initializers/devise.rb

Devise.setup do |config|

config.omniauth :stripe_connect,
      ENV['STRIPE_CONNECT_CLIENT_ID'],
      ENV['STRIPE_SECRET_KEY'],
      :scope => 'read_write',
      :stripe_landing => 'register'

*other config code*

end

config/routes.rb

Studiocracy::Application.routes.draw do
  devise_for :users, :controllers => { :omniauth_callbacks => "omniauth_callbacks", registrations: 'registrations' }
*other stuff*
end

controllers/omniauth_callbacks_controller.rb

class OmniauthCallbacksController < Devise::OmniauthCallbacksController

    def stripe_connect
        @user = current_user
        if @user.update_attributes({
            provider: request.env["omniauth.auth"].provider,
            uid: request.env["omniauth.auth"].uid,
            access_code: request.env["omniauth.auth"].credentials.token,
            publishable_key: request.env["omniauth.auth"].info.stripe_publishable_key
            })
      # anything else you need to do in response..
      sign_in_and_redirect @user, :event => :authentication
      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

app/views/devise/registrations/edit.html.erb

<%= link_to image_tag('stripe.png'), user_omniauth_authorize_path(:stripe_connect) %>
4

2 に答える 2