|
@@ -87,9 +87,16 @@ class WxpayV2{
|
|
|
}
|
|
}
|
|
|
//组装支付参数
|
|
//组装支付参数
|
|
|
$payInfo=array();
|
|
$payInfo=array();
|
|
|
- $data=$this->v2makeSign(["appId"=>$this->config["APPID"],"prepay_id"=>$resuleAr["prepay_id"]]);
|
|
|
|
|
- $data["payData"] = $params;
|
|
|
|
|
- return $data;
|
|
|
|
|
|
|
+// $data=$this->v2makeSign(["appId"=>$this->config["APPID"],"prepay_id"=>$resuleAr["prepay_id"]]);
|
|
|
|
|
+
|
|
|
|
|
+ $info['appId'] = $this->config["APPID"];
|
|
|
|
|
+ $info['timeStamp'] = time();
|
|
|
|
|
+ $info['nonceStr'] = Formatter::nonce(); //生成随机数,下面有生成实例,统一下单接口需要
|
|
|
|
|
+ $info["package"] = "prepay_id=".$resuleAr["prepay_id"];
|
|
|
|
|
+ $info['signType'] = 'MD5';
|
|
|
|
|
+ $info['paySign'] = $this->MakeSign2($info);
|
|
|
|
|
+
|
|
|
|
|
+ return $info;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public function v2makeSign($info){
|
|
public function v2makeSign($info){
|
|
@@ -109,6 +116,32 @@ class WxpayV2{
|
|
|
return $params;
|
|
return $params;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public function MakeSign2($values) {
|
|
|
|
|
+ //签名步骤一:按字典序排序参数
|
|
|
|
|
+ ksort($values);
|
|
|
|
|
+ $string = $this->ToUrlParams($values);
|
|
|
|
|
+ //签名步骤二:在string后加入KEY
|
|
|
|
|
+ $string = $string . "&key=" . $this->config["ApiV2Key"];
|
|
|
|
|
+ //签名步骤三:MD5加密
|
|
|
|
|
+ $string = md5($string);
|
|
|
|
|
+ //签名步骤四:所有字符转为大写
|
|
|
|
|
+ $result = strtoupper($string);
|
|
|
|
|
+ return $result;
|
|
|
|
|
+ }
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 参数数组转换为url参数
|
|
|
|
|
+ * @param array $urlObj
|
|
|
|
|
+ */
|
|
|
|
|
+ private function ToUrlParams($urlObj) {
|
|
|
|
|
+ $buff = "";
|
|
|
|
|
+ foreach ($urlObj as $k => $v) {
|
|
|
|
|
+ $buff .= $k . "=" . $v . "&";
|
|
|
|
|
+ }
|
|
|
|
|
+ $buff = trim($buff, "&");
|
|
|
|
|
+ return $buff;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 查询订单
|
|
* 查询订单
|
|
|
* @param type $out_trade_no 商户订单号
|
|
* @param type $out_trade_no 商户订单号
|