13 use Psr\Log\LoggerInterface;
23 private $caseManagement;
28 private $serviceFactory;
38 private $cancelGuaranteeAbility;
61 $this->caseManagement = $caseManagement;
62 $this->serviceFactory = $serviceFactory;
63 $this->gateway = $gateway;
64 $this->cancelGuaranteeAbility = $cancelGuaranteeAbility;
73 if (!$this->cancelGuaranteeAbility->isAvailable($orderId)) {
77 $caseEntity = $this->caseManagement->getByOrderId($orderId);
80 $disposition = $this->gateway->cancelGuarantee($caseEntity->getCaseId());
82 $this->logger->error($e->getMessage());
86 $updatingService = $this->serviceFactory->create(
'guarantees/cancel');
88 'guaranteeDisposition' => $disposition
90 $updatingService->update($caseEntity,
$data);
__construct(CaseManagementInterface $caseManagement, UpdatingServiceFactory $serviceFactory, Gateway $gateway, CancelGuaranteeAbility $cancelGuaranteeAbility, LoggerInterface $logger)