/** * @param \Generated\Shared\Transfer\PayonePaymentTransfer $paymentTransfer * * @return \Orm\Zed\Payone\Persistence\SpyPaymentPayone */ protected function savePayment(PayonePaymentTransfer $paymentTransfer) { $payment = new SpyPaymentPayone(); $payment->fromArray($paymentTransfer->toArray()); if ($payment->getReference() === null) { $orderEntity = $payment->getSpySalesOrder(); $payment->setReference($this->config->generatePayoneReference($paymentTransfer, $orderEntity)); } $payment->save(); return $payment; }
/** * @param \Orm\Zed\Payone\Persistence\SpyPaymentPayone $paymentEntity * @param \Spryker\Zed\Payone\Business\Api\Request\Container\Authorization\AbstractAuthorizationContainer $authorizationContainer * * @return \Spryker\Zed\Payone\Business\Api\Request\Container\Authorization\AbstractAuthorizationContainer */ protected function mapPaymentToAbstractAuthorization(SpyPaymentPayone $paymentEntity, AbstractAuthorizationContainer $authorizationContainer) { $paymentDetailEntity = $paymentEntity->getSpyPaymentPayoneDetail(); $authorizationContainer->setAid($this->getStandardParameter()->getAid()); $authorizationContainer->setClearingType(PayoneApiConstants::CLEARING_TYPE_PREPAYMENT); $authorizationContainer->setReference($paymentEntity->getReference()); $authorizationContainer->setAmount($paymentDetailEntity->getAmount()); $authorizationContainer->setCurrency($this->getStandardParameter()->getCurrency()); $authorizationContainer->setPaymentMethod($this->createPaymentMethodContainerFromPayment($paymentEntity)); $billingAddressEntity = $paymentEntity->getSpySalesOrder()->getBillingAddress(); $personalContainer = new PersonalContainer(); $this->mapBillingAddressToPersonalContainer($personalContainer, $billingAddressEntity); $authorizationContainer->setPersonalData($personalContainer); return $authorizationContainer; }