Laravel收银机Webhook

时间:2018-07-31 19:44:50

标签: php laravel stripe-payments webhooks laravel-cashier

我想知道是否有人可以通过laravels收银员(条带)网络挂钩帮助指向正确的方向。

我希望能够更新订阅数据库中的列。我已经尝试过像laravel文档中所说的那样使用webhook,但是我相信我要尝试的工作不起作用,因为当我需要使用put / patch时,路由正在使用post。

我在覆盖控制器中放置的代码下方。

namespace App\Http\Controllers\FrontEnd;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Laravel\Cashier\Http\Controllers\WebhookController;

class StripeWebHookController extends WebHookController
{
 public function handleCustomerSubscriptionDeleted( array $payload )
{
  $user = $this->getUserByStripeId($payload['data']['object']['customer']);
    if ($user) {
        $user->subscriptions->filter(function ($subscription) use ($payload) {
         return $subscription->stripe_id === $payload['data']['object']['id'];
        })->each(function ($subscription) {
            $sub = Subscription::where('stripe_id', $subscription->stripe_id)->update([
                    'url' => '',
                ]);
                $subscription->markAsCancelled();
            });
        }

        return new Response('Webhook Handled', 200);

    }
}

所以当从条纹Webhook触发事件时,我该怎么做我想做的事情。 谢谢

1 个答案:

答案 0 :(得分:0)

所以有人指出我没有导入要订阅的模型:/。现在它可以正常工作了。