尝试获取 Stripe Token 时出错

Error when trying to get Stripe Token

希望有人能帮忙。我是 Stripe 的新手。我试图让人们订阅一个计划(比如 5 美元/月)。我已经使用仪表板配置了条带。还得到了我的可发布密钥。在客户端,我试图获取令牌以将其发送到后端,以便我可以创建订阅。

我看过一个旧示例(即 stripe.js V2),您可以在其中执行您在下面看到的操作并获得令牌:

     <script type="text/javascript" src="https://js.stripe.com/v2"></script>
 Stripe.setPublishableKey("MyPublishableKey");
 expiration = $('.cc-exp').payment('cardExpiryVal');
        Stripe.card.createToken({
            number: $('.cc-number').val(),
            cvc: $('.cc-cvc').val(),
            exp_month: (expiration.month || 0),
            exp_year: (expiration.year || 0)
        }, stripeResponseHandler);

现在我正在使用 Stripe.js V3,并且这样做:

    <script type="text/javascript" src="https://js.stripe.com/v3"></script>
var stripePublishableKey = @Html.Raw(Json.Encode(Model.StripePublishableKey));
    var stripe = Stripe(stripePublishableKey);
stripe.tokens.create({
                card: {
                    "number": '4242424242424242',
                    "exp_month": 12,
                    "exp_year": 2019,
                    "cvc": '123'
                }
            }, function(err, token) {
                // asynchronously called
            });

我很确定可发布的密钥有效,因为在我进行试验时,我可以看到一些事件显示在 Stripe 仪表板上。

我遇到的问题是 chrome 控制台出现以下错误:

Uncaught TypeError: Cannot read property 'create' of undefined

我认为 this is 界面正确但不是 100% 确定:

如果有人能提供帮助,那就太好了。

谢谢。

贝哈达。

V3 (Elements) 无法从原始卡片详情中创建代币 - 你不应该这样做 has PCI consequences

您可能需要在此处切换 Elements 的卡片字段。