Braintree Drop-in - 在用户选择付款方式后提交表单

时间:2018-04-13 17:07:51

标签: javascript braintree

有没有办法在用户选择使用Braintree Drop-in的付款方式后自动提交表单? 问题是要求用户选择付款方式,然后按确定,然后再次确定,然后按我页面上的实际结帐按钮。 这是一种非常奇怪的行为。

这是我用来创建Drop-In的代码。

<script>
    var form = document.querySelector('#payment-form');
    var nonceInput = document.querySelector('#nonce');

    braintree.dropin.create({
        authorization: '{{ $client_token }}',
        container: '#dropin-container',
        paypal: {
            flow: 'vault',
            currency: 'EUR',
            buttonStyle: {
                color: 'blue',
                shape: 'rect',
                size: 'medium'
            }
        },
        card: {
            cardholderName: true
        }
    }, function (err, dropinInstance) {
        if (err) {
            // Handle any errors that might've occurred when creating Drop-in
            console.error(err);
            return;
        }

        form.addEventListener('submit', function (event) {
            event.preventDefault();

            dropinInstance.requestPaymentMethod(function (err, payload) {
                if (err) {
                    // Handle errors in requesting payment method
                    return;
                }

                $.fancybox.open({
                    src  : '#processing-loading',
                    type : 'inline',
                    opts : {
                        toolbar: false,
                        buttons: false,
                        smallBtn: false
                    }
                });

                // Send payload.nonce to your server
                nonceInput.value = payload.nonce;
                form.submit();
            });
        });
    });
</script> 

0 个答案:

没有答案