2014-10-08 47 views

回答

10

我在JS SDK团队的Braintree工作。

目前,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

我希望这有助于。

+0

你能否确认回调现在​​被定义为'onPaymentMethodReceived'?根据http://stackoverflow.com/questions/28068003/braintree-paymentmethodnoncereceived-not-being-invoked – aaronbauman 2016-10-06 16:30:00