无法检索Paypal Webhook的事件

问题描述

我正在尝试实现Paypal Webhook。每当用户向Paypal付款购买产品时,我都需要一个事件。

enter image description here

我创建了一个链接到"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-eventonline 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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...