因此,我正在从条纹结帐迁移到元素,以便我可以以一种形式注册并向客户收费。 我正在关注他们的文档: https://stripe.com/docs/stripe-js/elements/quickstart
特别是在第3步中,该令牌是使用以下代码创建的:
// Create a token or display an error when the form is submitted.
var form = document.getElementById('payment-form');
form.addEventListener('submit', function(event) {
event.preventDefault();
stripe.createToken(card).then(function(result) {
if (result.error) {
// Inform the customer that there was an error.
var errorElement = document.getElementById('card-errors');
errorElement.textContent = result.error.message;
} else {
// Send the token to your server.
stripeTokenHandler(result.token);
}
});
});
文档指出:
处理程序将字段发送到Stripe进行令牌化...
但是,似乎什么都没有发送到Stripe!
底部的两个请求显示使用旧的结帐程序进行的两个api调用:首先将卡信息发送到/ tokens,然后由我的服务器处理,并使/ customers请求正常。
但是当使用元素代码时,即使生成令牌并将其发送到我的服务器,似乎也不会发送任何数据条。因此,我得到了“没有这样的令牌”错误!?
我一辈子都无法锻炼为什么stripe.createToken(card)
不会将详细信息发送到他们的服务器而生成令牌?我已经三重检查了api键以及我能想到的所有内容。请帮忙!
答案 0 :(得分:0)
真正的问题是什么...我可以使用它,但是我不知道为什么可以解决它。
我正在.net mvc网站上使用stripe元素,并且正在视图中初始化Stripe类,以便可以像这样轻松地从我的viewmodel中传递密钥:
var stripe = Stripe('@Model.StripePublicKey');
哪个应该可以工作,对吗?没有JS错误或其他任何东西,它正在创建令牌,只是没有发布到Stripe的服务器。...
无论如何,我将该行移动到JS文件中,因此它直接位于其他与条带相关的JS上方,现在可以正常工作!?