2

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

4

0 回答 0