예제 #1
0
 /**
  * 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;
     }
 }
예제 #2
0
 /**
  * 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;
     }
 }