Skip to content

Commit 794b2a5

Browse files
author
Korshenko, Olexii(okorshenko)
committed
Merge pull request #93 from magento-sparta/SUPEE-7227
SUPEE-7227: Refund Online did not create a new transaction record in Sales > Transactions and Order view > Transactions
2 parents 5011ce6 + 4034577 commit 794b2a5

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

app/code/Magento/Braintree/Model/PaymentMethod.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
use \Braintree_Transaction;
1212
use \Braintree_Result_Successful;
1313
use Magento\Framework\Exception\LocalizedException;
14+
use Magento\Sales\Model\Order\Payment\Transaction;
1415
use Magento\Sales\Model\Resource\Order\Payment\Transaction\CollectionFactory as TransactionCollectionFactory;
1516
use Magento\Sales\Model\Order\Payment\Transaction as PaymentTransaction;
1617
use Magento\Payment\Model\InfoInterface;
@@ -636,13 +637,15 @@ public function refund(InfoInterface $payment, $amount)
636637
}
637638
}
638639

640+
// transaction should be voided if it not settled
639641
$canVoid = ($transaction->status === \Braintree_Transaction::AUTHORIZED
640642
|| $transaction->status === \Braintree_Transaction::SUBMITTED_FOR_SETTLEMENT);
641643
$result = $canVoid
642644
? $this->braintreeTransaction->void($transactionId)
643645
: $this->braintreeTransaction->refund($transactionId, $amount);
644646
$this->_debug($result);
645647
if ($result->success) {
648+
$payment->setTransactionId($transactionId . '-' . Transaction::TYPE_REFUND);
646649
$payment->setIsTransactionClosed(1);
647650
} else {
648651
throw new LocalizedException($this->errorHelper->parseBraintreeError($result));

app/code/Magento/Braintree/Test/Unit/Model/PaymentMethodTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
use Magento\Braintree\Model\PaymentMethod;
1010
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
11+
use Magento\Sales\Model\Order\Payment\Transaction;
1112
use \Magento\Sales\Model\Resource\Order\Payment\Transaction\CollectionFactory as TransactionCollectionFactory;
1213
use Magento\Framework\Exception\LocalizedException;
1314
use \Braintree_Result_Successful;
@@ -2327,6 +2328,7 @@ public function testRefund()
23272328

23282329
$this->model->refund($paymentObject, $amount);
23292330
$this->assertEquals(1, $paymentObject->getIsTransactionClosed());
2331+
$this->assertEquals($refundTransactionId . '-' .Transaction::TYPE_REFUND, $paymentObject->getTransactionId());
23302332
}
23312333

23322334
/**

app/code/Magento/Reports/Test/Unit/Model/Resource/Order/CollectionTest.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,11 @@ public function testPrepareSummary($useAggregatedData, $mainTable, $isFilter, $g
255255
*/
256256
public function testGetDateRangeFirstPart($range, $customStart, $customEnd, $expectedInterval)
257257
{
258+
$timeZoneToReturn = date_default_timezone_get();
259+
date_default_timezone_set('UTC');
258260
$result = $this->collection->getDateRange($range, $customStart, $customEnd);
259261
$interval = $result['to']->diff($result['from']);
262+
date_default_timezone_set($timeZoneToReturn);
260263
$intervalResult = $interval->format('%y %m %d %h:%i:%s');
261264
$this->assertEquals($expectedInterval, $intervalResult);
262265
}

0 commit comments

Comments
 (0)