/**
  * Tests isPayPalActionValid
  *
  * @dataProvider testIsActionAvailable_dataProvider
  */
 public function testIsActionAvailable($sTransactionMode, $sAction, $dTotal, $dCaptured, $dRefunded, $dVoided, $dIsValid)
 {
     $oOrder = new oePayPalPayPalOrder();
     $oOrder->setTotalOrderSum($dTotal);
     $oOrder->setCapturedAmount($dCaptured);
     $oOrder->setRefundedAmount($dRefunded);
     $oOrder->setVoidedAmount($dVoided);
     $oOrder->setTransactionMode($sTransactionMode);
     $oActionManager = new oePayPalOrderActionManager();
     $oActionManager->setOrder($oOrder);
     $this->assertEquals($dIsValid, $oActionManager->isActionAvailable($sAction));
 }
 /**
  * Test case for oePayPalPayPalOrder::save()
  * Tests adding / getting PayPal Order Payment history item
  *
  * @return null
  */
 public function testSavePayPalPayPalOrder_update()
 {
     $oOrder = new oePayPalPayPalOrder();
     $oOrder->setOrderId('123');
     $oOrder->setPaymentStatus('pending');
     $oOrder->setCapturedAmount(24.13);
     $oOrder->setRefundedAmount(12.13);
     $oOrder->setVoidedAmount(15.13);
     $oOrder->setTotalOrderSum(299.99);
     $oOrder->setCurrency('LTU');
     $oOrder->setTransactionMode('Sale');
     $oOrder->save();
     $oOrderLoaded = new oePayPalPayPalOrder();
     $oOrderLoaded->load('123');
     $oOrderLoaded->setPaymentStatus('completed');
     $oOrderLoaded->save();
     $oOrderLoaded = new oePayPalPayPalOrder();
     $oOrderLoaded->load('123');
     $this->assertEquals('completed', $oOrderLoaded->getPaymentStatus());
     $this->assertEquals(24.13, $oOrderLoaded->getCapturedAmount());
     $this->assertEquals(12.13, $oOrderLoaded->getRefundedAmount());
     $this->assertEquals(15.13, $oOrderLoaded->getVoidedAmount());
     $this->assertEquals(299.99, $oOrderLoaded->getTotalOrderSum());
     $this->assertEquals('LTU', $oOrderLoaded->getCurrency());
     $this->assertEquals('Sale', $oOrderLoaded->getTransactionMode());
 }
예제 #3
0
 /**
  * Recalculate order amounts from connected PayPal payment list.
  * This is especially needed if some new PayPal order payment
  * entry was created by IPN handler or if we e.g. got a void
  * on an existing authorization by IPN.
  *
  * @param oePayPalPayPalOrder $order
  *
  * @return mixed
  */
 protected function recalculateAmounts($order)
 {
     $paymentList = $order->getPaymentList();
     $orderPaymentListCalculator = $this->getOrderPaymentListCalculator();
     $orderPaymentListCalculator->setPaymentList($paymentList);
     $orderPaymentListCalculator->calculate();
     $order->setCapturedAmount($orderPaymentListCalculator->getCapturedAmount());
     $order->setVoidedAmount($orderPaymentListCalculator->getVoidedAmount());
     $order->setRefundedAmount($orderPaymentListCalculator->getRefundedAmount());
     $order->save();
     return $order;
 }