如何解决无法检索Paypal Webhook的事件
我正在尝试实现Paypal Webhook。每当用户向Paypal付款购买产品时,我都需要一个事件。
我创建了一个链接到"PAYEMENT.SALE.COMPLETED"事件的Webhook。
这是我服务器上的handleWebHook.php文件:
<?php
include "vendor/autoload.php";
use PayPal\Api\Webhook;
use PayPal\Api\WebhookEvent;
use PayPal\Api\WebhookEventType;
use PayPal\Auth\OAuthTokenCredential;
use PayPal\Rest\ApiContext;
$apiContext = new ApiContext(
new OAuthTokenCredential(
'my client id',// ClientID
'my client secret' // ClientSecret
)
);
$apiContext->setConfig(
array(
'log.LogEnabled' => true,'log.FileName' => 'PayPal.log','log.LogLevel' => 'DEBUG'
)
);
$params = array(
);
// ### Search Webhook events
try {
$output = WebhookEvent::all($params,$apiContext);
} catch (Exception $ex) {
exit(1);
}
//ResultPrinter::printResult("Search Webhook events","WebhookEventList",null,$params,$output);
$log = "Datas: " . print_r($output) . " " . date("F j,Y,g:i a").PHP_EOL.
"-------------------------".PHP_EOL;
file_put_contents('./log_'.date("j.n.Y").'.log',$log,FILE_APPEND);
我尝试使用API调用https://api.sandbox.paypal.com/v1/notifications/simulate-event和online webhook simulator模拟webhook事件。
这似乎可以双向工作,API调用的结果是202接受,体内有很多确认,包括
"resource_type": "sale","event_type": "PAYMENT.SALE.COMPLETED","summary": "A successful sale payment was made for $ 0.48 USD",
但是我无法在侦听器上检索到这些事件,我的日志为空,即使我在浏览器上手动转到handleWebHook.php页面,我也得到了
PayPal\Api\WebhookEventList Object ( [_propMap:PayPal\Common\PayPalModel:private] => Array ( [events] => Array ( ) [count] => 0 ) )
女巫表示没有任何事件。
我也尝试了https://api.sandbox.paypal.com/v1/notifications/webhooks-events API调用,但结果相同
{
"events": [],"count": 0
}
在请求响应正文中。
为什么我无法在侦听器上检索事件?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。