/** * @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; }