OpenCart 🇺🇦

Схема

private mixed getResponse ( $http_method, $parameters )

Аргументы

Аргумент Возможный тип Описание
$http_method
$parameters

Описание

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

Исходный код

$string_to_sign = $http_method . "\n";

if ($this->getMode() == 'live') {
	$string_to_sign .= "payments.amazon.co.uk\n";
} else {
	$string_to_sign .= "payments-sandbox.amazon.co.uk\n";
}

$string_to_sign .= "/cba/api/purchasecontract/\n";

uksort($parameters, 'strcmp');
$string_to_sign .= $this->getParametersAsString($parameters);

$parameters['Signature'] = base64_encode(hash_hmac('sha256', $string_to_sign, $this->getSecretKey(), true));

if ($this->getMode() == 'live') {
	$end_point = "payments.amazon.co.uk";
} else {
	$end_point = "payments-sandbox.amazon.co.uk";
}

$request_url = 'https://' . $end_point . '/cba/api/purchasecontract/?' . $this->getParametersAsString($parameters);

$curl_options = array(
	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_POST => $http_method == 'POST' ? 1 : 0,
);

$ch = curl_init();
curl_setopt_array($ch, $curl_options);
$response = curl_exec($ch);

curl_close($ch);

return $response;