前提・実現したいこと
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
あなたの回答
tips
プレビュー