コード例 #1
0
ファイル: amazon.php プロジェクト: kosmosby/medicine-prof
	private function getCaptureDetails ($amazonCaptureId, $order) {
		$client = $this->getOffAmazonPaymentsService_Client();
		try {
			$getCaptureDetailsRequest = new OffAmazonPaymentsService_Model_GetCaptureDetailsRequest();
			$getCaptureDetailsRequest->setSellerId($this->_currentMethod->sellerId);
			$getCaptureDetailsRequest->setAmazonCaptureId($amazonCaptureId);

			$getCaptureDetails = $client->getCaptureDetails($getCaptureDetailsRequest);
		} catch (Exception $e) {
			$this->amazonError(__FUNCTION__ . ' ' . $e->getMessage(), $e->getCode());
			return;
		}
		$this->loadHelperClass('amazonHelperGetCaptureDetailsResponse');
		$amazonHelperGetCaptureDetailsResponse = new amazonHelperGetCaptureDetailsResponse($getCaptureDetails, $this->_currentMethod);
		$storeInternalData = $amazonHelperGetCaptureDetailsResponse->getStoreInternalData();

		$this->storeAmazonInternalData($order, $getCaptureDetailsRequest, $getCaptureDetails, NULL, NULL, $storeInternalData);

		return $getCaptureDetails;
	}
コード例 #2
0
 /**
  * Perform the get capture details call for the order
  *
  * @return OffAmazonPaymentsService_Model_CaptureResponse service response
  */
 public function getCaptureDetails()
 {
     $captureDetailsRequest = new OffAmazonPaymentsService_Model_GetCaptureDetailsRequest();
     $captureDetailsRequest->setSellerId($this->_sellerId);
     $captureDetailsRequest->setAmazonCaptureId($this->_amazonCaptureId);
     return $this->_service->getCaptureDetails($captureDetailsRequest);
 }
コード例 #3
0
ファイル: amzpayments.php プロジェクト: paeddl/amzpayments-1
 public function refreshAuthorization($auth_id)
 {
     $service = $this->getService();
     $authorization_request = new OffAmazonPaymentsService_Model_GetAuthorizationDetailsRequest();
     $authorization_request->setSellerId($this->merchant_id);
     $authorization_request->setAmazonAuthorizationId($auth_id);
     try {
         $response = $service->getAuthorizationDetails($authorization_request);
         $details = $response->getGetAuthorizationDetailsResult()->getAuthorizationDetails();
         // $address = $details->getAuthorizationBillingAddress();
         $sql_arr = array('amz_tx_status' => pSQL((string) $details->getAuthorizationStatus()->getState()), 'amz_tx_last_change' => pSQL(strtotime((string) $details->getAuthorizationStatus()->getLastUpdateTimestamp())), 'amz_tx_last_update' => pSQL(time()));
         Db::getInstance()->update('amz_transactions', $sql_arr, " amz_tx_amz_id = '" . pSQL($auth_id) . "'");
         if ((string) $details->getAuthorizationStatus()->getState() == 'Declined') {
             $reason = (string) $details->getAuthorizationStatus()->getReasonCode();
             if ($reason == 'AmazonRejected') {
                 $order_ref = AmazonTransactions::getOrderRefFromAmzId($auth_id);
                 $this->cancelOrder($order_ref);
             }
             $this->intelligentDeclinedMail($auth_id, $reason);
             if ($this->decline_status_id > 0) {
                 $order_ref = AmazonTransactions::getOrderRefFromAmzId($auth_id);
                 AmazonTransactions::setOrderStatusDeclined($order_ref, true);
             }
         } elseif ((string) $details->getAuthorizationStatus()->getState() == 'Open') {
             $order_ref = AmazonTransactions::getOrderRefFromAmzId($auth_id);
             AmazonTransactions::setOrderStatusAuthorized($order_ref, true);
         } elseif ((string) $details->getAuthorizationStatus()->getState() == 'Closed' && (string) $details->getAuthorizationStatus()->getReasonCode() == 'MaxCapturesProcessed') {
             $captureIds = $details->getIdList()->getMember();
             if (isset($captureIds[0])) {
                 $captureId = (string) $captureIds[0];
                 $order_ref = AmazonTransactions::getOrderRefFromAmzId($auth_id);
                 $capture_request = new OffAmazonPaymentsService_Model_GetCaptureDetailsRequest();
                 $capture_request->setSellerId($this->merchant_id);
                 $capture_request->setAmazonCaptureId($captureId);
                 try {
                     $response = $service->getCaptureDetails($capture_request);
                     $details = $response->getGetCaptureDetailsResult()->getCaptureDetails();
                     $sql_arr = array('amz_tx_order_reference' => pSQL($order_ref), 'amz_tx_type' => 'capture', 'amz_tx_time' => pSQL(time()), 'amz_tx_expiration' => 0, 'amz_tx_amount' => pSQL((string) $details->getCaptureAmount()->getAmount()), 'amz_tx_status' => pSQL($details->getCaptureStatus()->getState()), 'amz_tx_reference' => pSQL($details->getCaptureReferenceId()), 'amz_tx_amz_id' => pSQL($details->getAmazonCaptureId()), 'amz_tx_last_change' => pSQL(time()), 'amz_tx_last_update' => pSQL(time()));
                     $checkQuery = 'SELECT * FROM ' . _DB_PREFIX_ . 'amz_transactions
                         WHERE `amz_tx_order_reference` = \'' . pSQL($order_ref) . '\'
                         AND `amz_tx_type` = \'capture\' 
                         ';
                     if ($row = Db::getInstance()->getRow($checkQuery)) {
                         return;
                     } else {
                         Db::getInstance()->insert('amz_transactions', $sql_arr);
                         AmazonTransactions::setOrderStatusCapturedSuccesfully($order_ref);
                     }
                 } catch (OffAmazonPaymentsService_Exception $e) {
                     echo 'ERROR: ' . $e->getMessage();
                 }
             }
         }
     } catch (OffAmazonPaymentsService_Exception $e) {
         echo 'ERROR: ' . $e->getErrorMessage();
     }
 }