/** * Perform the capture call for the order * * @param float $captureAmount amount to capture from the buyer * @param string $amazonAuthorizationId auth id to perform the capture on * * @return OffAmazonPaymentsService_Model_CaptureResponse service response */ public function captureOrderAmount($captureAmount, $amazonAuthorizationId, $providerCreditInfo = null) { $captureRequest = new OffAmazonPaymentsService_Model_CaptureRequest(); $captureRequest->setSellerId($this->_sellerId); $captureRequest->setAmazonAuthorizationId($amazonAuthorizationId); $captureRequest->setCaptureReferenceId($this->_captureReferenceId); $captureRequest->setCaptureAmount(new OffAmazonPaymentsService_Model_Price()); $captureRequest->getCaptureAmount()->setAmount($captureAmount); $captureRequest->getCaptureAmount()->setCurrencyCode($this->_service->getMerchantValues()->getCurrency()); if ($providerCreditInfo != null) { $captureRequest->setProviderCreditList(new OffAmazonPaymentsService_Model_ProviderCreditList()); $values = array(); $providerCredit = new OffAmazonPaymentsService_Model_ProviderCredit(); $providerCredit->setProviderId($providerCreditInfo[0]); $creditAmount = new OffAmazonPaymentsService_Model_Price(); $creditAmount->setAmount($providerCreditInfo[1]); $creditAmount->setCurrencyCode($this->_service->getMerchantValues()->getCurrency()); $providerCredit->setCreditAmount($creditAmount); array_push($values, $providerCredit); $captureRequest->getProviderCreditList()->setmember($values); } return $this->_service->capture($captureRequest); }