我正在开发一个使用paypal的rest api的支付系统。 到目前为止一切顺利,我可以在沙盒模式下进行支付而没有任何问题。
现在我需要paypal通知我某些事件......这就是我想使用webhooks的原因。
我创建了一个小脚本,只是将收到的正文写入文本文件中进行调试。然后我在paypal的开发站点创建了webhook。 Webhook模拟器工作正常,来自paypal的json字符串很好。但是,当我通过我的网站进行付款时,没有webhook。它们似乎没有被调用,因为它没有在developer.paypal.com中显示任何webhook事件......
padding
我正在使用付款方式“paypal”和“促销”意图。这应该是理论上的。
任何人都有任何想法?我做了一些研究,发现沙箱不时被窃听......但这是我需要测试的一个关键特性。
希望你们能帮忙。
问候
答案 0 :(得分:2)
所以我发现了问题:
基本上你必须在收到通知之前批准付款。
What is wrong with my paypal process to receive webhook notifications?
在您的退货网站上,您只需发送批准即可触发您的网络!
答案 1 :(得分:0)
正如@MollocH已经知道的那样,为了触发PayPal的webhook,您必须在重定向到您的网站后批准付款。
$payerId = // 'PayerID' from the GET query;
$paymentId = // 'paymentId' from the GET query;
$apiContext = // you know where to get this from
$payment = Payment::get($paymentId, $apiContext);
$execution = new PaymentExecution();
$execution->setPayerId($payerId);
try
{
$payment = $payment->execute($execution, $context);
// redirect user to success message or so
}
catch(\Exception $error)
{
}