Skip to content

Commit 14d69d6

Browse files
Merge pull request #45 from NicolasBarbey/master_rework_webhook
Set order status with webhooks
2 parents a180202 + f4b480f commit 14d69d6

File tree

3 files changed

+16
-7
lines changed

3 files changed

+16
-7
lines changed

Config/module.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<language>en_US</language>
2121
<language>fr_FR</language>
2222
</languages>
23-
<version>4.0.0</version>
23+
<version>4.0.1</version>
2424
<authors>
2525
<author>
2626
<name>gbarral</name>

Controller/PayPalResponseController.php

-4
Original file line numberDiff line numberDiff line change
@@ -830,10 +830,6 @@ protected function executePayment(PaypalOrder $payPalOrder, $paymentId, $payerId
830830
$payPalOrderEvent = new PayPalOrderEvent($payPalOrder);
831831
$this->dispatch(PayPalEvents::PAYPAL_ORDER_UPDATE, $payPalOrderEvent);
832832

833-
$event = new OrderEvent($payPalOrder->getOrder());
834-
$event->setStatus(OrderStatusQuery::getPaidStatus()->getId());
835-
$this->dispatch(TheliaEvents::ORDER_UPDATE_STATUS, $event);
836-
837833
$response = $this->getPaymentSuccessPageUrl($payPalOrder->getId());
838834

839835
PayPalLoggerService::log(

Controller/PayPalWebHookController.php

+15-2
Original file line numberDiff line numberDiff line change
@@ -239,9 +239,22 @@ protected function getParamsForSale($paymentId = null, $params = [], $eventType
239239
$params['order_id'] = $payPalOrder->getId();
240240
$params['customer_id'] = $payPalOrder->getOrder()->getCustomerId();
241241

242-
if ($eventType === self::HOOK_PAYMENT_SALE_DENIED) {
242+
$newStatus = null;
243+
244+
switch ($eventType){
245+
case self::HOOK_PAYMENT_SALE_DENIED :
246+
$newStatus = OrderStatusQuery::getCancelledStatus()->getId();
247+
break;
248+
case self::HOOK_PAYMENT_SALE_COMPLETED :
249+
$newStatus = OrderStatusQuery::getPaidStatus()->getId();
250+
break;
251+
default :
252+
break;
253+
}
254+
255+
if (null !== $newStatus){
243256
$event = new OrderEvent($payPalOrder->getOrder());
244-
$event->setStatus(OrderStatusQuery::getCancelledStatus()->getId());
257+
$event->setStatus($newStatus);
245258
$this->dispatch(TheliaEvents::ORDER_UPDATE_STATUS, $event);
246259
}
247260
}

0 commit comments

Comments
 (0)