/** * @param array $commandSubject * @return $this */ public function execute(array $commandSubject) { $payment = \Magento\Payment\Gateway\Helper\SubjectReader::readPayment($commandSubject); $stateObject = \Magento\Payment\Gateway\Helper\SubjectReader::readStateObject($commandSubject); // do not send email $payment = $payment->getPayment(); $order = $payment->getOrder(); $order->setCanSendNewEmailFlag(false); // update customer based on additionalFields if ($payment->getAdditionalInformation("gender")) { $order->setCustomerGender(\Adyen\Payment\Model\Gender::getMagentoGenderFromAdyenGender($payment->getAdditionalInformation("gender"))); } if ($payment->getAdditionalInformation("dob")) { $order->setCustomerDob($payment->getAdditionalInformation("dob")); } if ($payment->getAdditionalInformation("telephone")) { $order->getBillingAddress()->setTelephone($payment->getAdditionalInformation("telephone")); } // update status and state $stateObject->setState(\Magento\Sales\Model\Order::STATE_NEW); $stateObject->setStatus($this->_adyenHelper->getAdyenAbstractConfigData('order_status')); $stateObject->setIsNotified(false); return $this; }