authorizeOperation = $authorizeOperation; $this->captureOperation = $captureOperation; $this->orderOperation = $orderOperation; $this->registerCaptureNotification = $registerCaptureNotification; } /** * Process authorize operation * * @param OrderPaymentInterface $payment * @param bool $isOnline * @param float $amount * @return OrderPaymentInterface|Payment */ public function authorize(OrderPaymentInterface $payment, $isOnline, $amount) { return $this->authorizeOperation->authorize($payment, $isOnline, $amount); } /** * Process capture operation * * @param OrderPaymentInterface $payment * @param InvoiceInterface $invoice * @return OrderPaymentInterface|Payment * @throws \Magento\Framework\Exception\LocalizedException */ public function capture(OrderPaymentInterface $payment, $invoice) { return $this->captureOperation->capture($payment, $invoice); } /** * Process order operation * * @param OrderPaymentInterface $payment * @param float $amount * @return OrderPaymentInterface|Payment */ public function order(OrderPaymentInterface $payment, $amount) { return $this->orderOperation->order($payment, $amount); } /** * Registers capture notification. * * @param OrderPaymentInterface $payment * @param string|float $amount * @param bool|int $skipFraudDetection * @return OrderPaymentInterface */ public function registerCaptureNotification( OrderPaymentInterface $payment, $amount, $skipFraudDetection = false ) { return $this->registerCaptureNotification->registerCaptureNotification($payment, $amount, $skipFraudDetection); } }