diff --git a/app/code/Magento/Braintree/Model/PaymentMethod.php b/app/code/Magento/Braintree/Model/PaymentMethod.php index 8e14ed191e350097a62984c7570d667c149a077b..45171956e87bcf8832723f7b7dffeb90ea5f1f79 100644 --- a/app/code/Magento/Braintree/Model/PaymentMethod.php +++ b/app/code/Magento/Braintree/Model/PaymentMethod.php @@ -11,6 +11,7 @@ use \Braintree_Exception; use \Braintree_Transaction; use \Braintree_Result_Successful; use Magento\Framework\Exception\LocalizedException; +use Magento\Sales\Model\Order\Payment\Transaction; use Magento\Sales\Model\ResourceModel\Order\Payment\Transaction\CollectionFactory as TransactionCollectionFactory; use Magento\Sales\Model\Order\Payment\Transaction as PaymentTransaction; use Magento\Payment\Model\InfoInterface; @@ -648,6 +649,7 @@ class PaymentMethod extends \Magento\Payment\Model\Method\Cc } } + // transaction should be voided if it not settled $canVoid = ($transaction->status === \Braintree_Transaction::AUTHORIZED || $transaction->status === \Braintree_Transaction::SUBMITTED_FOR_SETTLEMENT); $result = $canVoid @@ -655,6 +657,7 @@ class PaymentMethod extends \Magento\Payment\Model\Method\Cc : $this->braintreeTransaction->refund($transactionId, $amount); $this->_debug($this->_convertObjToArray($result)); if ($result->success) { + $payment->setTransactionId($transactionId . '-' . Transaction::TYPE_REFUND); $payment->setIsTransactionClosed(true); } else { throw new LocalizedException($this->errorHelper->parseBraintreeError($result)); diff --git a/app/code/Magento/Braintree/Test/Unit/Model/PaymentMethodTest.php b/app/code/Magento/Braintree/Test/Unit/Model/PaymentMethodTest.php index f8f0494c128672811a883a0f832ae464b5f663dc..e20af765062e3b3b0713c5732d5b67f8f3c279f3 100644 --- a/app/code/Magento/Braintree/Test/Unit/Model/PaymentMethodTest.php +++ b/app/code/Magento/Braintree/Test/Unit/Model/PaymentMethodTest.php @@ -8,6 +8,7 @@ namespace Magento\Braintree\Test\Unit\Model; use Magento\Braintree\Model\PaymentMethod; use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper; +use Magento\Sales\Model\Order\Payment\Transaction; use \Magento\Sales\Model\ResourceModel\Order\Payment\Transaction\CollectionFactory as TransactionCollectionFactory; use Magento\Framework\Exception\LocalizedException; use \Braintree_Result_Successful; @@ -2378,6 +2379,7 @@ class PaymentMethodTest extends \PHPUnit_Framework_TestCase $this->model->refund($paymentObject, $amount); $this->assertEquals(1, $paymentObject->getIsTransactionClosed()); + $this->assertEquals($refundTransactionId . '-' .Transaction::TYPE_REFUND, $paymentObject->getTransactionId()); } /** diff --git a/app/code/Magento/Braintree/view/adminhtml/templates/form.phtml b/app/code/Magento/Braintree/view/adminhtml/templates/form.phtml index c27901cd4e8704fc7fdf044e47b8cc40db1a7e40..5610e082e1715e36dcecc8f7cc241bf1aeee2798 100644 --- a/app/code/Magento/Braintree/view/adminhtml/templates/form.phtml +++ b/app/code/Magento/Braintree/view/adminhtml/templates/form.phtml @@ -133,7 +133,7 @@ $ccExpYear = $block->getInfoData('cc_exp_year'); </div> </fieldset> <?php endif; ?> - <?php if($_useVault): ?> + <?php if($useVault): ?> <fieldset class="admin__fieldset hide_if_token_selected"> <div id="<?php /* @noEscape */ echo $code; ?>_store_in_vault_div" style="text-align:left;" class=""> <input type="checkbox" title="<?php echo $block->escapeHtml(__('Save this card for future use')); ?>" diff --git a/app/code/Magento/Braintree/view/frontend/templates/creditcard/index.phtml b/app/code/Magento/Braintree/view/frontend/templates/creditcard/index.phtml index fd9ee17028bb6eae399fe70103f3f8e82933681f..467e2523e6162efa00389deb18ecfe9f5fa43f9a 100644 --- a/app/code/Magento/Braintree/view/frontend/templates/creditcard/index.phtml +++ b/app/code/Magento/Braintree/view/frontend/templates/creditcard/index.phtml @@ -19,7 +19,7 @@ $storedCards = $block->getCurrentCustomerStoredCards(); <?php endif; ?> </div> <?php echo $block->getLayout()->getMessagesBlock()->getGroupedHtml(); ?> -<?php if (count($_storedCards)): ?> +<?php if (count($storedCards)): ?> <table class="data-table" id="my-quotes-table"> <col width="1" /> <col width="1" />