2014-10-08 89 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