使用带有条带的自定义单独的表单字段

cpcdev

我正在使用Stripe API(PHP)创建使用自定义字段的签出表单。我正在尝试创建Stripe令牌,但是它不起作用:

var stripe = Stripe('pk_test_yzxdfxfsd9mafsfasfFnFhfsaP1zt');
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');


stripe.createToken({
    number: $('.card-number').val(),
    cvc: $('.card-cvc').val(),
    exp_month: '04',
    exp_year: '21',
}).then(function(result) {
    if (result.error) {
        // Inform the user if 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 Elements must be mounted in a DOM element that can contain child nodes. `input` elements are not permitted to have child nodes. Try using a `div` element instead.

这是表单的HTML:

<div>
    <span class="checkoutFormLabel">Card Number</span>
</div>
<div>
    <input type="text" name="card_num" id="card-number" class="full_width" />
</div>

<div>
    <span class="checkoutFormLabel">Name on Card</span>
</div>
<div>
    <input type="text" name="name_on_card" class="full_width" />
</div>


<div>
    <span class="checkoutFormLabel">Expiration</span>
</div>
<div>
    <input type="text" name="expiryDate" id="card-expiry" placeholder="MM/YY" class="full_width" />
</div>

<span class="checkoutFormLabel">CVC</span>
        <input type="text" name="cvc" class="full_width" id="card-cvc" style="width:100px;" />

如何修复我的条纹结帐表单以使其与上面设置的自定义表单字段一起使用?

谢谢!

电脑

查看Stripe文档,我认为您将无法做到这一点。Stripe为您提供了一组非常具体的参数,createToken可以接受,仅此而已。

再一次,错误提示您该card-number元素不仅仅是一个input类型,而是一个div可能包括的元素input实际上,我敢打赌该createToken方法本身就是要提取该信息,而不是冒着给您提供虚假信息的风险。我试图深入研究StripeElement卡元素,它非常复杂,隐藏得很好,旨在让人们三思而后行。

我想放弃尝试重新发明轮子并使用它们给您的StripeElement并按预期使用它。到您发现所有东西时,createToken很可能正在寻找验证它是否具有正确的表单元素,同时具备所有的安全性,您已经浪费了很多时间,可能会花很多时间在其中添加功能或修复错误。应用的其余部分。

我怎么知道 我做过与您相同的事情,经过数小时无处可去之后,我放弃了,只使用了经过精心设计,看似安全且易于使用的元素,花费了几分钟的时间进行工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用带有条带的Stripe设置自定义捐赠金额

使用自定义字段更改管理表单字段

带有验证错误(mat-error)的Angular6 Material自定义表单字段控件

带有Angular 6和NodeJ的自定义条带检出表单

并非所有表单错误都在自定义表单字段中呈现

Django UpdatView-自定义表单字段

如何自定义 django 表单字段生成的 html

原则-基于查询的自定义表单字段

自定义表单字段的Z索引问题(选择)

EasyAdminBundle实体表单字段自定义

Django中的自定义表单字段

ModelChoiceField表单字段上的自定义标签

如何返回自定义表单字段的值

Ant Design:使用自定义验证器验证表单字段

使用自定义窗口小部件时Django表单字段数据丢失

Django表单字段自定义属性分配和在模板中使用

使用自定义模板标记的Django表单字段占位符文本

Django - 在自定义 HTML 模板中呈现自定义表单字段

需要使用jQuery来使用Wordpress自定义字段填充Contact Form 7表单字段

如果使用自定义表单字段提交了“ 0”,ManyToOne JoinColumn(不可为空)不显示表单错误

如何在自定义组件视图中添加joomla编辑器,但不使用XML表单字段?

在小部件级别检查错误和其他值-可能使用自定义表单字段

Django自定义表单字段布局,无需手动重做整个表单

Odoo自定义表单字段小部件-如何显示字段值?

Magento管理员编辑表单字段-自定义模型字段

带有Admin / AdminInline中非模型字段的Django自定义表单

Django 模板:访问模板中的自定义表单字段属性

自定义模块中的Joomla 3 Article Modal表单字段

创建自定义验证器以针对多个表单字段进行验证