Я надеюсь, что кто-то может помочь. Я новичок в 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%:
Если кто-то может помочь, это будет здорово.
Спасибо.
Бехдад.