Laravel Cashier Paddle - 无法解析指定的 webhook URL

Laravel Cashier Paddle - unable to resolve the specified webhook URL

我正在尝试使用 Paddle (docs) 设置 Laravel Cashier,但由于某些原因,我的数据库中没有创建订阅。我在服务器上生成支付 link 并将其呈现在视图中,它通过 Paddle 支付流程发送给我,但完成后没有创建订阅。

我认为 Cashier 应该在收到 subscription_created webhook 事件后创建订阅,但我似乎无法连接 Paddle 和我的应用程序。使用 Paddle Webhook 模拟器时出现错误,提示 Paddle“无法解析指定的 webhook URL”。

我将我的沙箱凭据存储在我的 .env 变量中:

PADDLE_VENDOR_ID=1234
PADDLE_VENDOR_AUTH_CODE=XXXXX
PADDLE_PUBLIC_KEY="-----BEGIN PUBLIC KEY-----
XXXXXXXXXX
-----END PUBLIC KEY-----"
PADDLE_SANDBOX=true

然后生成付费link供用户点击:

'monthlyPlanLink' => auth()->user()->newSubscription('monthly', $monthlyPlanId)
                ->returnTo(route('candidate.dashboard'))
                ->create()

我可以点击 Paddle UI 并输入测试卡号,但点击支付后没有创建订阅。我在 routes/web.php 文件夹中明确定义了路由,并更新了 paddle/* 以排除 CSRF 保护。这是 paddle webhook 路线:

Route::post('/paddle/webhook', 'WebhookController')->name('webhook');

我无法从 Paddle 接收 webhook 并为用户创建订阅行。我在这里做错了什么以及如何在我的用户输入付款信息后为他们创建订阅?

我在 composer.json.

安装了 "laravel/cashier-paddle": "^1.4"

我发送了一个 PR 并更新了文档。对于本地开发,您需要使用 Ngrok 或 Expose 之类的东西来使 Paddle(以及世界其他地方)可以访问您的本地开发端点。否则 .test 域只能在您自己的计算机上访问。

https://laravel.com/docs/8.x/cashier-paddle#webhooks-local-development