[英]BrainTree Sandbox returns Validation errors: - Unknown paymentMethodNonce
[英]Braintree on validation error
我正在使用在Braintree控制面板中配置的Drop-in UI來自動驗證付款方式是否合法。
因此,在我的應用程序中,我在單擊時禁用表單提交按鈕,如果用戶付款方式不合法,則表示存在錯誤且未提交表單。 我的問題是如何捕獲此錯誤,以便我可以啟用提交按鈕。
僅當輸入字段中不存在所有字段時,才會拋出onError事件。 那么驗證錯誤呢,我怎么抓住呢?
現在我的javascript看起來像這樣:
braintree.setup("#{@braintree_token}", 'dropin', {
container: 'dropin',
onReady: function () {
},
onError: function() {
console.log("error");
$('#submit-payment').removeClass('disabled');
}
});
$("form").submit(function (e) {
$('#submit-payment').addClass('disabled');
setTimeout(function() { $('#submit-payment').removeClass('disabled'); }, 2000);
return;
});
我的解決方案現在並不理想,因為它只是禁用按鈕2秒。 所以請給我一些建議。
PSS我也發現它回調了這個信息:
/**/callback_jsond435f0d591e44176bf94ec137859dd3c({"error":{"message":"Credit card verification failed"},"fieldErrors":[{"field":"creditCard","fieldErrors":[{"field":"cvv","code":"81736","message":"CVV verification failed"}]}],"status":422})
我是Braintree的開發人員。 目前,Drop-in onError
回調不會捕獲那些類型的服務器端驗證錯誤。
如果您仍在努力,我建議您通過support@braintreepayments.com與我們的支持團隊聯系。 他們將能夠為您提供更具體的集成幫助。
我知道我有點遲到了,但我會把它放在這里,也許它會幫助有人看這個帖子。
從當前版本(Braintree JavaScript SDK v2)開始,onError事件實際上會觸發卡驗證錯誤。 默認行為是禁用信用卡信息框並放置OP上面顯示的錯誤消息。
將錯誤響應作為參數傳遞給onError函數將允許您確定已拋出的錯誤類型,查看消息並執行一些自定義處理。 例如,如果您想提醒錯誤消息,代碼可能如下所示:
braintree.setup("braintree_token", 'dropin', {
container: 'container',
onError: onError
});
function onError(err) {
var errorType = err.type;//access the error type via err.type
var errorMessage = err.message; //access the error message via err
//do something helpful for the user via the combination of these two parameters
alert('Braintree returned an error of type: ' + errorType + 'with message' + errorMessage);
}
鏈接到文檔(有點難以找到,因為它嵌入了Drop-In頁面): https : //developers.braintreepayments.com/guides/drop-in/javascript/v2#onerror
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.