This method is calling at checkout step but with plugin using after method it's not calling, core method is calling.


<type name="Magento\Checkout\Model\PaymentInformationManagement">
        <plugin name="k365_payemnt_management_plugin" type="K365\Checkout\Plugin\Model\PaymentInfoManagement" />


namespace K365\Checkout\Plugin\Model;

use Magento\Checkout\Model\PaymentInformationManagement;

class PaymentInfoManagement
public function afterSavePaymentInformationAndPlaceOrder(
    PaymentInformationManagement $subject, $result,
    \Magento\Quote\Api\Data\PaymentInterface $paymentMethod,
    \Magento\Quote\Api\Data\AddressInterface $billingAddress = null
) {
            '******calllllllllllllllllllllll ' );

    $this->savePaymentInformation($cartId, $paymentMethod, $billingAddress);
    try {
        $orderId = $this->cartManagement->placeOrder($cartId);
    } catch (\Magento\Framework\Exception\LocalizedException $e) {
            '******Placing an order with quote_id ' . $cartId . ' is failed: ' . $e->getMessage()
        throw new CouldNotSaveException(
    } catch (\Exception $e) {
        throw new CouldNotSaveException(
            __('*******A server error stopped your order from being placed. Please try to place your order again.'),
    return $result;



  • Any error in logs ?
    – Pawan
    Feb 11 at 13:29
  • it's issue with scop. i have put di.xml in frontend folder. Mar 1 at 7:39


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.