quoteLinkFactory = $quoteLinkInterfaceFactory; $this->checkoutSession = $checkoutSession; $this->coreHelper = $coreHelper; } /** * Reads payment from subject * * @param array $subject * @return PaymentDataObjectInterface */ public function readPayment(array $subject) { return Helper\SubjectReader::readPayment($subject); } /** * Reads amount from subject * * @param array $subject * @return mixed */ public function readAmount(array $subject) { return Helper\SubjectReader::readAmount($subject); } /** * Gets quote from current checkout session and returns store ID * * @return int */ public function getStoreId() { $quote = $this->getQuote(); return $quote->getStoreId(); } /** * Get unique Amazon ID for order from custom table * * @return mixed */ public function getAmazonId() { $quoteLink = $this->getQuoteLink(); return $quoteLink->getAmazonOrderReferenceId(); } /** * @return \Magento\Quote\Model\Quote */ public function getQuote() { return $this->checkoutSession->getQuote(); } /** * @return \Amazon\Payment\Model\QuoteLink */ public function getQuoteLink($quote_id = '') { $quoteLink = $this->quoteLinkFactory->create(); if (!$quote_id) { $quote = $this->getQuote(); $quoteLink->load($quote->getId(), 'quote_id'); } else { $quoteLink->load($quote_id, 'quote_id'); } return $quoteLink; } /** * @return \Magento\Sales\Model\Order */ public function getOrder() { return $this->checkoutSession->getLastRealOrder(); } }