Esempio n. 1
0
 private function config_jsdz()
 {
     $this->db = System::load_sys_class('model');
     $param = array("version" => "1.0", "token" => "", "merchantNum" => ConfigUtil::get_val_by_key('merchantNum'), "merchantRemark" => $this->config['shouname'], "tradeNum" => $this->config['code'], "tradeName" => $this->config['title'], "tradeDescription" => $this->config['title'], "tradeTime" => date('Y-m-d H:i:s', time()), "tradeAmount" => $this->config['money'] * 100, "currency" => "CNY", "notifyUrl" => $this->config['NotifyUrl'], "successCallbackUrl" => $this->config['ReturnUrl'], "failCallbackUrl" => $this->config['ReturnUrl']);
     $sign = SignUtil::sign($param);
     $param["merchantSign"] = $sign;
     if ($param["version"] == "1.0") {
         //敏感信息未加密
     } else {
         if ($param["version"] == "2.0") {
             //敏感信息加密
             //获取商户 DESkey
             //对敏感信息进行 DES加密
             $desUtils = new DesUtils();
             $key = ConfigUtil::get_val_by_key("desKey");
             $param["merchantRemark"] = $desUtils->encrypt($param["merchantRemark"], $key);
             $param["tradeNum"] = $desUtils->encrypt($param["tradeNum"], $key);
             $param["tradeName"] = $desUtils->encrypt($param["tradeName"], $key);
             $param["tradeDescription"] = $desUtils->encrypt($param["tradeDescription"], $key);
             $param["tradeTime"] = $desUtils->encrypt($param["tradeTime"], $key);
             $param["tradeAmount"] = $desUtils->encrypt($param["tradeAmount"], $key);
             $param["currency"] = $desUtils->encrypt($param["currency"], $key);
             $param["notifyUrl"] = $desUtils->encrypt($param["notifyUrl"], $key);
             $param["successCallbackUrl"] = $desUtils->encrypt($param["successCallbackUrl"], $key);
             $param["failCallbackUrl"] = $desUtils->encrypt($param["failCallbackUrl"], $key);
         }
     }
     $cbjpaySubmit = new CbjpaySubmit($param);
     $this->url = $cbjpaySubmit->buildRequestForm($param, 'POST', 'submit');
 }
Esempio n. 2
0
 public static function get_trade_num()
 {
     return ConfigUtil::get_val_by_key('merchantNum') . ConfigUtil::getMillisecond();
 }
Esempio n. 3
0
 /**
  *网银在线网关地址
  */
 function __construct($cbpay_config)
 {
     $this->cbpay_config = $cbpay_config;
     $this->cbjpay_gateway_new = ConfigUtil::get_val_by_key('serverPayUrl');
 }
Esempio n. 4
0
        }
        // 验签成功,业务处理
        // 对Data数据进行解密
        $des = new DesUtils();
        // (秘钥向量,混淆向量)
        $decryptArr = $des->decrypt($params['DATA'][0], $desKey);
        // 加密字符串
        $log_->log_result("对<DATA>进行解密得到的数据:" . $decryptArr);
        $params['data'] = $decryptArr;
        $log_->log_result("最终数据:" . json_encode($params));
        $log_->log_result("**********接收异步通知结束。**********\n\n");
        return 200;
    }
}
$MD5_KEY = ConfigUtil::get_val_by_key("md5Key");
$DES_KEY = ConfigUtil::get_val_by_key("desKey");
/**
 * 测试列子 
 */
//start
$testString = "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxDSElOQUJBTks+DQogICAg\n\n            PFZFUlNJT04+MS4yLjA8L1ZFUlNJT04+DQogICAgPE1FUkNIQU5UPjIyMzEyNzgxPC9NRVJDSEFO\n\n            VD4NCiAgICA8VEVSTUlOQUw+MDAwMDAwMDE8L1RFUk1JTkFMPg0KICAgIDxEQVRBPkJiQ2NzeVUx\n\n            L3kyMjlIeXZ4RFQ1Rm1SVnVjSFRXUFJqaGhyWmViRW1wTVAvL2xjdW04cjBRdVhGcjZPeDY5NXdN\n\n            dEYwblMwWHhjYVYKOVNoMWdrYU16dVJHQXorcytjOWhYREVnMUFXNVNUY3lRM0c3UTZKdzlBajJM\n\n            V0ZpelQ5cUNRYXVqT1FQT3RPWjIyRWF2RzZzNVJYLwo4c3AzYlJKa3hKNnpDYlQ3ckw0anNJZm9G\n\n            T05BdDBIV1VYUUpiazRBa3NlK1d3emNybU5QUDVzMVcyckRPUnA5Z3cwcVVhVW9DZmdNCk5LSGNY\n\n            Ymx2ZVZlVmNZeHlBMHJrRk9xNnFIV0tybEhqRGdqVWl0dFJZQU9CYlA0TDJDSTVvK3dMQzNpV1Z5\n\n            NmVpTHd2QnNJeWM3amwKU2NhanNaTkgxeDlPbUhUVitXWFA1ejBlejdYb0U1SGJUaDBmckdaeERZ\n\n            U2wwZlQvMnkvUDFpbnlrVUpwQktiVnA3c2w4NVVyZjVTcgpZZGM0VzA0QXdJajI0NnBpOW1KUHU2\n\n            d0w2bG5VV24zdXpjT2xDRUxpWkJ6OTJueXI3anlYeXIzR05Ha0VwdFdudXlYenhXV3AzMW8zCmNm\n\n            MFkwWTMrMGJjbm5BPT08L0RBVEE+DQogICAgPFNJR04+YzhhYTc1NGVmZjQ5MzIyNmYzNzU4NTJk\n\n            MGFmNTlmMmU8L1NJR04+DQo8L0NISU5BQkFOSz4NCg0K";
if (isset($_POST["resp"])) {
    $w = new WebAsynNotificationCtrl();
    $w->execute($MD5_KEY, $DES_KEY, $_POST["resp"]);
} else {
    $webAsynNotificationCtrl = new WebAsynNotificationCtrl();
    $webAsynNotificationCtrl->execute($MD5_KEY, $DES_KEY, $testString);
    //end
}
?>
Esempio n. 5
0
 public function houtai()
 {
     $resp = $_REQUEST['resp'];
     if (null == $resp) {
         return;
     }
     $desKey = ConfigUtil::get_val_by_key("desKey");
     $md5Key = ConfigUtil::get_val_by_key("md5Key");
     $params = $this->xml_to_array(base64_decode($resp));
     $ownSign = $this->generateSign($params, $md5Key);
     $params_json = json_encode($params);
     if ($params['SIGN'][0] == $ownSign) {
         // 验签正确
         //echo "签名验证正确!" . "\n";
         $des = new DesUtils();
         // (秘钥向量,混淆向量)
         $decryptArr = $des->decrypt($params['DATA'][0], $desKey);
         // 加密字符串
         $params['data'] = $decryptArr;
         $respone = $this->xml_to_array($decryptArr);
         if ($respone['RETURN']['code'] == '0000' || $respone['RETURN']['DESC'] == '成功') {
             //数据库操作
             $v_oid = $respone['TRADE']['ID'];
             $this->db->Autocommit_start();
             $dingdaninfo = $this->db->GetOne("select * from `@#_member_addmoney_record` where `code` = '{$v_oid}' and `status` = '未付款' for update");
             if (!$dingdaninfo) {
                 return;
             }
             //没有该订单,失败
             $c_money = intval($dingdaninfo['money']);
             $j_num = intval($c_money / 100);
             $uid = $dingdaninfo['uid'];
             $time = time();
             $up_q1 = $this->db->Query("UPDATE `@#_member_addmoney_record` SET `pay_type` = '京东支付手机', `status` = '已付款' where `id` = '{$dingdaninfo['id']}' and `code` = '{$dingdaninfo['code']}'");
             $up_q2 = $this->db->Query("UPDATE `@#_member` SET `money` = `money` + {$c_money},`jiangnum`=`jiangnum`+{$j_num} where (`uid` = '{$uid}')");
             $up_q3 = $this->db->Query("INSERT INTO `@#_member_account` (`uid`, `type`, `pay`, `content`, `money`, `time`) VALUES ('{$uid}', '1', '账户', '京东支付手机', '{$c_money}', '{$time}')");
             if ($up_q1 && $up_q2 && $up_q3) {
                 $this->db->Autocommit_commit();
             } else {
                 $this->db->Autocommit_rollback();
                 return;
             }
             if (empty($dingdaninfo['scookies'])) {
                 //充值完成
                 return;
             }
             $scookies = unserialize($dingdaninfo['scookies']);
             $pay = System::load_app_class('pay', 'pay');
             $pay->scookie = $scookies;
             $ok = $pay->init($uid, $pay_type['pay_id'], 'go_record');
             //闪购商品
             if ($ok != 'ok') {
                 _setcookie('Cartlist', NULL);
                 //商品购买失败
                 return;
             }
             $check = $pay->go_pay(1);
             if ($check) {
                 $this->db->Query("UPDATE `@#_member_addmoney_record` SET `scookies` = '1' where `code` = '{$v_oid}' and `status` = '已付款'");
                 _setcookie('Cartlist', NULL);
                 return;
             } else {
                 return;
             }
         } else {
             return;
         }
     } else {
         //echo "签名验证错误!" . "\n";
         return;
     }
 }