/** * sendToCvdメソッド * * コンビニダイレクト決済の申込処理 * * @param array $orderingData 注文データ * @param array $userData ユーザーデータ * @param array $param 申し込みパラメータ * @param boolean $isMobile モバイルフラグ * * @return boolean 成功:true 失敗:false */ function sendToCvd($orderingData, $userData, $param, $isMobile) { if (!$orderingData or !$userData or !$param) { return false; } //申込に必要な値を準備 if (!($sid = $this->getSid())) { $this->_errorMsg[] = "認証用IDが発行できません。"; return false; } $postDataAry[] = "SID=" . $sid; //名前は全角 $postDataAry[] = "NAME1=" . mb_convert_kana($param["name1"], "AHKNSR", "UTF-8"); $postDataAry[] = "NAME2=" . mb_convert_kana($param["name2"], "AHKNSR", "UTF-8"); //電話番号 $postDataAry["TEL"] = "TEL=" . $param["telno"]; //申請住所も全角 //表記会社の住所で申請 $postDataAry["ADR1"] = "ADR1=" . mb_convert_kana(self::CVD_ADR, "AHKNSR", "UTF-8"); //メールアドレスセット if ($isMobile) { $postDataAry["MAIL"] = "MAIL=" . ($userData["mb_address"] ? $userData["mb_address"] : $userData["pc_address"]); } else { $postDataAry["MAIL"] = "MAIL=" . ($userData["pc_address"] ? $userData["pc_address"] : $userData["mb_address"]); } //通信パラメータ $postDataAry["IP"] = "IP=" . self::CVD_IP; $postDataAry["K1"] = "K1=" . $orderingData["pay_total"]; $postDataAry["N1"] = "N1=" . "商品購入代金"; $postDataAry["STORE"] = "STORE=" . $param["cv_cd"]; $postDataAry["FUKA"] = "FUKA=" . $orderingData["id"]; $postDataString = implode("&", $postDataAry); //シフトJISに変換 $encodePostData = mb_convert_encoding($postDataString, "sjis-win", "auto"); parse_str($encodePostData, $postData); $return[] = "ok"; // 決済URL取得 $url = self::CVD_URL; $httpParam = array("maxredirects" => 1, "timeout" => 30); // http通信 $ComHttpOBJ = new ComHttp($url, $httpParam); $ComHttpOBJ->setParameterGet($postData); $result = $ComHttpOBJ->request("GET"); if ($result->isSuccessful()) { $return = $result->getBody(); if (preg_match("/OK/", $return)) { //申込結果をセット if (!$this->insertCvdData($orderingData, $userData, $return, $postDataString)) { return false; } return true; } else { return false; } } else { return false; } }
/** * sendToEdyメソッド * * デジタルチェックEdy決済の申込処理 * * @param array $orderingData 注文データ * @param array $userData ユーザーデータ * * @return boolean 成功:true 失敗:false */ function sendToEdy($orderingData, $userData) { if (!$orderingData or !$userData) { return false; } //申込に必要な値を準備 if (!($sid = $this->getSid())) { $this->_errorMsg[] = "認証用IDが発行できません。"; return false; } //通信パラメータ $postDataAry["IP"] = "IP=" . self::EDY_IP; $postDataAry["SID"] = "SID=" . $sid; $postDataAry["N1"] = "N1=商品購入代金"; $postDataAry["K1"] = "K1=" . $orderingData["pay_total"]; $postDataAry["FUKA"] = "FUKA=" . $orderingData["id"]; $postDataAry["STORE"] = "STORE=" . self::EDY_STORE_MB; $postDataAry["MAIL"] = "MAIL=" . $userData["mb_address"]; $postDataString = implode("&", $postDataAry); //シフトJISに変換 $encodePostData = mb_convert_encoding($postDataString, "sjis-win", "auto"); parse_str($encodePostData, $postData); // 決済URL取得 $url = self::EDY_URL_MB; $httpParam = array("maxredirects" => 1, "timeout" => 30); // http通信 $ComHttpOBJ = new ComHttp($url, $httpParam); $ComHttpOBJ->setParameterGet($postData); $result = $ComHttpOBJ->request("GET"); if ($result->isSuccessful()) { $return = $result->getBody(); if (preg_match("/OK/", $return)) { //申込結果をセット if (!$this->insertEdyData($orderingData, $userData, $postDataString)) { return false; } return true; } else { return false; } } else { return false; } }