【发布时间】:2017-08-27 14:58:27
【问题描述】:
我正在尝试在我的 rails 应用程序中实现 Stripe 元素,但我似乎无法正确包含 stripe.js。这是我的应用程序.html
<%= tag :meta, name: "stripe-key", content: Figaro.env.stripe_publishable_key %>
<script type="text/javascript" src="https://js.stripe.com/v3/"</script>
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
JS
var stripe = Stripe($("meta[name='stripe-key']").attr("content"))
var elements = stripe.elements();
var card = elements.create('card', {
style: {
base: {
iconColor: '#999',
color: '#505652',
lineHeight: '40px',
fontWeight: 300,
fontFamily: 'Helvetica Neue',
'::placeholder': {
color: '#CFD7E0',
},
},
}
});
// Add an instance of the card UI component into the `card-element` <div>
card.mount('#card-element');
表格
<form action="/charge" method="post" id="payment-form">
<div class="form-row">
<label for="card-element">
Credit or debit card
</label>
<div id="card-element">
</div>
<div id="card-errors"></div>
</div>
<button>Submit Payment</button>
</form>
每次加载页面时,我都会在控制台Uncaught ReferenceError: Stripe is not defined - STRIPE ERROR 中收到此错误。我认为这与我加载 stripe.js 的方式有关,但我不确定?
【问题讨论】:
-
第一个
script标记格式不正确。 -
我遇到了类似的错误。我的是因为我在另一个函数中调用了条带。如果您从“var stripe”前面删除“var”,则表示该条带现在是 GLOBAL 而不是 LOCAL,这为我解决了这个问题。我也一直等到页面加载,直到执行任何操作。
标签: javascript ruby-on-rails stripe-payments