使用单独的元素创建条纹令牌 [英] Creating stripe token using separate elements
问题描述
我不需要使用元素类型'card'来分隔元素,在文档示例中,它们仅使用'card',因此在创建令牌时,它们只是将card对象传递给create token参数.
Instead of using the element type 'card' I needed to separate the elements, In the documentation example they only use 'card' so when they create a token they just pass the card object to the create token parameter.
stripe.createToken(card).then(function(result) {
});
如何传递这些多个对象来创建令牌?
How can I pass these multiple objects to create a token?
var cardNumber = elements.create('cardNumber');
cardNumber.mount('#card-number');
var cardExpiry = elements.create('cardExpiry');
cardExpiry.mount('#card-expiry');
var cardCvc = elements.create('cardCvc');
cardCvc.mount('#card-cvc');
var cardPostalCode = elements.create('postalCode');
cardPostalCode.mount('#card-postal-code');
推荐答案
来自 Elements
参考.
element:您希望从中标记数据的元素.元素将从您在相同实例上创建的其他Elements中提取数据要标记化的元素.
element: the Element you wish to tokenize data from. The Element will pull data from other Elements you’ve created on the same instance of elements to tokenize.
https://stripe.com/docs/elements/reference#stripe-创建令牌
因此您可以初始化元素
var elements = stripe.elements();
然后定义/装入字段
var cardNumber = elements.create('cardNumber');
cardNumber.mount('#card-number');
var cardExpiry = elements.create('cardExpiry');
cardExpiry.mount('#card-expiry');
var cardCvc = elements.create('cardCvc');
cardCvc.mount('#card-cvc');
// creating a postal code element is deprecated
// var cardPostalCode = elements.create('postalCode');
// cardPostalCode.mount('#card-postal-code');
然后这应该将它们全部拉入,因为它们是 elements
Then this should pull them all in as they are part of elements
stripe.createToken(cardNumber).then(doSomething);
邮政编码元素已被弃用,因此我从示例中将其删除.如果您使用单独的字段并希望收集邮政编码(或其他地址数据),则应通过< input>
进行,然后将其传递到可选的 cardData
对象,当调用 stripe.createToken
The postal code element has been deprecated, so I removed it from my example. If you're using separate fields and want to collect the postal code (or other address data), you should do this via an <input>
and then pass it into the optional cardData
object when calling stripe.createToken
https://stripe.com/docs/stripe-js/reference#elements-create
// <input id="postal-code" name="postal_code" class="field" placeholder="90210" />
var cardData = {
address_zip: document.getElementById('postal-code').value
}
stripe.createToken(cardNumber,cardData).then(doSomething);
这篇关于使用单独的元素创建条纹令牌的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!