/** * Capturing method being executed via Payment Bridge * * @param Varien_Object $payment * @param float $amount * @return Enterprise_Pbridge_Model_Payment_Method_Payflow_Pro */ public function capture(Varien_Object $payment, $amount) { $this->_setPbridgeAdditionalParams(); $payment->setShouldCloseParentTransaction(!$this->_getCaptureAmount($amount)); $payment->setFirstCaptureFlag(!$this->getInfoInstance()->hasAmountPaid()); $response = $this->getPbridgeMethodInstance()->capture($payment, $amount); if (!$response) { $response = $this->getPbridgeMethodInstance()->authorize($payment, $amount); } $payment->addData((array) $response); $payment->setIsTransactionClosed(0); return $this; }