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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

PHP

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

0回答

1963閲覧

CakePHP で 決済機能を実装(PAY.JP使用)

kennyyasumura

総合スコア15

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

PHP

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

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

0クリップ

投稿2019/02/24 03:51

編集2019/02/24 07:30

前提・実現したいこと

Pay.JPを利用し、決済機能を追加したいと考えております。
決済方法は定期課金のみを考えており、顧客とカードを結びつける必要があるのですが、
顧客が上手く作れず困っています。

エラーメッセージやその他の細かい仕様は後ほど実装しようと思うのですが、
取り急ぎ、①顧客の作成+カード登録②定期プランと顧客との紐付けを行いたいと考えております。
定期プランの内容については、PAYJPにログインし、手動で作りました。

発生している問題・エラーメッセージ

下記のエラーが発生し、PayJP内でイベントは発生されているのですが、 顧客の作成が出来ておりません。 cliant_error not_allowed_method_error 405

該当のソースコード

php

1 //以下コントーラー 2 3 public function payjp() { 4 5 require_once '../Vendor/payjp-php/init.php'; 6 7 if ($_SERVER['REQUEST_METHOD'] === 'POST') { 8 9 $token = $_POST['payjp-token']; 10 $plan = $g_info['Group']['plan']; 11 $organization_id = $g_info['Group']['id']; 12 $customer_id = $_POST['id']; 13 14 Payjp::setApiKey('テストキー'); 15 16 $charge = \Payjp\Customer::create([ 17 "description" => "I NEED YOU CUSTOMER PLZ SHOW UP", 18 'card' => $token, 19 'id' => $organization_id, 20 'email' => $g_info['Group']['mail'], 21 'metadata' => array("organization_id" => $organization_id) 22 ]); 23 24 \Payjp\Subscription::create( 25 array( 26 "customer" => $customer_id, 27 "plan" => $plan 28 ) 29 ); 30 } 31 }

ctp

1 2 //以下ビュー ※HTML文は省略 3 4 <script 5 type="text/javascript" 6 src="https://checkout.pay.jp/" 7 data-payjp="OAuthクライアントID" 8 class="payjp-button" 9 data-key="テスト用パブリックキー" 10 data-partial="true" 11 card="payjp-token"> 12 </script>

試したこと

コントローラーのIF文を下記に変更してみました。
すると、エラーは出ませんでしたが、状況は変わりませんでした。

if (isset($_POST['payjp-token'])) {
// 処理 
}

補足情報(FW/ツールのバージョンなど)

PHP 5.6
MySQL 5.7
CakePHP2
Mamp pro
OS mac Mojave 10.14.3

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問