id = $_id; $this->name = $_name; $this->tprice = $_tprice; $this->uprice = $_uprice; $this->option = $_option; $this->count = $_count; } function makeQueryString() { $ret .= 'ITEM_ID=' . urlencode($this->id); $ret .= '&ITEM_NAME=' . urlencode($this->name); $ret .= '&ITEM_COUNT=' . $this->count; $ret .= '&ITEM_OPTION=' . urlencode($this->option); $ret .= '&ITEM_TPRICE=' . $this->tprice; $ret .= '&ITEM_UPRICE=' . $this->uprice; return $ret; } }; $shopId = $checkout['shop_id']; $certiKey = $checkout['certi_key']; /* $shippingType = 'PAYED'; if ($shippingType == 'PAYED') { $shippingPrice = 2500; } else { $shippingPrice = 0; } */ // 상품페이지와 장바구니에서 전달된것을 구분한다. if ($_POST['naver_checkout'] == 'item') { $backUrl = "$g4[shop_url]/item.php?it_id=".$_POST[it_id]; } else { $backUrl = "$g4[shop_url]/cart.php"; } $backUrl = urlencode($backUrl); $queryString = 'SHOP_ID='.urlencode($shopId); $queryString .= '&CERTI_KEY='.urlencode($certiKey); //$queryString .= '&SHIPPING_TYPE='.$shippingType; //$queryString .= '&SHIPPING_PRICE='.$shippingPrice; $queryString .= '&RESERVE1=&RESERVE2=&RESERVE3=&RESERVE4=&RESERVE5='; $queryString .= '&BACK_URL='.$backUrl; /* Array ( [it_id] => 7709925513 [it_name] => 수제/소가죽_지오셔링 태슬 앵글부티 10cm [sw_direct] => [url] => [it_opt1] => 225mm [it_opt1_subject] => 사이즈 [it_opt3] => 연브라운 [it_opt3_subject] => 색상 [it_opt5] => 보통 [it_opt5_subject] => 볼넓이 [disp_sell_amount] => 74,000 [it_amount] => 74000 [disp_point] => 740 [it_point] => 740 [ct_qty] => 1 ) */ // 한개의 상품만 넘어오는 경우 배열로 인식하게 만든다. if (!is_array($_POST['it_id'])) { //$_POST[0] = $_POST; //$_POST = array_values($_POST); $p = array(); foreach($_POST as $key=>$value) { $p[$key][] = $value; } unset($_POST); $_POST = $p; } //print_r2($_POST); $totalMoney = 0; //DB와 장바구니에서 상품 정보를 얻어 온다. //while(...) { for ($i=0; $imakeQueryString(); */ $id = $_POST['it_id'][$i]; $sql = " select it_name from $g4[yc4_item_table] where it_id = '$id' "; $row = sql_fetch($sql); /* $arr_option = array(); $opt_amount = 0; $it = sql_fetch($sql); for ($j=1; $j<=6; $j++) { $dst_opt = trim($_POST["it_opt".$j][$i]); if (strtolower($g4['charset']) == 'euc-kr') $dst_opt = iconv("utf-8", "euc-kr", rawurldecode($dst_opt)); if ($dst_opt) { $org_opt = $it["it_opt".$j]; $exp_opt = explode("\n", trim($org_opt)); $exists = false; for ($k=0; $kmakeQueryString(); } $send_cost=0; // 배송비 계산 if($default['de_send_cost_case']=='상한') { // 배송비 상한 : 여러단계의 배송비 적용 가능 $send_cost_limit=explode(';',$default['de_send_cost_limit']); $send_cost_list=explode(';',$default['de_send_cost_list']); $send_cost=0; for($k=0; $k\n"); $req_addr = 'ssl://'.$checkout['domain']; if (strtolower($g4['charset']) == 'utf-8') $req_url = 'POST /customer/api/order.nhn HTTP/1.1'; // utf-8 else $req_url = 'POST /customer/api/CP949/order.nhn HTTP/1.1'; // euc-kr $req_host = $checkout['domain']; $req_port = 443; $nc_sock = @fsockopen($req_addr, $req_port, $errno, $errstr); if ($nc_sock) { fwrite($nc_sock, $req_url."\r\n" ); fwrite($nc_sock, "Host: ".$req_host.":".$req_port."\r\n" ); if (strtolower($g4['charset']) == 'utf-8') fwrite($nc_sock, "Content-type: application/x-www-form-urlencoded; charset=utf-8\r\n"); else fwrite($nc_sock, "Content-type: application/x-www-form-urlencoded; charset=CP949\r\n"); fwrite($nc_sock, "Content-length: ".strlen($queryString)."\r\n"); fwrite($nc_sock, "Accept: */*\r\n"); fwrite($nc_sock, "\r\n"); fwrite($nc_sock, $queryString."\r\n"); fwrite($nc_sock, "\r\n"); // get header while(!feof($nc_sock)){ $header=fgets($nc_sock,4096); if($header=="\r\n"){ break; } else { $headers .= $header; } } // get body while(!feof($nc_sock)){ $bodys.=fgets($nc_sock,4096); } fclose($nc_sock); $resultCode = substr($headers,9,3); if ($resultCode == 200) { // success $orderId = $bodys; } else { // fail echo $bodys; } } else { echo "$errstr ($errno)
\n"; exit(-1); //에러처리 } //리턴받은 order_id로 주문서 page를 호출한다. //echo ($orderId."
\n"); $orderUrl = "https://{$checkout['domain']}/customer/order.nhn"; //$orderUrl = "https://test-checkout.naver.com/customer/order.nhn"; //exit; ?>