[Stripe] PHP APIの定額課金の書き方

stripのdashboardで商品を追加して、api idをメモします。

続いて、登録画面
-> これは普通の購入画面とほぼ一緒の書き方。
-> emailをpostする

<body>
	<img src="img/boat.jpg" width="300px" height="200px"><br>
	<p>サロン会員: ¥<?php echo $price; ?>(月額課金)</p>
	<form action="/subscription.php" method="post">
		<input hidden name="name" value="<?php echo $name; ?>">
		<input hidden name="email" value="<?php echo $email; ?>">
		<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
			data-key="pk_test_*"
			data-image=""
			data-amount="<?php echo $price; ?>"
			data-name="<?php echo $name; ?>"
			data-description=""
			data-email="<?php echo $email; ?>"
			data-locale="auto"
			data-allow-remember-me="false"
			data-label="クレジットカードで登録する"
			data-currency="jpy"
			>
		</script>
	</form><br>
<!-- 	<form action="/banck.php" method="post">
		<button class="bank-btn">銀行振込で支払う</button>
	</form> -->
</body>

### サーバーサイド側
-customerを作るときは、emailとsourceのみ。payment_methodを設定するとエラーになる。
-echo $e;でエラー内容を表示しながら作業する
-\Stripe\Subscription::createのpriceのところで、先ほど取得したAPI IDを設定する

require_once('vendor/autoload.php');

\Stripe\Stripe::setApiKey('sk_*');

$sub_id = null;

try {
	$token = $_POST['stripeToken'];
	$name = $_POST['name'];
	$email = $_POST['email'];

	$customer = \Stripe\Customer::create([
	  'email' => $email,
      'source'  => $token,
	]);
	
	$subscription = \Stripe\Subscription::create([
        'customer' => $customer->id,
        'items' => [
            [
              'price' => 'price_*',
            ],
        ]
    ]);
	var_dump($subscription);

	$sub_id = $subscription->id;

	// // アプリケーション側のDB更新


	header("Location: /complete.php");
	exit;
}  catch(Exception $e){
	echo $e;
	// if($sub_id !== null){
	// 	// 例外が発生すればオーソリを取り消す
	// 	\Stripe\Refund::create(array(
	// 		'charge' => $sub_id,
	// 	));
	// }

	// header("Location: /error.html");
	// exit;
}

これでOK。
定額もショッピングも両方いけます。
続いて、定額の解約を実装したい。