我正在创造&通过Express checkout API V4发送以下付款:
return paypal.rest.payment.create(env, client, {
intent: 'authorize',
payer: {
"payment_method": "paypal"
},
transactions: [
{
amount: { total: '0.01', currency: 'GBP' }
}
]
});
我将返回以下对象:
所有这些似乎都在正确的轨道上。问题是,沙箱仪表板中没有此付款身份验证的迹象。
我甚至尝试使用真实账户并发送真实的便士,但买家或卖家账户中没有交易的迹象。
如果未成功创建此付款,为什么我会看到状态为"created"
的对象返回?
仅供参考:如果我使用intent: 'sale'
发送付款,则会成功处理并显示在信息中心内。
答案 0 :(得分:2)
我遇到了同样的问题。 PayPal的API和文档很糟糕......
逻辑是:
<强> 1。您必须执行付款。
我尝试以不同的方式做到这一点,但最简单的方式就是这样:
onAuthorize: function(data, actions) {
return actions.payment.get().then(function(payment) {
console.log(payment);
var b = payment.payer;
var bb = b.payer_info;
// alert (bb.payer_id);
var newUrl = "http://YOURDOMAIN.COM/execute.php?paymentId="+payment.id+"&token=EC-"+payment.cart+"&PayerID="+bb.payer_id;
console.log(newUrl);
// go to the execute.php and send to paypal payment confirmation
window.location.replace(newUrl);
});
}
&#13;
一旦您通过交易获得了对象,您仍然必须确认它!
//使用以下内容进行直接下载安装
require __DIR__ . '/PayPal-PHP-SDK/autoload.php';
P.S。在我发送给回复网址的脚本中,但我不知道为什么paypal没有将我重定向到它,所以当你获得交易对象时我会使用javascript重定向。
抱歉我的英文