如何确定用户是否准备好并且可以将现时提交给服务器?

时间:2018-12-27 15:35:18

标签: paypal braintree

这是the docs中许多(恕我直言,但不完整)示例之一:

var button = document.querySelector('#submit-button');

braintree.dropin.create({
  authorization: 'CLIENT_AUTHORIZATION',
  container: '#dropin-container'
}, function (createErr, instance) {
  button.addEventListener('click', function () {
    instance.requestPaymentMethod(function (requestPaymentMethodErr, payload) {
      // Submit payload.nonce to your server
    });
  });
});

这一切都很好而且很容易,但是我看不到如何根据“用户是否添加了付款方式?”的状态来更改button的状态。

这甚至可能吗?似乎单击按钮实际上执行了nonce的提取(即payload.nonce)。但是,如何禁用button直到用户完成与Braintree / PayPal的对话?

1 个答案:

答案 0 :(得分:0)

答案是look in the docs不是那些文档)-those docs

我仍然不知道如何我找到了该链接。

dropin实例具有一个on()函数,您可以在其中注册某些事件的回调(只需执行-已查看文档即可):

instance.on('paymentMethodRequestable', function(event) {
  thiz._logger.info('Payment method is now requestable');
  setTimeout(() => thiz.paymentMethodAvailable = true, 400);
});