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

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

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

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

2427閲覧

PHP(Laravel)でStripeのコネクトを使って定額決済できるようにしたい

nanase.

総合スコア4

Stripe

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

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/07/03 15:59

編集2020/07/04 00:47

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
PHP(Laravel)でStripeのコネクトを使って定額決済できるプラットフォームを作りたいと思っています。
まずアカウントを連結させる必要があるため下記のリンクの通りに行ってみましたが、上手く連結されませんでした。
https://takkublog.net/stripe04/

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

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

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

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

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

m.ts10806

2020/07/03 21:35

Stripeに問い合わせる内容ではないでしょうか。 それに、「参考に行った」というだけでは、実際にどうやったのか誰にも分かりません。
guest

回答3

0

本当にネット上のLaravel情報はひどすぎる…。
その記事は「Laravelユーザーならこんなコードは書かない」というありとあらゆる間違ったことをやっている。

・define()は使わない
・$_GETは使わない
・array()は使わない
・env()は(config以外で)使わない
・curl関連関数は直接使わない

LaravelでStripe使いたいならCashierがLaravel公式で用意されている。
https://readouble.com/laravel/7.x/ja/billing.html

そもそもの一番重要なことは
お金を扱う機能を初心者が作ってはいけないのでやめたほうがいい。
責任の重さが分かってないなら絶対にやめたほうがいい。

投稿2020/07/04 01:02

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

自己解決

一応下記の通りに修正したら出来ました。
回答として頂いた通りLaravelを使っている人が$_GETとかを使ってるのはあまりみたことがなかったのでそこはもう少し修正する必要があるかと思いました。

php

1public function connect(){//子ユーザーコネクト作成 2 define('CLIENT_ID', 'Id');//connectの設置ページにある 3 define('TOKEN_URI', 'https://connect.stripe.com/oauth/token'); 4 define('AUTHORIZE_URI', 'https://connect.stripe.com/oauth/authorize'); 5 if (isset($_GET['code'])) { // Redirect/ code 6 $code = $_GET['code']; 7 $token_request_body = array( 8 'client_secret' => env('STRIPE_SECRET'), 9 'grant_type' => 'authorization_code', 10 'client_id' => CLIENT_ID, 11 'code' => $code, 12 ); 13 $req = curl_init(TOKEN_URI); 14 curl_setopt($req, CURLOPT_RETURNTRANSFER, true); 15 curl_setopt($req, CURLOPT_POST, true ); 16 curl_setopt($req, CURLOPT_POSTFIELDS, http_build_query($token_request_body)); 17 // TODO: Additional error handling 18 $respCode = curl_getinfo($req, CURLINFO_HTTP_CODE); 19 $resp = json_decode(curl_exec($req), true); 20 curl_close($req); 21 22 $id = Auth::id();//user_id取得 23 User::where('id', $id)->update(['stripe_user_id' => $resp['stripe_user_id']]); 24 25 return redirect()->back(); 26 } else if (isset($_GET['error'])) { // Error 27 echo $_GET['error_description']; 28 } else { // Show OAuth link 29 $authorize_request_body = array( 30 'response_type' => 'code', 31 'scope' => 'read_write', 32 'client_id' => CLIENT_ID, 33 ); 34 $url = AUTHORIZE_URI . '?' . http_build_query($authorize_request_body); 35 36 return view('connect')->with('url',$url); 37 }

投稿2020/07/05 07:57

編集2020/07/05 08:05
nanase.

総合スコア4

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

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

退会済みユーザー

退会済みユーザー

2020/07/05 08:25

kawax さんの回答見て、なぜこうなるのか。。。
nanase.

2020/07/05 08:36

自分以外の誰かに使ってもらう場合は迷惑がかかるのでやめた方がいいとは思います。ただ、ローカルで自分で動かして遊んでるだけなら問題ないと思いますよ????
退会済みユーザー

退会済みユーザー

2020/07/05 09:15

Stripe の決済をローカルで動かして遊ぶ意味がわからないですけど?
nanase.

2020/07/05 09:28

自分以外の誰かに使われない状況でStripeを使うのにどこか問題でもあるんですか?
退会済みユーザー

退会済みユーザー

2020/07/05 09:34

変わった嗜好をお持ちですね。 理解できました。
guest

0

一応下記の通りに修正したら出来ました。
回答として頂いた通りLaravelを使っている人が$_GETとかを使ってるのはあまりみたことがなかったのでそこはもう少し修正する必要があるかと思いました。

php

1public function connect(){//子ユーザーコネクト作成 2 define('CLIENT_ID', 'Id');//connectの設置ページにある 3 define('TOKEN_URI', 'https://connect.stripe.com/oauth/token'); 4 define('AUTHORIZE_URI', 'https://connect.stripe.com/oauth/authorize'); 5 if (isset($_GET['code'])) { // Redirect/ code 6 $code = $_GET['code']; 7 $token_request_body = array( 8 'client_secret' => env('STRIPE_SECRET'), 9 'grant_type' => 'authorization_code', 10 'client_id' => CLIENT_ID, 11 'code' => $code, 12 ); 13 $req = curl_init(TOKEN_URI); 14 curl_setopt($req, CURLOPT_RETURNTRANSFER, true); 15 curl_setopt($req, CURLOPT_POST, true ); 16 curl_setopt($req, CURLOPT_POSTFIELDS, http_build_query($token_request_body)); 17 // TODO: Additional error handling 18 $respCode = curl_getinfo($req, CURLINFO_HTTP_CODE); 19 $resp = json_decode(curl_exec($req), true); 20 curl_close($req); 21 22 $id = Auth::id();//user_id取得 23 User::where('id', $id)->update(['stripe_user_id' => $resp['stripe_user_id']]); 24 25 return redirect()->back(); 26 } else if (isset($_GET['error'])) { // Error 27 echo $_GET['error_description']; 28 } else { // Show OAuth link 29 $authorize_request_body = array( 30 'response_type' => 'code', 31 'scope' => 'read_write', 32 'client_id' => CLIENT_ID, 33 ); 34 $url = AUTHORIZE_URI . '?' . http_build_query($authorize_request_body); 35 36 return view('connect')->with('url',$url); 37 }

投稿2020/07/05 08:02

nanase.

総合スコア4

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問