amazonData;
// if am
$authorizeResult = $authorizeResponse->getAuthorizeResult();
$captureDetails = $authorizeResult->getCaptureDetails();
if ($captureDetails->isSetCaptureStatus()) {
$captureStatus = $captureDetails->getCaptureStatus();
if (!$captureStatus->isSetState()) {
return false;
}
$amazonState = $captureStatus->getState();
if ($captureStatus->isSetReasonCode()) {
$reasonCode = $captureStatus->getReasonCode();
}
}
// In asynchronous mode, CaptureResponse is always Pending. Order status is not updated
if ($amazonState == 'Pending') {
return $amazonState;
}
// SYNCHRONOUS MODE: amazon returns in real time the final process status
if ($amazonState == 'Open') {
// it should always be the case if the CaptureNow == false
$order_history['order_status'] = $this->_currentMethod->status_capture;
$order_history['comments'] = vmText::_('VMPAYMENT_AMAZON_COMMENT_STATUS_AUTHORIZATION_OPEN');
$order_history['customer_notified'] = 1;
} elseif ($amazonState == 'Closed') {
// it should always be the case if the CaptureNow == true
if (!($captureDetails->isSetCaptureNow() and $captureDetails->getCaptureNow())) {
$this->debugLog('SYNCHRONOUS , capture Now, and Amazon State is NOT CLOSED' . __FUNCTION__ . var_export($authorizeResponse, true), 'error');
return $amazonState;
}
$order_history['order_status'] = $this->_currentMethod->status_capture;
$order_history['comments'] = vmText::_('VMPAYMENT_AMAZON_COMMENT_STATUS_CAPTURED');
$order_history['customer_notified'] = 1;
} elseif ($amazonState == 'Declined') {
// handling Declined Captures
$order_history['order_status'] = $this->_currentMethod->status_cancel;
$order_history['comments'] = $reasonCode;
if ($captureStatus->isSetReasonDescription()) {
$order_history['comments'] .= " " . $captureStatus->getReasonDescription();
}
$order_history['customer_notified'] = 0;
}
$order_history['amazonState'] = $amazonState;
$modelOrder = VmModel::getModel('orders');
$modelOrder->updateStatusForOneOrder($order['details']['BT']->virtuemart_order_id, $order_history, TRUE);
return $amazonState;
*/
}
public function getStoreInternalData () {
$amazonInternalData = new stdClass();
if ($this->amazonData->isSetGetCaptureDetailsResult()) {
$getCaptureDetailsResult = $this->amazonData->getGetCaptureDetailsResult();
if ($getCaptureDetailsResult->isSetCaptureDetails()) {
$captureDetails = $getCaptureDetailsResult->getCaptureDetails();
if ($captureDetails->isSetCaptureStatus()) {
$captureStatus = $captureDetails->getCaptureStatus();
if ($captureStatus->isSetState()) {
$amazonInternalData->amazon_response_state = $captureStatus->getState();
}
if ($captureStatus->isSetReasonCode()) {
$amazonInternalData->amazon_response_reasonCode = $captureStatus->getReasonCode();
}
if ($captureStatus->isSetReasonDescription()) {
$amazonInternalData->amazon_response_reasonDescription = $captureStatus->getReasonDescription();
}
if ($captureDetails->isSetAmazonCaptureId()) {
$amazonInternalData->amazon_response_amazonCaptureId = $captureDetails->getAmazonCaptureId();
}
}
}
return $amazonInternalData;
}
}
function getState () {
if (!$this->amazonData->isSetGetCaptureDetailsResult()) {
return NULL;
}
if (!$this->amazonData->isSetGetCaptureDetailsResult()) {
return NULL;
}
$getCaptureDetailsResult = $this->amazonData->getGetCaptureDetailsResult();
if (!$getCaptureDetailsResult->isSetCaptureDetails()) {
return NULL;
}
$captureDetails = $getCaptureDetailsResult->getCaptureDetails();
if (!$captureDetails->isSetCaptureStatus()) {
return NULL;
}
$captureStatus = $captureDetails->getCaptureStatus();
if (!$captureStatus->isSetState()) {
return NULL;
}
return $captureStatus->getState();
}
function getContents () {
$contents = $this->tableStart("GetCaptureDetailsResponse");
if ($this->amazonData->isSetGetCaptureDetailsResult()) {
$getCaptureDetailsResult = $this->amazonData->getGetCaptureDetailsResult();
if ($getCaptureDetailsResult->isSetCaptureDetails()) {
$contents .= $this->getRowFirstCol("GetCaptureDetailsResult");
$captureDetails = $getCaptureDetailsResult->getCaptureDetails();
if ($captureDetails->isSetAmazonCaptureId()) {
$contents .= $this->getRow("AmazonCaptureId: ", $captureDetails->getAmazonCaptureId());
}
if ($captureDetails->isSetCaptureReferenceId()) {
$contents .= $this->getRow("CaptureReferenceId: ", $captureDetails->getCaptureReferenceId());
}
if ($captureDetails->isSetSellerCaptureNote()) {
$contents .= $this->getRow("SellerCaptureNote: ", $captureDetails->getSellerCaptureNote());
}
if ($captureDetails->isSetCaptureAmount()) {
$capturedAmount = $captureDetails->getCaptureAmount();
$more='';
if ($capturedAmount->isSetAmount()) {
$more .= "
Amount: " . $capturedAmount->getAmount();
}
if ($capturedAmount->isSetCurrencyCode()) {
$more .= "
CurrencyCode: " . $capturedAmount->getCurrencyCode();
}
$contents .=$this->getRow("CapturedAmount: ", $more);
}
if ($captureDetails->isSetRefundedAmount()) {
$refundedAmount = $captureDetails->getRefundedAmount();
$more = '';
if ($refundedAmount->isSetAmount()) {
$more .= "
Amount: " . $refundedAmount->getAmount();
}
if ($refundedAmount->isSetCurrencyCode()) {
$more .= "
CurrencyCode: " . $refundedAmount->getCurrencyCode();
}
$contents .= $this->getRow("RefundedAmount: ", $more);
}
if ($captureDetails->isSetCaptureFee()) {
$more = '';
$captureFee = $captureDetails->getCaptureFee();
if ($captureFee->isSetAmount()) {
$more .= "
Amount: " . $captureFee->getAmount();
}
if ($captureFee->isSetCurrencyCode()) {
$more .= "
CurrencyCode: " . $captureFee->getCurrencyCode();
}
$contents .= $this->getRow("CaptureFee: ", $more);
}
if ($captureDetails->isSetIdList()) {
$more = '';
$idList = $captureDetails->getIdList();
$memberList = $idList->getmember();
foreach ($memberList as $member) {
$more .= "
member: " . $member;
}
$contents .= $this->getRow("IdList: ", $more);
}
if ($captureDetails->isSetCreationTimestamp()) {
$contents .= $this->getRow("CreationTimestamp: ", $captureDetails->getCreationTimestamp());
}
if ($captureDetails->isSetCaptureStatus()) {
$more = '';
$captureStatus = $captureDetails->getCaptureStatus();
if ($captureStatus->isSetState()) {
$more .= "
State: " . $captureStatus->getState();
}
if ($captureStatus->isSetLastUpdateTimestamp()) {
$more .= "
LastUpdateTimestamp: " . $captureStatus->getLastUpdateTimestamp();
}
if ($captureStatus->isSetReasonCode()) {
$more .= "
ReasonCode: " . $captureStatus->getReasonCode();
}
if ($captureStatus->isSetReasonDescription()) {
$more .= "
ReasonDescription: " . $captureStatus->getReasonDescription();
}
$contents .= $this->getRow("CaptureStatus: ", $more);
}
if ($captureDetails->isSetSoftDescriptor()) {
$contents .= $this->getRow("SoftDescriptor: ", $captureDetails->getSoftDescriptor());
}
}
}
/*
if ($this->amazonData->isSetResponseMetadata()) {
$contents .= $this->getRowFirstCol("ResponseMetadata");
$responseMetadata = $this->amazonData->getResponseMetadata();
if ($responseMetadata->isSetRequestId()) {
$contents .= $this->getRow("RequestId: ", $responseMetadata->getRequestId());
}
}
$contents .= $this->getRowFirstCol("ResponseHeaderMetadata " . $this->amazonData->getResponseHeaderMetadata());
*/
$contents .= $this->tableEnd();
return $contents;
}
}