Skip to content

Commit

Permalink
debug(YandexCheckout.php) Fixed payment status change
Browse files Browse the repository at this point in the history
  • Loading branch information
igor-tv authored Nov 1, 2020
1 parent 2d53a27 commit 88e9a61
Showing 1 changed file with 8 additions and 14 deletions.
22 changes: 8 additions & 14 deletions classes/YandexCheckout.php
Original file line number Diff line number Diff line change
Expand Up @@ -144,41 +144,35 @@ public function changePaymentState ($response)

switch ($responseAll['event']){
case 'payment.succeeded':
$result->success($data, $response);

if ($order->is_virtual === 1 and PaymentGatewaySettings::get('setPayedVirtualOrderAsComplete')) {
$order->order_state_id = $this->getOrderStateId(OrderState::FLAG_COMPLETE);
$order->save();
}

try {
\Event::fire('mall.checkout.succeeded', $result);
} catch (Throwable $e) {
return null;
}

return $result->success($data, $response);
\Event::fire('mall.checkout.succeeded', $result);
break;
case 'payment.canceled':
$result->fail($data, $response);
$order->order_state_id = $this->getOrderStateId(OrderState::FLAG_CANCELLED);
$order->save();

return $result->fail($data, $response);
break;
case 'refund.succeeded':
$result->pending();
$order->order_state_id = $this->getOrderStateId(OrderState::FLAG_COMPLETE);
$order->save();

return $result->pending();
break;
case 'payment.waiting_for_capture':
// not used
return $result->pending();
break;
$result->pending();
default:
\Event::fire('mall.checkout.failed', $result);
return $result->fail($data, $response);
}
}


/**
* Build the Omnipay Gateway for PayPal.
*
Expand Down Expand Up @@ -262,4 +256,4 @@ protected function getOrderStateId($orderStateFlag): int

return $orderStateModel->id;
}
}
}

0 comments on commit 88e9a61

Please sign in to comment.