/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem * * @return bool */ public function check(SpySalesOrderItem $orderItem) { $orderEntity = $orderItem->getOrder(); $orderTransfer = new OrderTransfer(); $orderTransfer->fromArray($orderEntity->toArray(), true); $isSuccess = $this->callFacade($orderTransfer); return $isSuccess; }
/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * @param int $idPayment * * @return \Generated\Shared\Transfer\PayolutionTransactionResponseTransfer */ public function preAuthorizePayment(OrderTransfer $orderTransfer, $idPayment) { $paymentEntity = $this->getPaymentEntity($idPayment); $methodMapper = $this->getMethodMapper($paymentEntity->getAccountBrand()); $this->checkMaxMinGrandTotal($orderTransfer->getTotals()->getGrandTotal(), $methodMapper->getMinGrandTotal(), $methodMapper->getMaxGrandTotal()); $requestData = $methodMapper->buildPreAuthorizationRequest($orderTransfer, $paymentEntity); return $this->sendLoggedRequest($requestData, $paymentEntity); }
/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * @param string $paymentCode * @param string $expectedStatusReasonCode * * @return bool */ private function hasTransactionLogStatus(OrderTransfer $orderTransfer, $paymentCode, $expectedStatusReasonCode) { $idSalesOrder = $orderTransfer->getIdSalesOrder(); $logEntity = $this->queryContainer->queryTransactionStatusLogBySalesOrderIdAndPaymentCodeLatestFirst($idSalesOrder, $paymentCode)->findOne(); if (!$logEntity) { return false; } $expectedProcessingCode = $paymentCode . '.' . $expectedStatusReasonCode; return $expectedProcessingCode === $logEntity->getProcessingCode(); }
/** * @param \Generated\Shared\Transfer\RefundTransfer $refundTransfer * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] array $salesOrderItems * * @return \Generated\Shared\Transfer\RefundTransfer */ public function calculateRefund(RefundTransfer $refundTransfer, OrderTransfer $orderTransfer, array $salesOrderItems) { foreach ($orderTransfer->getItems() as $itemTransfer) { if ($this->shouldItemRefunded($itemTransfer, $salesOrderItems)) { $refundTransfer->addItem($itemTransfer); } } $this->calculateRefundableItemAmount($refundTransfer); $this->setCanceledItemAmount($refundTransfer); return $refundTransfer; }
/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * * @return int */ protected function getTotalProductOptionSumGrossPrice(OrderTransfer $orderTransfer) { $productOptionTotalGrossSumAmount = 0; foreach ($orderTransfer->getItems() as $itemTransfer) { foreach ($itemTransfer->getProductOptions() as $productOptionTransfer) { $productOptionTransfer->requireSumGrossPrice(); $productOptionTotalGrossSumAmount += $productOptionTransfer->getSumGrossPrice(); } } return $productOptionTotalGrossSumAmount; }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem * * @return bool */ public function check(SpySalesOrderItem $orderItem) { $order = $orderItem->getOrder(); if (isset(self::$resultCache[$this->getName()][$order->getPrimaryKey()])) { return self::$resultCache[$this->getName()][$order->getPrimaryKey()]; } $orderTransfer = new OrderTransfer(); $orderTransfer->fromArray($order->toArray(), true); $isSuccess = $this->callFacade($orderTransfer); self::$resultCache[$order->getPrimaryKey()] = $isSuccess; return $isSuccess; }
/** * @return \Generated\Shared\Transfer\OrderTransfer */ protected function getOrderTransferWithRefundedItem() { $orderTransfer = new OrderTransfer(); $itemTransfer = new ItemTransfer(); $itemTransfer->setRefundableAmount(0); $itemTransfer->setIdSalesOrderItem(1); $orderTransfer->addItem($itemTransfer); $itemTransfer = new ItemTransfer(); $itemTransfer->setRefundableAmount(100); $itemTransfer->setIdSalesOrderItem(2); $orderTransfer->addItem($itemTransfer); $expenseTransfer = new ExpenseTransfer(); $expenseTransfer->setRefundableAmount(10); $orderTransfer->addExpense($expenseTransfer); return $orderTransfer; }
/** * @param array $orderItems * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data * * @return array Array */ public function run(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data) { $payoneRefundTransfer = new PayoneRefundTransfer(); $orderTransfer = new OrderTransfer(); $orderTransfer->fromArray($orderEntity->toArray(), true); $refundTransfer = $this->getFactory()->getRefundFacade()->calculateRefund($orderItems, $orderEntity); $payoneRefundTransfer->setAmount($refundTransfer->getAmount() * -1); $paymentPayoneEntity = $orderEntity->getSpyPaymentPayones()->getFirst(); $payonePaymentTransfer = new PayonePaymentTransfer(); $payonePaymentTransfer->fromArray($paymentPayoneEntity->toArray(), true); $payoneRefundTransfer->setPayment($payonePaymentTransfer); $payoneRefundTransfer->setUseCustomerdata(PayoneApiConstants::USE_CUSTOMER_DATA_YES); $narrativeText = $this->getFactory()->getConfig()->getNarrativeText($orderItems, $orderEntity, $data); $payoneRefundTransfer->setNarrativeText($narrativeText); $this->getFacade()->refundPayment($payoneRefundTransfer); return []; }
/** * @param \Generated\Shared\Transfer\RefundTransfer $refundTransfer * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] array $salesOrderItems * * @return \Generated\Shared\Transfer\RefundTransfer */ public function calculateRefund(RefundTransfer $refundTransfer, OrderTransfer $orderTransfer, array $salesOrderItems) { $refundedItemAmount = 0; foreach ($orderTransfer->getItems() as $itemTransfer) { if ($this->shouldItemRefunded($itemTransfer, $salesOrderItems)) { $refundTransfer->addItem($itemTransfer); } else { $refundedItemAmount += (int) $itemTransfer->getRefundableAmount(); } } if ($refundedItemAmount === 0) { $refundTransfer->setExpenses($orderTransfer->getExpenses()); } $this->calculateRefundableExpenseAmount($refundTransfer); $this->setCanceledExpenseAmount($refundTransfer); return $refundTransfer; }
/** * @return \Generated\Shared\Transfer\OrderTransfer */ protected function createOrderTransfer() { $orderTransfer = new OrderTransfer(); $totalTransfer = new TotalsTransfer(); $totalTransfer->setGrandTotal(1000); $orderTransfer->setTotals($totalTransfer); $orderTransfer->setIdSalesOrder($this->orderEntity->getIdSalesOrder()); return $orderTransfer; }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * * @return void */ protected function hydrateExpensesToOrderTransfer(SpySalesOrder $orderEntity, OrderTransfer $orderTransfer) { foreach ($orderEntity->getExpenses() as $expenseEntity) { $expenseTransfer = new ExpenseTransfer(); $expenseTransfer->fromArray($expenseEntity->toArray(), true); $expenseTransfer->setUnitGrossPrice($expenseEntity->getGrossPrice()); $orderTransfer->addExpense($expenseTransfer); } }
/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * * @return \Generated\Shared\Transfer\PayonePaymentTransfer */ protected function getPayment(OrderTransfer $orderTransfer) { $payment = $this->queryContainer->getPaymentByOrderId($orderTransfer->getIdSalesOrder())->findOne(); $paymentDetail = $payment->getSpyPaymentPayoneDetail(); $paymentDetailTransfer = new PaymentDetailTransfer(); $paymentDetailTransfer->fromArray($paymentDetail->toArray(), true); $paymentTransfer = new PayonePaymentTransfer(); $paymentTransfer->fromArray($payment->toArray(), true); $paymentTransfer->setPaymentDetail($paymentDetailTransfer); return $paymentTransfer; }
/** * @param \Generated\Shared\Transfer\OrderTransfer $order * @param array $orderItems * * @return \Generated\Shared\Transfer\OrderTransfer */ protected function getOrderWithTotals(OrderTransfer $order, array $orderItems) { $order->setItems(new \ArrayObject($orderItems)); return $this->salesAggregatorBridge->getOrderTotalByOrderTransfer($order); }
/** * @return \Generated\Shared\Transfer\OrderTransfer */ protected function createOrderTransfer() { $orderTransfer = new OrderTransfer(); $totalTransfer = new TotalsTransfer(); $totalTransfer->setGrandTotal(1000); $orderTransfer->setTotals($totalTransfer); return $orderTransfer; }
/** * @return \Generated\Shared\Transfer\OrderTransfer */ protected function getOrder() { $order = new OrderTransfer(); $order->setFirstName('horst'); $order->setLastName('wurst'); $order->setEmail('*****@*****.**'); $order->setIsTest(true); // $order->setIncrementId('DY999991011'); $order->setOrderReference(rand(0, 100000)); $order->setIdSalesOrder(1); $order->setSalutation('Mr'); $totals = new TotalsTransfer(); $totals->setGrandTotal(10000); //$totals->setTax(300); $totals->setSubtotal(10000); $order->setTotals($totals); return $order; }
/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * @param \Orm\Zed\Payolution\Persistence\SpyPaymentPayolution $paymentEntity * @param string $paymentCode * @param string $uniqueId * * @return array */ protected function getBaseTransactionRequestForPayment(OrderTransfer $orderTransfer, SpyPaymentPayolution $paymentEntity, $paymentCode, $uniqueId) { $requestData = $this->getBaseTransactionRequest($orderTransfer->getTotals()->getGrandTotal(), $paymentEntity->getCurrencyIso3Code(), $orderTransfer->getIdSalesOrder()); $this->addRequestData($requestData, [ApiConstants::TRANSACTION_CHANNEL => $this->getTransactionChannel(), ApiConstants::PAYMENT_CODE => $paymentCode, ApiConstants::IDENTIFICATION_REFERENCEID => $uniqueId]); return $requestData; }
/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * * @return int[] */ protected function getSaleOrderItemIds(OrderTransfer $orderTransfer) { $saleOrderItemIds = []; foreach ($orderTransfer->getItems() as $itemTransfer) { $saleOrderItemIds[] = $itemTransfer->getIdSalesOrderItem(); } return $saleOrderItemIds; }
/** * @return \Generated\Shared\Transfer\OrderTransfer */ protected function createOrderTransferMock() { $totalsTransfer = new TotalsTransfer(); $totalsTransfer->setGrandTotal(10000); $orderTransfer = new OrderTransfer(); $orderTransfer->fromArray($this->orderEntity->toArray(), true); $orderTransfer->setTotals($totalsTransfer); return $orderTransfer; }
/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * * @return void */ protected function hydrateEntityFromOrderTransfer(OrderTransfer $orderTransfer, SpySalesOrder $orderEntity) { $orderEntity->fromArray($orderTransfer->modifiedToArray()); }
/** * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer * * @return \Orm\Zed\Payone\Persistence\SpyPaymentPayone */ protected function findPaymentByOrder(OrderTransfer $orderTransfer) { return $this->queryContainer->getPaymentByOrderId($orderTransfer->getIdSalesOrder())->findOne(); }
/** * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity * * @return \Generated\Shared\Transfer\OrderTransfer */ protected function getOrderTransfer(SpySalesOrder $orderEntity) { $orderTransfer = new OrderTransfer(); $orderTransfer->fromArray($orderEntity->toArray(), true); return $orderTransfer; }