質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Stripe

Stripeとは、米国のオンライン決済システム提供企業、及び同社が提供する決裁システムを指します。Webサイトやモバイルアプリにコードを組み込むことでクレジットカードなどの決済サービスが簡潔に追加できます。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

1回答

1493閲覧

Stripeのlanding pageを登録ページにする

ymatt

総合スコア20

Stripe

Stripeとは、米国のオンライン決済システム提供企業、及び同社が提供する決裁システムを指します。Webサイトやモバイルアプリにコードを組み込むことでクレジットカードなどの決済サービスが簡潔に追加できます。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2017/07/07 16:44

編集2017/07/08 17:06

###前提・実現したいこと
Stripeで支払い機能を追加したいと思っています。アプリケーションからStripeのページに遷移する際に、loginではなくregister画面にしたいのですが、うまくいきません。

stripe_landing: 'register'

とあるチュートリアルには上記でregister画面に飛ぶとありましたが、loginに飛びます。上記コードで検索すると、どれも2-4年前の記述がヒットします。現在のStripeは仕様が変わっているのかとも考えましたが、別サイトで仕様に変更はないとの回答をいただきました。

###問題のコード

class StripeController < ApplicationController # Connect yourself to a Stripe account. # Only works on the currently logged in user. # See app/services/stripe_oauth.rb for #oauth_url details. def oauth connector = StripeOauth.new( current_user ) url, error = connector.oauth_url( redirect_uri: stripe_confirm_url ) if url.nil? flash[:error] = error redirect_to manage_listing_payment_path( session[:listing_id] ) else redirect_to url end end end
class StripeOauth < Struct.new( :user ) def oauth_url( params ) url = client.authorize_url( { scope: 'read_write', stripe_landing: 'register', stripe_user: { email: user.email } }.merge( params ) ) [ url, nil ] end # A simple OAuth2 client we can use to generate a URL # to redirect the user to as well as get an access token. # Used in #oauth_url and #verify! # see this docs https://github.com/intridea/oauth2 def client @client ||= OAuth2::Client.new( ENV['STRIPE_CONNECT_CLIENT_ID'], Stripe.api_key, { site: 'https://connect.stripe.com', authorize_url: '/oauth/authorize', token_url: '/oauth/token' } ).auth_code end end

###発生している問題
ターミナルでは以下が表示されます。

Started GET "/connect/oauth" for ::1 at 2017-07-09 00:37:55 +0800 Processing by StripeController#oauth as HTML User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT 1 [["id", 1]] Redirected to https://connect.stripe.com/oauth/authorize?client_id=ca_AuidWGx68TXWlWO3d3UbWcRcuPqfSeNH&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fconnect%2Fconfirm&response_type=code&scope=read_write&stripe_landing=register&stripe_user%5Bemail%5D=aaa%40gmail.com

このurlはチュートリアル動画内にあるものと一致するので、コード自体はうまく走っているのではと思います。ただ、実際にクロームでたどり着くページのurlは以下です。

https://connect.stripe.com/login?redirect=%2Foauth%2Fauthorize%3Fclient_id%3Dca_AuidWGx68TXWlWO3d3UbWcRcuPqfSeNH%26redirect_uri%3Dhttp%253A%252F%252Flocalhost%253A3000%252Fconnect%252Fconfirm%26response_type%3Dcode%26scope%3Dread_write%26stripe_landing%3Dregister%26stripe_user%255Bemail%255D%3Daaa%2540gmail.com&force_login=true

遷移先に設定すべきurlが最新のStripeではすでに変わっているのでしょうか。いずれにせよ、解決策ご存知の方いらっしゃいましたらよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

safariではうまくいったので、chromeのクッキーを消去したところ、うまくいきました。

投稿2017/07/09 06:45

ymatt

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問