public function capturePayment($paymentToken)
    {
        if (!$paymentToken instanceof CapturePaymentRequest) {
            $paymentToken = new CapturePaymentRequest($paymentToken);
        }

        ObjectRecursiveValidator::validate($paymentToken);
        $paymentSerializer = new CapturePaymentSerializer($paymentToken);
        $paymentTransport = new CapturePaymentTransport($paymentSerializer);

        return $this->execute($paymentTransport, CapturePaymentResponse::class);
    }
public function capturePayment($paymentToken)
    {
        if (!$paymentToken instanceof CapturePaymentRequest) {
            $paymentToken = new CapturePaymentRequest($paymentToken);
        }

        ObjectRecursiveValidator::validate($paymentToken);
        $paymentSerializer = new CapturePaymentSerializer($paymentToken);
        $paymentTransport = new CapturePaymentTransport($paymentSerializer);

        return $this->execute($paymentTransport, CapturePaymentResponse::class);
    }
@param string|CapturePaymentRequest $paymentToken

@return CapturePaymentResponse|AbstractResponse

@throws ResponseException
@throws TransportException
@throws ResponseParseException
@throws JsonParseException