编程语言
首页 > 编程语言> > javascript – Angular控制器无法动态检测Braintree支付随机数

javascript – Angular控制器无法动态检测Braintree支付随机数

作者:互联网

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.如果您仍然遇到问题,请随时联系support@getbraintree.com.

标签:braintree,javascript,angularjs,node-js,express
来源: https://codeday.me/bug/20190725/1528866.html