コード例 #1
0
ファイル: PaymentManager.php プロジェクト: spryker/Payone
 /**
  * @param \Generated\Shared\Transfer\PayoneRefundTransfer $refundTransfer
  *
  * @return \Spryker\Zed\Payone\Business\Api\Response\Container\RefundResponseContainer
  */
 public function refundPayment(PayoneRefundTransfer $refundTransfer)
 {
     $payonePaymentTransfer = $refundTransfer->getPayment();
     $paymentEntity = $this->getPaymentEntity($payonePaymentTransfer->getFkSalesOrder());
     $paymentMethodMapper = $this->getPaymentMethodMapper($paymentEntity);
     $requestContainer = $paymentMethodMapper->mapPaymentToRefund($paymentEntity);
     $requestContainer->setAmount($refundTransfer->getAmount());
     $this->setStandardParameter($requestContainer);
     $apiLogEntity = $this->initializeApiLog($paymentEntity, $requestContainer);
     $rawResponse = $this->executionAdapter->sendRequest($requestContainer);
     $responseContainer = new RefundResponseContainer($rawResponse);
     $this->updateApiLogAfterRefund($apiLogEntity, $responseContainer);
     return $responseContainer;
 }