我正在使用 Laravel 5.1 尝试通过使用Cashier的 Stripe 进行设置。
我正在使用自定义按钮来执行 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 特征并将其包含在控制器中)