【问题标题】:Laravel Cashier (Stripe) Custom Webhook not receiving $payloadLaravel Cashier (Stripe) 自定义 Webhook 未收到 $payload
【发布时间】:2021-01-01 20:07:39
【问题描述】:

我们正在尝试创建一个自定义 webhook 来使用 Laravel Cashier 处理 Stripe Checkout。问题是我们正在关注 Laravel Cashier 文档,但我们没有收到来自 Stripe 的有效负载。

我们正在尝试连接到checkout.session.completed

namespace App\Http\Controllers;

use Laravel\Cashier\Http\Controllers\WebhookController as CashierController;

class StripeWebhookController extends CashierController
{

    /**
     * Handle Checkout Session Completed.
     *
     * @param  array  $payload
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function handleCheckoutSessionCompleted(array $payload) // Line 12
    {
    // Code...
    }

// Error: ArgumentCountError: Too few arguments to function App\Http\Controllers\StripeWebhookController::handleCheckoutSessionCompleted(), 0 passed in /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Controller.php on line 54 and exactly 1 expected in file /var/www/html/app/Http/Controllers/StripeWebhookController.php on line 12

我们还在web.php中创建了路由

use App\Http\Controllers\StripeWebhookController;

Route::post('/stripe/webhook', [StripeWebhookController::class, 'handleCheckoutSessionCompleted']);

我们确实添加了 App\Http\Middleware\VerifyCsrfToken

protected $except = [
    'stripe/*',
];

最后,我们还在 .env 文件中添加了我们的 webhook 密码。

【问题讨论】:

    标签: laravel laravel-cashier


    【解决方案1】:

    改变

    Route::post('/stripe/webhook', [StripeWebhookController::class, 'handleCheckoutSessionCompleted']);
    

    Route::post('/stripe/webhook', [StripeWebhookController::class, 'handleWebhook']);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      • 2016-04-18
      • 2021-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多