我正在使用 braintree paypal checkout 进行付款,付款工作正常,但无法得到回应,这是我的代码
<script type="text/javascript">
var form = document.querySelector('#payment-form');
var client_token = "<?php echo \Braintree\ClientToken::generate(); ?>";
braintree.dropin.create({
authorization: client_token,
selector: '#bt-dropin',
paypal: {
flow: 'vault',
onSuccess: function (nonce, email) {
alert('sdsdsd123');
console.log(JSON.stringify(nonce));
},
},
}, function (createErr, instance) {
if (createErr) {
console.log('Error', createErr);
return;
}
form.addEventListener('submit', function (event) {
event.preventDefault();
instance.requestPaymentMethod(function (err, payload) {
if (err) {
console.log('Error', err);
return;
} else {
console.log("Payment confirmation");
console.log(payload);
}
// Add the nonce to the form and submit
document.querySelector('#nonce').value = payload.nonce;
form.submit();
});
});
},
);
var checkout = new Demo({
formID: 'payment-form'
});
但是无法在 onsuccess 函数中获得响应,谁能告诉我如何获得成功响应,
最佳答案
全面披露:我在 Braintree 工作。如果您还有任何疑问,请随时联系support .
看来您可能混淆了 Braintree JSv2 Drop-In UI 中 PayPal 的实现。与 Braintree JSv3 Drop-In UI . JSv3 不支持 onSuccess
选项。 JSv3 中 PayPal 对象的完整配置选项列表是 available here .
根据您提供的代码,我建议删除您的 onSuccess
回调函数。您仍然可以通过将该代码放入您的 instance.requestPaymentMethod
回调函数中来实现您想要的结果,如下所示:
<script type="text/javascript">
var form = document.querySelector('#payment-form');
var client_token = "<?php echo \Braintree\ClientToken::generate(); ?>";
braintree.dropin.create({
authorization: client_token,
selector: '#bt-dropin',
paypal: {
flow: 'vault'
}
}, function (createErr, instance) {
if (createErr) {
console.log('Error', createErr);
return;
}
form.addEventListener('submit', function (event) {
event.preventDefault();
instance.requestPaymentMethod(function (err, payload) {
if (err) {
console.log('Error', err);
return;
}
console.log("Payment confirmation");
console.log(payload);
alert('sdsdsd123');
console.log(payload.nonce);
// Add the nonce to the form and submit
document.querySelector('#nonce').value = payload.nonce;
form.submit();
});
});
});
</script>
关于paypal - 无法在 braintree 结帐按钮中获得响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46314207/