我在结帐页面中设置了一个嵌入式 UI,但我想在提交结帐表单之前验证客户的帐单和送货地址以及嵌入式 UI 卡的详细信息。
它会自动从服务器创建 nonce 并将其附加到我们的表单中,但我如何才能同时验证 drop-in 和地址字段?
最佳答案
我在 Braintree 的 JS SDK 团队工作。
目前,Drop-In 不允许输入信用卡、有效期、CVV 和邮政编码以外的字段。但是,它旨在在结帐表单的上下文中工作。如果您想阻止 Drop-In 自动提交表单,以便您可以在生成随机数后运行自己的验证,您可以在配置中定义一个回调,然后在您满意时手动重新提交表单与您的结果。
然而,您必须记住在输入字段中包含随机数,并使用您的服务器期望的名称。默认值为 payment_method_nonce
。
例如:
braintree.setup('CLIENT_TOKEN', 'dropin', {
paymentMethodNonceReceived: function (event, nonce) {
// Simulate your validation
setTimeout(function () {
var form = document.getElementsByTagName('form')[0];
var input = document.createElement('input');
input.name = 'payment_method_nonce';
input.value = nonce;
form.appendChild(input);
form.submit();
}, 500);
}
});
有关此的更多信息可在此处找到:https://developers.braintreepayments.com/javascript+node/sdk/client/drop-in
希望对您有所帮助。
关于php - Braintree dropin UI : validate billing address custom fields before form submit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26264403/