Paypal 无法在braintree签出按钮中获得响应
我正在使用braintree paypal结账进行支付,支付工作正常,但无法得到响应,这是我的代码Paypal 无法在braintree签出按钮中获得响应,paypal,paypal-sandbox,braintree,braintree-sandbox,Paypal,Paypal Sandbox,Braintree,Braintree Sandbox,我正在使用braintree paypal结账进行支付,支付工作正常,但无法得到响应,这是我的代码 <script type="text/javascript"> var form = document.querySelector('#payment-form'); var client_token = "<?php echo \Braintree\ClientToken::generate(); ?>"; braintree.dropin.create({ au
<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'
});
var form=document.querySelector(“#付款单”);
var client_token=“”;
braintree.dropin.create({
授权:客户端\u令牌,
选择器:“#bt dropin”,
贝宝:{
流程:“vault”,
onSuccess:功能(暂时、电子邮件){
警报(“SD123”);
log(JSON.stringify(nonce));
},
},
},函数(createErr,实例){
if(createErr){
console.log('Error',createErr);
返回;
}
表单.addEventListener('submit',函数(事件){
event.preventDefault();
requestPaymentMethod(函数(err,有效负载){
如果(错误){
console.log('Error',err);
返回;
}否则{
控制台日志(“付款确认”);
控制台日志(有效载荷);
}
//将nonce添加到表单并提交
document.querySelector(“#nonce”).value=payload.nonce;
表单提交();
});
});
},
);
var checkout=新演示({
formID:“付款单”
});
但无法在onsuccess功能中获得响应,有谁能告诉我如何获得此成功响应,完全披露:我在Braintree工作。如果您有任何进一步的问题,请随时联系
看起来您可能混淆了PayPal在中的实现。JSv3中不支持onSuccess
选项。JSv3中PayPal对象的完整配置选项列表如下所示
根据您提供的代码,我建议删除onSuccess
回调函数。通过将代码放在实例中。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>
var form=document.querySelector(“#付款单”);
var client_token=“”;
braintree.dropin.create({
授权:客户端\u令牌,
选择器:“#bt dropin”,
贝宝:{
流程:“保险库”
}
},函数(createErr,实例){
if(createErr){
console.log('Error',createErr);
返回;
}
表单.addEventListener('submit',函数(事件){
event.preventDefault();
requestPaymentMethod(函数(err,有效负载){
如果(错误){
console.log('Error',err);
返回;
}
控制台日志(“付款确认”);
控制台日志(有效载荷);
警报(“SD123”);
console.log(payload.nonce);
//将nonce添加到表单并提交
document.querySelector(“#nonce”).value=payload.nonce;
表单提交();
});
});
});
感谢您的帮助,requestPaymentMethod仅在我们使用信用卡付款时有效,而不适用于paypalcheckout@NikulPanchal你能用脚本发布完整的html表单,这样我就可以在本地运行它了吗?是否记录了任何错误?提交表格后,上述代码对我有效。