OpenCart 🇺🇦

Схема

private mixed getMwsResponse ( $http_method, $uri, $get_args, $post_args, $post_body = '', $headers = array() )

Аргументы

Аргумент Возможный тип Описание
$http_method
$uri
$get_args
$post_args
$post_body = ''
$headers = array()

Описание

Метод пока еще не документирован.

Исходный код

$string_to_sign = $http_method . "\nmws.amazonservices.co.uk\n" . $uri . "\n";

if (!empty($get_args)) {
	uksort($get_args, 'strcmp');
	$string_to_sign .= $this->getParametersAsString($get_args);
	$get_args['Signature'] = base64_encode(hash_hmac('sha256', $string_to_sign, $this->getSecretKey(), true));
} else {
	uksort($post_args, 'strcmp');
	$string_to_sign .= $this->getParametersAsString($post_args);
	$post_args['Signature'] = base64_encode(hash_hmac('sha256', $string_to_sign, $this->getSecretKey(), true));
}

if (empty($post_body)) {
	$post_data = $this->getParametersAsString($post_args);
} else {
	$post_data = $post_body;
}

$request_url = 'https://mws.amazonservices.co.uk' . $uri;

if (!empty($get_args)) {
	$request_url .= '?' . $this->getParametersAsString($get_args);
}

$defaults = array(
	CURLOPT_POST => 1,
	CURLOPT_HEADER => 0,
	CURLOPT_HTTPHEADER => $headers,
	CURLOPT_URL => $request_url,
	CURLOPT_FRESH_CONNECT => 1,
	CURLOPT_RETURNTRANSFER => 1,
	CURLOPT_FORBID_REUSE => 1,
	CURLOPT_TIMEOUT => 0,
	CURLOPT_SSL_VERIFYPEER => 0,
	CURLOPT_SSL_VERIFYHOST => 0,
	CURLOPT_BINARYTRANSFER => 1,
	CURLOPT_POSTFIELDS => $post_data,
);

$ch = curl_init();

curl_setopt_array($ch, $defaults);

$response = curl_exec($ch);

return $response;