我正在使用PHP进行Paypal Express Checkout的工作,一旦执行onAuthorize方法,我会尝试在重定向URL上发布其他变量。
一旦onAuthorize方法被调用,我已经尝试运行Ajax函数,但到目前为止还没有运气。我的变量无法访问在redirect_urls中设置的URL。
onAuthorize方法:
onAuthorize: function (data, actions) {
return actions.payment.execute()
.then(function () {
postAjax();
actions.redirect();
});
}
Ajax函数,名为postAjax
function postAjax() {
jQuery.ajax({
type: "POST",
ataType: 'text',
url: "<?php if ($langue == $fr) {echo "http://localhost/index.php/fr/confirmation";} else {echo "http://localhost/index.php/en/confirmation";}?>",
data: {idFif : "testValue123"},
success: function(){
alert(data);
}
});
}
URL重定向
redirect_urls: {
return_url: '
<?php if ($langue == $fr) {
echo "http://localhost/index.php/fr/confirmation"; }
else {echo "http://localhost/index.php/en/confirmation";}?>'
}
我很乐意发布值而不必创建外部ajax函数(在这种情况下为postAjax()),但是我似乎找不到答案。有人可以给我一些指示吗?非常感谢!
答案 0 :(得分:0)
对于您的情况,我强烈建议您使用Paypal PHP SDK,因为快速结帐是的,这很容易,但是我有一种经验,当用户在Paypal标签上完成付款后,用户会关闭浏览器,因此ajax我是在onAuthorize()
的{{1}}回调中执行付款时启动的,有时没有完成执行,而是在运行服务器端结帐时,一旦执行了代码,贝宝窗口就会关闭全部。
因此,在您的情况下,没有其他方法可以在付款执行后将某些东西发布到服务器上,而ajax是您唯一的选择。如果您决定使用PHP SDK实施付款,则可以执行以下操作:
then()