尝试获取Stripe Token时出错

时间:2018-05-03 10:56:08

标签: stripe-payments stripe.net stripe.js

我希望有人可以提供帮助。我是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控制台中收到以下错误:

  

未捕获的TypeError:无法读取未定义的属性“create”

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

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

谢谢。

Behdad。

1 个答案:

答案 0 :(得分:1)

V3(Elements)无法从原始卡详细信息中创建令牌 - 您不应该像has PCI consequences那样创建令牌。

您可能希望在此处切换Elements的卡片字段。