Braintree的客户创建SDK系统在您点击提交后立即在表单中生成一个nonce输入字段.
<input name="payment_method_nonce" type="hidden" value="nonce-here">
但是,使用Angular的ng模型输入识别系统,我无法检测到控制器中动态生成的输入.表单提交后,我正在我的控制器中执行一个函数.
<form id="checkout" id="checkout" ng-submit="processForm(formData)">
如您所见,无法收集随机数的值并将其提交给脑树API命令,例如创建新用户的付款方式.
从控制器,数据将使用$http提交给下面的braintree api命令.
gateway.customer.create({
creditCard: {
token: "creditCard123",
},
paymentMethodNonce: "nonce-from-the-client"
}, function (err, result) {
});
我是以错误的方式来做这件事的吗?即使此应用程序是Angular / express,我是否应该使用纯节点进行解决方案?或者我应该使用jquery / angular在所述输入字段中植入ng模型?
解决方法:
我在SDK团队的Braintree工作.
您可以使用回调来侦听nonce,而不是将其自动写入DOM.
braintree.setup('CLIENT_TOKEN', 'dropin', {
container: 'container',
paymentMethodNonceReceived: function (event, nonce) {
// Do something with the nonce here
}
});
这也会阻止表单自动代表您提交.您可以阅读更多文档here.如果您仍然遇到问题,请随时联系[email protected].
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。