Как исправить обратные вызовы Square API cardNonceResponseReceived, которые дают нулевое сообщение об ошибке в приложении Node Express - PullRequest
0 голосов
/ 30 декабря 2018

Я недавно обновил 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 отправит ответ об ошибке в браузер, а не в серверную часть, поэтому его можно обрабатывать на клиенте, а не на сервере.

...