public static function getAuthorizeDetails(AmzPayments $amz_payments, $service, $auth_ref_id) { $auth_details_request = new OffAmazonPaymentsService_Model_GetAuthorizationDetailsRequest(); $auth_details_request->setSellerId($amz_payments->merchant_id); $auth_details_request->setAmazonAuthorizationId($auth_ref_id); try { return $service->getAuthorizationDetails($auth_details_request); } catch (OffAmazonPaymentsService_Exception $e) { return false; } }
/** * Perform the getAuthroizationDetails request for the order * * @param string $amazonAuthorizationReferenceId * authorization transaction * to query * * @return OffAmazonPaymentsService_Model_GetAuthorizationDetailsResponse * service response */ public function getAuthorizationDetails($amazonAuthorizationReferenceId) { $getAuthorizationDetailsRequest = new OffAmazonPaymentsService_Model_GetAuthorizationDetailsRequest(); $getAuthorizationDetailsRequest->setSellerId($this->_sellerId); $getAuthorizationDetailsRequest->setAmazonAuthorizationId($amazonAuthorizationReferenceId); return $this->_service->getAuthorizationDetails($getAuthorizationDetailsRequest); }
function getAuthorizationDetails ($amazonAuthorizationId, $order) { $client = $this->getOffAmazonPaymentsService_Client(); try { $getAuthorizationDetailsRequest = new OffAmazonPaymentsService_Model_GetAuthorizationDetailsRequest(); $getAuthorizationDetailsRequest->setSellerId($this->_currentMethod->sellerId); $getAuthorizationDetailsRequest->setAmazonAuthorizationId($amazonAuthorizationId); $getAuthorizationDetailsResponse = $client->getAuthorizationDetails($getAuthorizationDetailsRequest); } catch (Exception $e) { $this->amazonError(__FUNCTION__ . ' ' . $e->getMessage(), $e->getCode()); return; } $this->loadHelperClass('amazonHelperGetAuthorizationDetailsResponse'); $amazonHelperGetAuthorizationDetailsResponse = new amazonHelperGetAuthorizationDetailsResponse($getAuthorizationDetailsResponse, $this->_currentMethod); $storeInternalData = $amazonHelperGetAuthorizationDetailsResponse->getStoreInternalData(); $this->storeAmazonInternalData($order, $getAuthorizationDetailsRequest, $getAuthorizationDetailsResponse, NULL, NULL, $storeInternalData); return $getAuthorizationDetailsResponse; }
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(); } }