这是文档中许多(恕我直言,相当不完整)示例之一:
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
的形式出现)。但是,在用户完成与 Braintree/PayPal 的对话之前,如何禁用button
?
答案是查看文档(不,不是那些文档) - 那些文档。
我仍然不知道我是如何找到那个链接的。
dropin 实例有一个on()
函数,您可以在其中为某些事件注册回调(只需这样做 - 已经查看文档):
instance.on('paymentMethodRequestable', function(event) {
thiz._logger.info('Payment method is now requestable');
setTimeout(() => thiz.paymentMethodAvailable = true, 400);
});