Updated on Kisan Patel
<?php class Amazon { function getAmazonPrice($region, $asin) { $xml = $this->aws_signed_request($region, array( "Operation" => "ItemLookup", "ItemId" => $asin, "IncludeReviewsSummary" => False, "ResponseGroup" => "Medium,OfferSummary", )); $item = $xml->Items->Item; $title = htmlentities((string) $item->ItemAttributes->Title); $url = htmlentities((string) $item->DetailPageURL); $price = htmlentities((string) $item->OfferSummary->LowestNewPrice->Amount); $code = htmlentities((string) $item->OfferSummary->LowestNewPrice->CurrencyCode); if ($qty !== "0") { $response = array( "code" => $code, "price" => number_format((float) ($price / 100), 2, '.', ''), "url" => $url, "title" => $title ); } else{ return false; } return $response; } function getPage($url) { $curl = curl_init($url); curl_setopt($curl, CURLOPT_FAILONERROR, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $html = curl_exec($curl); curl_close($curl); return $html; } function aws_signed_request($region, $params) { $public_key = "PUBLIC_KEY"; $private_key = "PRIVATE_KEY"; $method = "GET"; $host = "ecs.amazonaws." . $region; $host = "webservices.amazon." . $region; $uri = "/onca/xml"; $params["Service"] = "AWSECommerceService"; $params["AssociateTag"] = "affiliate-21"; // Put your Affiliate Code here $params["AWSAccessKeyId"] = $public_key; $params["Timestamp"] = gmdate("Y-m-d\TH:i:s\Z"); $params["Version"] = "2011-08-01"; ksort($params); $canonicalized_query = array(); foreach ($params as $param => $value) { $param = str_replace("%7E", "~", rawurlencode($param)); $value = str_replace("%7E", "~", rawurlencode($value)); $canonicalized_query[] = $param . "=" . $value; } $canonicalized_query = implode("&", $canonicalized_query); $string_to_sign = $method . "\n" . $host . "\n" . $uri . "\n" . $canonicalized_query; $signature = base64_encode(hash_hmac("sha256", $string_to_sign, $private_key, True)); $signature = str_replace("%7E", "~", rawurlencode($signature)); $request = "http://" . $host . $uri . "?" . $canonicalized_query . "&Signature=" . $signature; $response = $this->getPage($request); $pxml = @simplexml_load_string($response); if ($pxml === False) { return False;// no xml } else { return $pxml; } } } // Region code and Product ASIN //$response = getAmazonPrice("in", "B00DGTOUEY"); ?>