我使用braintree paypal checkout付款,付款工作正常,但无法得到回应,这是我的代码
$('td:nth-child(6)', $this).text().trim().split(/\D+/).forEach(function(v, i) {
$('span.result', $this)[i].innerHTML = Math.round((td2Value[i] * 100 / v) || 0) + '%';
});
但是无法在onsuccess功能中获得响应,任何人都可以告诉我如何才能获得此成功响应,
答案 0 :(得分:1)
完全披露:我在Braintree工作。如果您有任何其他问题,请随时联系support。 子>
看起来您可能会在Braintree JSv2 Drop-In UI中使用Braintree JSv3 Drop-In UI混淆PayPal的实施。 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>