for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
/*
* Copyright (C) 2020-2024 Iain Cambridge
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
namespace Parthenon\Billing\BillaBear\Webhook;
use Parthenon\Billing\Repository\CustomerRepositoryInterface;
final class CustomerDisableProcessor implements ProcessorInterface
{
public function __construct(private CustomerRepositoryInterface $customerRepository)
}
public function handleHook(array $payload)
$id = $payload['customer']['id'];
$customer = $this->customerRepository->getByExternalReference($id);
$customer->setEnabled(false);
$this->customerRepository->save($customer);
public function supports(array $payload): bool
return 'customer_disabled' === $payload['type'];