Я недавно обновил npm до "square-connect": "^ 2.20181212.0".Во время тестирования я заметил, что входные данные для CVV и Dates больше не генерируют ошибки, которые уведомляют пользователя о VALIDATION_ERROR.Единственный раз, когда ошибка дает обратную связь, это когда номер CVV или дата не вводятся до отправки.Только тогда он распознает VALIDATION_ERROR и вернет данные или обратную связь.
Используя инструменты разработчика, я заметил, что ошибка проверки возвращается как ноль, когда вводится неправильный номер CVV или неправильная дата.Функция cardNonceResponseReceived объекта обратного вызова проверяет только действительный номер карты и не учитывает дату, cvv или почтовый индекс.С другой стороны, я заметил, что он выдает ошибку с сообщением проверки, но это потребует от меня перенаправления пользователя со страницы.Я не видел больше нигде в документации для обратных вызовов переднего плана, которые будут обрабатывать ошибки.
callbacks:{
cardNonceResponseReceived: function(errors, nonce, cardData,
billingContact, shippingContact) {
if (errors){
var error_html = "";
for (var i =0; i < errors.length; i++){
error_html += "<li> " + errors[i].message + " </li>";
}
document.getElementById("error").innerHTML = error_html;
document.getElementById('sq-creditcard').disabled = false;
return;
}else{
document.getElementById("error").innerHTML = "";
}
// Assign the nonce value to the hidden form field
document.getElementById('card-nonce').value = nonce;
// POST the nonce form to the payment processing page
document.getElementById('nonce-form').submit();
}
}
Я ожидаю, что v2 / paymentformt отправит ответ об ошибке в браузер, а не в серверную часть, поэтому его можно обрабатывать на клиенте, а не на сервере.