Вставка Braintree, отключить кнопку отправки во время обработки

Я пытаюсь сделать что-то, что кажется простым, но я не могу заставить его работать. Я использую пользовательский интерфейс Braintree dropin, и у меня есть кнопка отправки. Мне нужно отключить кнопку во время обработки, и я не могу найти подходящее событие для присоединения.

var ct = 'tokenhere';
var bt = braintree.setup(ct, 'dropin', {
  container: 'braintreedropin',
});
<form id="PayByBrainTreeCheckout" method="post">
  <div id="braintreedropin"></div>       
  <input type="submit" value="Pay">                          
</form>

Я пробовал $('#PayByBrainTreeCheckout').submit(function(){/*disable button*/}), но это также отключает кнопку, если в форме есть ошибка проверки.

Любые идеи? Спасибо


person Stefano Altieri    schedule 05.02.2015    source источник


Ответы (3)


Я тоже работаю в Braintree. Вы правы в том, что клиент может дважды нажать кнопку отправки во время отправки транзакции, но вам не нужно беспокоиться о том, что с клиента будет взиматься плата дважды, так как вторая транзакция завершится неудачей (одноразовый номер, сгенерированный кредитной картой, может использовать только один раз). Кроме того, немедленная визуальная обратная связь в форме после отправки предназначена для того, чтобы клиенты знали, что их нажатие кнопки обрабатывается.

Если вы хотите делать более сложные вещи (например, добавить настраиваемый обратный вызов для отключения кнопки отправки), наша настраиваемая интеграция — хороший вариант.

Как упомянул Мэт, не стесняйтесь обращаться к [email protected], если вам нужна дополнительная помощь с вашей интеграцией!

person cdeist    schedule 05.02.2015
comment
Спасибо @cdeis. В конце концов я пошел с пользовательской интеграцией. Это было проще, чем ожидалось :) - person Stefano Altieri; 06.02.2015
comment
Большой! Рад это слышать. - person cdeist; 06.02.2015
comment
Я не думаю, что это будет работать при работе с подписками. Я использую одноразовый номер для создания способа оплаты, а затем создаю транзакцию, используя сохраненный способ оплаты. Значит, вторая транзакция пройдет успешно. - person Lem Lordje Ko; 29.04.2015
comment
Разрешить двойную отправку и надеяться на лучшее — плохой дизайн. На самом деле должно быть событие, которое запускается после завершения requestPaymentMethod и отправки формы. - person yakattack; 19.07.2018


Я сделал рабочий пример того, как использовать Braintree с WebForms.

https://github.com/StavrosD/BrainTree-PayPal-DotNet

Я описываю на README.md рабочий процесс.

person Stavros Dimopoulos    schedule 24.01.2019
comment
Я не уверен, что это поможет решить дилемму ОП. - person Dan; 25.01.2019
comment
Это прямой ответ на исходный пост. Это рабочий пример, в котором есть решение проблемы. - person Stavros Dimopoulos; 08.04.2019