Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
Refund Class Reference
Inheritance diagram for Refund:
RelationInterface

Public Member Functions

 __construct (\Magento\Sales\Api\OrderRepositoryInterface $orderRepository, \Magento\Sales\Api\InvoiceRepositoryInterface $invoiceRepository, \Magento\Framework\Pricing\PriceCurrencyInterface $priceCurrency)
 
- Public Member Functions inherited from RelationInterface
 processRelation (\Magento\Framework\Model\AbstractModel $object)
 

Protected Member Functions

 prepareOrder (\Magento\Sales\Model\Order\Creditmemo $creditmemo)
 
 prepareInvoice (\Magento\Sales\Model\Order\Creditmemo $creditmemo)
 
 preparePayment (\Magento\Sales\Model\Order\Creditmemo $creditmemo)
 

Protected Attributes

 $orderRepository
 
 $invoiceRepository
 
 $priceCurrency
 

Detailed Description

Class Relation

Deprecated:
100.1.3

Definition at line 15 of file Refund.php.

Constructor & Destructor Documentation

◆ __construct()

Parameters
\Magento\Sales\Api\OrderRepositoryInterface$orderRepository
\Magento\Sales\Api\InvoiceRepositoryInterface$invoiceRepository
\Magento\Framework\Pricing\PriceCurrencyInterface$priceCurrency

Definition at line 37 of file Refund.php.

Member Function Documentation

◆ prepareInvoice()

prepareInvoice ( \Magento\Sales\Model\Order\Creditmemo  $creditmemo)
protected

Prepare invoice data for refund

Parameters
\Magento\Sales\Model\Order\Creditmemo$creditmemo
Returns
void

Definition at line 140 of file Refund.php.

141  {
142  if ($creditmemo->getInvoice()) {
143  $creditmemo->getInvoice()->setIsUsedForRefund(true);
144  $creditmemo->getInvoice()->setBaseTotalRefunded(
145  $creditmemo->getInvoice()->getBaseTotalRefunded() + $creditmemo->getBaseGrandTotal()
146  );
147  $creditmemo->setInvoiceId($creditmemo->getInvoice()->getId());
148  }
149  }

◆ prepareOrder()

prepareOrder ( \Magento\Sales\Model\Order\Creditmemo  $creditmemo)
protected

Prepare order data for refund

Parameters
\Magento\Sales\Model\Order\Creditmemo$creditmemo
Returns
void

Definition at line 74 of file Refund.php.

75  {
76  $order = $creditmemo->getOrder();
77  $baseOrderRefund = $this->priceCurrency->round(
78  $order->getBaseTotalRefunded() + $creditmemo->getBaseGrandTotal()
79  );
80  $orderRefund = $this->priceCurrency->round(
81  $order->getTotalRefunded() + $creditmemo->getGrandTotal()
82  );
83  $order->setBaseTotalRefunded($baseOrderRefund);
84  $order->setTotalRefunded($orderRefund);
85 
86  $order->setBaseSubtotalRefunded($order->getBaseSubtotalRefunded() + $creditmemo->getBaseSubtotal());
87  $order->setSubtotalRefunded($order->getSubtotalRefunded() + $creditmemo->getSubtotal());
88 
89  $order->setBaseTaxRefunded($order->getBaseTaxRefunded() + $creditmemo->getBaseTaxAmount());
90  $order->setTaxRefunded($order->getTaxRefunded() + $creditmemo->getTaxAmount());
91  $order->setBaseDiscountTaxCompensationRefunded(
92  $order->getBaseDiscountTaxCompensationRefunded() + $creditmemo->getBaseDiscountTaxCompensationAmount()
93  );
94  $order->setDiscountTaxCompensationRefunded(
95  $order->getDiscountTaxCompensationRefunded() + $creditmemo->getDiscountTaxCompensationAmount()
96  );
97 
98  $order->setBaseShippingRefunded($order->getBaseShippingRefunded() + $creditmemo->getBaseShippingAmount());
99  $order->setShippingRefunded($order->getShippingRefunded() + $creditmemo->getShippingAmount());
100 
101  $order->setBaseShippingTaxRefunded(
102  $order->getBaseShippingTaxRefunded() + $creditmemo->getBaseShippingTaxAmount()
103  );
104  $order->setShippingTaxRefunded($order->getShippingTaxRefunded() + $creditmemo->getShippingTaxAmount());
105 
106  $order->setAdjustmentPositive($order->getAdjustmentPositive() + $creditmemo->getAdjustmentPositive());
107  $order->setBaseAdjustmentPositive(
108  $order->getBaseAdjustmentPositive() + $creditmemo->getBaseAdjustmentPositive()
109  );
110 
111  $order->setAdjustmentNegative($order->getAdjustmentNegative() + $creditmemo->getAdjustmentNegative());
112  $order->setBaseAdjustmentNegative(
113  $order->getBaseAdjustmentNegative() + $creditmemo->getBaseAdjustmentNegative()
114  );
115 
116  $order->setDiscountRefunded($order->getDiscountRefunded() + $creditmemo->getDiscountAmount());
117  $order->setBaseDiscountRefunded($order->getBaseDiscountRefunded() + $creditmemo->getBaseDiscountAmount());
118 
119  if ($creditmemo->getDoTransaction()) {
120  $order->setTotalOnlineRefunded($order->getTotalOnlineRefunded() + $creditmemo->getGrandTotal());
121  $order->setBaseTotalOnlineRefunded($order->getBaseTotalOnlineRefunded() + $creditmemo->getBaseGrandTotal());
122  } else {
123  $order->setTotalOfflineRefunded($order->getTotalOfflineRefunded() + $creditmemo->getGrandTotal());
124  $order->setBaseTotalOfflineRefunded(
125  $order->getBaseTotalOfflineRefunded() + $creditmemo->getBaseGrandTotal()
126  );
127  }
128 
129  $order->setBaseTotalInvoicedCost(
130  $order->getBaseTotalInvoicedCost() - $creditmemo->getBaseCost()
131  );
132  }
$order
Definition: order.php:55

◆ preparePayment()

preparePayment ( \Magento\Sales\Model\Order\Creditmemo  $creditmemo)
protected

Prepare payment data for refund

Parameters
\Magento\Sales\Model\Order\Creditmemo$creditmemo
Returns
void

Definition at line 157 of file Refund.php.

158  {
159  if (!$creditmemo->getPaymentRefundDisallowed()) {
160  $creditmemo->getOrder()->getPayment()->refund($creditmemo);
161  }
162  }

Field Documentation

◆ $invoiceRepository

$invoiceRepository
protected

Definition at line 25 of file Refund.php.

◆ $orderRepository

$orderRepository
protected

Definition at line 20 of file Refund.php.

◆ $priceCurrency

$priceCurrency
protected

Definition at line 30 of file Refund.php.


The documentation for this class was generated from the following file: