Ejemplo 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');
 }
Ejemplo n.º 2
0
 public static function sign($params)
 {
     ksort($params);
     $sourceSignString = SignUtil::signString($params, SignUtil::$unSignKeyList);
     $sha256SourceSignString = hash("sha256", $sourceSignString);
     return RSAUtils::encryptByPrivateKey($sha256SourceSignString);
 }
Ejemplo n.º 3
0
 /**
  *V4.0 获取商户结果通知平台请求商户数据
  * @param $map 请求数据
  * @return	HashMap
  */
 public static function getSplitMerRefundNotifyReqData($map)
 {
     $log = new Logger();
     if ($map == null || $map->size() == 0) {
         die("获取通知数据失败:待解析的数据对象为空!");
     }
     $plain = self::getSplitMerRefundNotifyPlain($map);
     $plain = iconv("UTF-8", "GBK", $plain);
     $log->logInfo("getSplitMerRefundNotifyReqData plain=[" . $plain . "]");
     $sign = $map->get("sign");
     $log->logInfo("getSplitMerRefundNotifyReqData sign=" . $sign);
     //进行请求数据验签
     $checked = SignUtil::verify($plain, $sign);
     if (!$checked) {
         die("支付结果通知平台请求数据验签失败!");
     }
     return $map;
 }
Ejemplo n.º 4
0
<?php 
require_once 'common.php';
SignUtil::verify("mer_date=20120110&mer_id=9995&order_id=10002417&ret_code=0000&version=4.0", "LZRUM0FfsqgcCiwHXghFGKfz0+xWFPGUGNXVaj7kcJPY2iOopiIQXwsc4kIeFIc0nttIx29KCvbuPxJJ0uHU5wJbRAzxH8H8cHGMVahTny4joll9zSXatep3jSAa4RE2BovMkIxYzif6tTCf7DMAlD+dDMZ6oRJDGW7rFxJh4G0=");
?>

Ejemplo n.º 5
0
 /**
  * 4.0接口商户响应平台支付结果通知(商户到平台,直连网银)检查数据字段合法性并生成签名明文串
  * @param $map
  * @return 商户响应平台数据
  */
 public static function notifySplitMerRefundResData($map)
 {
     $plain = NotifyResData::getSplitMerRefundNotifyResDataPlain($map);
     $sign = SignUtil::sign($plain);
     $plain = StringUtil::getSortParameter($map);
     return $plain . "&sign=" . $sign;
 }
Ejemplo n.º 6
0
 /**
  * 4.0获取签名密文串
  * @param $map
  * @param $funcode
  */
 private function getSignData($map)
 {
     $log = new Logger();
     $plain = $this->getSortPlain($map);
     $merId = $map->get('mer_id');
     $log->logInfo("Participate in the signature parameters:[" . $plain . "],Merchant number is:[" . $merId . "]");
     $sign = SignUtil::sign2($plain, $merId);
     return $sign;
 }
$map->put("canModifyFlag", $canModifyFlag);
$identityCode = "";
$cardHolder = "";
if ($_REQUEST['identity_Code'] != "" && $_REQUEST['card_Holder'] != "") {
    //对身份证号和姓名进行加密。该方法需要引用到php加密相关方法。
    $identityCode = urlencode(RSACryptUtil::encrypt(iconv("UTF-8", "GBK", $identity_Code)));
    $cardHolder = urlencode(RSACryptUtil::encrypt(iconv("UTF-8", "GBK", $card_Holder)));
} else {
    $identityCode = $identity_Code;
    $cardHolder = $card_Holder;
}
//单独对身份证号和姓名进行加密处理。
$retUrl = "";
$retUrl = urlencode($ret_url);
//对前台返回url地址进行url编码。
$sign = urlencode(SignUtil::sign2("merId" . "=" . $merId . "&" . "merCustId" . "=" . $merCustId, $merId));
//注:需要签名的参数范例:merId=9995&merCustId=123456
//生成请求所需签名
$plain = "&merId=" . $merId . "&merCustId=" . $merCustId . "&retUrl=" . $retUrl . "&signType=" . $signType . "&identityType=" . $identityType . "&identityCode=" . $identityCode . "&cardHolder=" . $cardHolder . "&payType=" . $payType . "&gateId=" . $gateId . "&mobileId=" . $mobileId . "&canModifyFlag=" . $canModifyFlag;
//生成请求的字符串。
$wap_url = "https://m.soopay.net/q/xhtml/protIndex.do?" . $plain . "&sign=" . $sign;
$html5_url = "https://m.soopay.net/q/html5/protIndex.do?" . $plain . "&sign=" . $sign;
?>

  <body>
	<div id="HEADA"><?php 
include "./head.php";
?>
</div>
	<div id="MAINA">
		<div class="mindexa">