예제 #1
0
 public function testGetLastPayuplOrderIdByOrderIdSuccess()
 {
     $orderId = 1;
     $resultTableRow = ['txn_id' => 'ABC'];
     $this->internalTestGetLastPayuplOrderIdByOrderId($orderId, $resultTableRow);
     $this->assertEquals($resultTableRow['txn_id'], $this->model->getLastPayuplOrderIdByOrderId($orderId));
 }
예제 #2
0
 /**
  * @param int $orderId
  * @return string|false
  */
 public function getRepeatPaymentUrl($orderId)
 {
     $order = $this->orderHelper->loadOrderById($orderId);
     if ($order && $this->orderHelper->canRepeatPayment($order)) {
         return $this->_urlBuilder->getUrl('orba_payupl/payment/repeat', ['id' => $this->transactionResource->getLastPayuplOrderIdByOrderId($orderId)]);
     }
     return false;
 }
예제 #3
0
 /**
  * @param \Magento\Payment\Model\InfoInterface $payment
  * @param float $amount
  * @return $this
  */
 public function refund(\Magento\Payment\Model\InfoInterface $payment, $amount)
 {
     /**
      * @var $order \Magento\Sales\Model\Order
      */
     $order = $payment->getOrder();
     $payuplOrderId = $this->transactionResource->getLastPayuplOrderIdByOrderId($order->getId());
     $client = $this->clientFactory->create();
     $client->refundCreate($payuplOrderId, __('Refund for order # %1', $order->getIncrementId()), $amount * 100);
     return $this;
 }
예제 #4
0
 /**
  * @param \Magento\Sales\Model\Order $order
  * @return bool
  */
 public function validateNoTransactions(\Magento\Sales\Model\Order $order)
 {
     return $this->transactionResource->getLastPayuplOrderIdByOrderId($order->getId()) === false;
 }