Cashierを使用して Stripe でセットアップしようとしている Laravel 5.1 を使用しています。
カスタムボタンを使用してjavascriptを実行しています(Angularを使用):
$scope.subscribe = function(plan){
var handler = StripeCheckout.configure({
key: 'pk_test_*************',
image: '/img/documentation/checkout/marketplace.png',
locale: 'auto',
token: function(token) {
// Use the token to create the charge with a server-side script.
// You can access the token ID with `token.id`
var data = 'stripeToken=' + token.id;
$http.post("/createSubscription", data).success(function(data, status) {
console.log(data);
});
}
});
handler.open({
name: 'basic',
description: 'basic monthly $100',
currency: "usd",
amount: 10000
});
$(window).on('popstate', function() {
handler.close();
});
};
そして、私のLaravelコードには次のものがあります:
public function createSubscription(Request $request)
{
$user = JWTAuth::parseToken()->authenticate();
$token = Input::get('stripeToken');
$user->subscription("basic_plan")->create($token);
return 'test';
}
しかし、「この顧客には支払元が関連付けられていません」というエラーが表示され続けます。
この行で返されたトークン:
token: function(token) {
...
ユーザーの電子メール、カード情報 (+ カード トークン)、およびストライプ トークンが含まれます。しかし、Stripe ダッシュボードを確認すると、データなしで顧客が追加されています (カードも電子メールもサブスクリプションも設定されていません)。
このフォームを使用して、サブスクリプション プランで顧客を作成しようとしています。
(Billable トレイトを設定してコントローラーに含めています)