for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* Copyright © 2016 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Pagantis\Pagantis\Gateway\Response;
use Magento\Payment\Gateway\Data\PaymentDataObjectInterface;
use Magento\Payment\Gateway\Response\HandlerInterface;
class TxnIdHandler implements HandlerInterface
{
const TXN_ID = 'TXN_ID';
* Handles transaction id
*
* @param array $handlingSubject
* @param array $response
* @return void
public function handle(array $handlingSubject, array $response)
if (!isset($handlingSubject['payment'])
|| !$handlingSubject['payment'] instanceof PaymentDataObjectInterface
) {
throw new \InvalidArgumentException('Payment data object should be provided');
}
/** @var PaymentDataObjectInterface $paymentDO */
$paymentDO = $handlingSubject['payment'];
$payment = $paymentDO->getPayment();
/** @var $payment \Magento\Sales\Model\Order\Payment */
$payment->setTransactionId($response[self::TXN_ID]);
$payment->setIsTransactionClosed(false);