私のコードは、私が正しくすぐ購読を呼び出した後カードを充電する最初の試みをストライプ理解場合localhhostでストライプサブスクリプションをテストする方法は?
$strtok = \Stripe\Token::create([
'card' => [
'number' => $ccNum,
'exp_month' => $expMonth,
'exp_year' => $expYear,
'cvc' => $cvc
],
]
);
$stripetoken = $strtok->id;
$customer = \Stripe\Customer::create([
'source' => $stripetoken,
'email' => $email
]);
$subscription = \Stripe\Subscription::create([
'customer' => $customer->id,
'plan' => $planId,
]);
下記のコードを使用してストライプサブスクリプション(定期的な料金)を設定します。 chargeIdなどの料金の詳細を取得するには、ストライプのウェブフックURLを設定することが絶対に必要ですか?私はテストモードで作業していると私はサーバーに指しているストライプのWebフックのURLを設定する立場にないことを意味します。ストライプが最初にカードに請求したときに、またストライプが定期的にカードに請求するときに、ストライプのチャージIDやその他の請求情報を取得したいWebに接続されたローカルネットワークにあるローカルシステムでこれを実行したいと思います。
上記のコードは、サブスクリプションが作成されるとすぐに最初の請求詳細を取得します。コードをありがとう。しかし、私はまだ問題があります。私のサーバーは性質上一時的です。ウェブフックを設定せずに、後続の料金(月額サブスクリプションの場合)で料金請求の詳細を取得するにはどうすればよいですか?そのためには、ngrokのようなツールを使用する必要がありますか?上記のコードを毎月使用するには、スクリプトを実行するcronを設定する必要がありますか?私が後で使用する予定のamazon ec2 ephemeralサーバーの場合、これが可能かどうかはわかりません。 – jai
@jai ngrokはウェブフックをローカルでテストするために使用されます。あなたはここでngrokを使用しません。あなたのコードはサーバー上に生きていて、いつも実行します。新たな請求が発生するたびに、 'invoice.payment_succeeded'イベントがwebhookエンドポイントに送信され、コードがイベントを処理してデータベースを自動的に更新します。これは、すべてストリープのwebhooksとsubsのドキュメントに記載されています。https://stripe.com/docs/webhooksとhttps://stripe.com/docs/subscriptions/lifecycle – koopajah
ドッカーとngrokの使い方を教えてもらえますか? – jai