我正在使用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特性并包含在控制器中)