Javascript 如何将自定义字段添加到条带签出的弹出表单

Javascript 如何将自定义字段添加到条带签出的弹出表单,javascript,html,stripe-payments,Javascript,Html,Stripe Payments,如何向条带签出表单添加自定义字段,例如名字、姓氏,甚至可能是带有自定义按钮的复选框? 到目前为止,我已经想出了这个 <script src="https://checkout.stripe.com/checkout.js"></script> <form action="/charge" method="POST"> <script src="https://checkout.stripe.com/checkout.js" class="s

如何向条带签出表单添加自定义字段,例如名字、姓氏,甚至可能是带有自定义按钮的复选框? 到目前为止,我已经想出了这个

<script src="https://checkout.stripe.com/checkout.js"></script>

<form action="/charge" method="POST">
  <script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="pk_test_i2txBI2jUjSQIMoqFz3Fo326"
    data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
    data-name="Matt's Widgets and Gizmos"
    data-description="2 widgets ($20.00)"
    data-amount="2000"
    data-billingAddress="true"
    data-shippingAddress="true">
  </script>
</form>
这有什么办法吗?请让我知道
谢谢

添加自定义字段或复选框无法调整条带签出。这里的解决方案是使用这些额外字段并将其添加到您自己的表单中。例如,您可以收集客户的姓名,让他接受您自己的服务条款,并且只允许他们在接受后单击“支付”按钮


然后,一旦客户用他们的卡详细信息填写结帐,Stripe会将令牌发送回您,您会将令牌连同您在您的终端收集的额外详细信息一起发送到您的服务器。

Stripe现在建议使用该方法,而不是不推荐使用的结帐模式方法(不要与新方法混淆)

为此,为了添加自定义字段(例如名称、包类型、自定义标记等),我发现works通过添加以下内容来调整stripe.js函数stripeTokenHandler():

var customInput = document.createElement('input');
customInput.setAttribute('type', 'hidden');
customInput.setAttribute('name', 'customInput');
customInput.setAttribute('value', $("input[name=customInput]:checked").val());
form.appendChild(customInput);
因此,如果我有一个名为“customInput”的单选按钮组,它会将所选单选按钮的值附加到“customInput”$\u POST字段。这样,目标脚本就可以检索并使用它


希望这对其他人有所帮助。

您可以尝试通过添加自己的存档作为clientReferenceIdie=>extrauserid::option2::option2,但不幸的是,您在支付意图中没有得到这一点。成功与丢失的SKU相同

引用签出会话的唯一字符串。这可以是客户ID、购物车ID或类似的ID。它包含在checkout.session.completed webhook中,可用于完成购买

var data = {
    customerEmail: eml,
    successUrl: 'https://...',
    cancelUrl: 'https://...',
    clientReferenceId: user + '::' + option1,
    items: [{  
       sku: sku, 
       quantity: 1
    }],
}
stripe.redirectToCheckout(data);
签出.会话.已完成

"cancel_url": "https://....",
"client_reference_id": "user123::somevalue",
"customer": "cus_H1vFYbxY2XMAz6",

看起来您无法将任何自定义字段添加到自定义表单中,但是否正确?如果我想添加“头发颜色”-如何添加文本框?或者,如果我想用单选按钮“男”或“女”添加“性别”——这在定制结账时也是不可能的,对吗?
"cancel_url": "https://....",
"client_reference_id": "user123::somevalue",
"customer": "cus_H1vFYbxY2XMAz6",