Ошибка при попытке получить Stripe Token - PullRequest
0 голосов
/ 03 мая 2018

Я надеюсь, что кто-то может помочь. Я новичок в 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: Невозможно прочитать свойство 'create' из неопределенного

Я думаю это правильный интерфейс, но не уверен на 100%:

Если кто-то может помочь, это будет здорово.

Спасибо.

Бехдад.

1 Ответ

0 голосов
/ 03 мая 2018

V3 (Elements) не имеет возможности создавать токены из необработанных данных карты - и вам не следует этого делать, поскольку имеет последствия для PCI .

Скорее всего, вы захотите переключить поля вашей карты для Элементов здесь.

...