I've creating a new table in which I capture all order states and statuses. I've got everything working fine including refunds. I've run into an issue though! I've put a scenario below so you can see what I mean
Order 001
- Product 1 – qty 4 – price – 20.00
- Product 2 – qty 2 – price – 15.00
If I refund 1 of product 1 a new row will be inserted in the DB as a negative number which is correct. Something along the lines of:-
TableID Name Qty Price
1 Product1 -1 -20.00
If I then want to refund another of product 1, I want the table to look like the following:-
TableID Name Qty Price
1 Product1 -1 -20.00
2 Product1 -1 -20.00
BUT what is actually inserting is this:-
TableID Name Qty Price
1 Product1 -1 -20.00
2 Product1 -2 -20.00
So if we then look to tally up how many refunds occurred against product one it looks like there was three. Actually there was only two.
I was doing something like :
private function _getOrderItemDataXm1($order) {
$i = array();
foreach($order->getAllItems() as $item) {
$i[‘qty’] = $item->getQtyRefunded();
}
}
What this is actually returning is the amount that has already been refunded and the amount that is about to be refunded. I just want to return the amount that is about to be refunded as a new row in the DB.
Anyone any ideas? Bit stuck with this
Thanks