購入者には広告の非表示などがしたく、Stripeでサブスクリプションの機能の実装が出来たのですが、
購入者かどうかを判定しつづけるにはどうしたらいいのでしょうか?
deviseを使ったときのUserモデルとStripe用のPageモデルを紐づけています。
支払いが完了したときに、customer_idが出来るのでcustomer_idがTrueかFalseで判別すればいいのでしょうか?
deviseだとUser登録しているかどうかはuser_signed_in?で判定できるのですが、
自分で作ったのだとどうすればいいのかわからないので教えて頂けると幸いです。
controller
1 def success_payment 2 user = current_user 3 session = Stripe::Checkout::Session.retrieve(params[:session_id]) 4 @pages = Page.create(user_id: user.id, customer_id: session.customer) 5 flash[:notice] = "Payment Successful" 6 end
Table "public.users" Column | Type | Modifiers ------------------------+--------------------------------+---------------------------------------------------- id | bigint | not null default nextval('users_id_seq'::regclass) email | character varying | not null default ''::character varying encrypted_password | character varying | not null default ''::character varying reset_password_token | character varying | reset_password_sent_at | timestamp without time zone | remember_created_at | timestamp without time zone | created_at | timestamp(6) without time zone | not null updated_at | timestamp(6) without time zone | not null user | boolean | default false name | character varying | area | character varying | language | character varying | age | integer | uid | character varying | provider | character varying | accepted | boolean```
Table "public.pages" Column | Type | Modifiers -------------+--------------------------------+---------------------------------------------------- id | bigint | not null default nextval('pages_id_seq'::regclass) customer_id | integer | created_at | timestamp(6) without time zone | not null updated_at | timestamp(6) without time zone | not null user_id | bigint |
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/30 08:22