|
@@ -605,7 +605,7 @@ class WechatService
|
|
|
|
|
|
|
|
// 使用动态时间戳
|
|
// 使用动态时间戳
|
|
|
$current_timestamp = time();
|
|
$current_timestamp = time();
|
|
|
-
|
|
|
|
|
|
|
+ $contract_code = preg_replace("/[^0-9]/", "", $contract_code);
|
|
|
$params = [
|
|
$params = [
|
|
|
'appid' => 'wx5681205d1ef4d9d3',
|
|
'appid' => 'wx5681205d1ef4d9d3',
|
|
|
'mch_id' => $mch_id,
|
|
'mch_id' => $mch_id,
|
|
@@ -623,7 +623,7 @@ class WechatService
|
|
|
|
|
|
|
|
// 关键步骤2:对需要URL编码的参数值进行编码(签名前)
|
|
// 关键步骤2:对需要URL编码的参数值进行编码(签名前)
|
|
|
// $params['contract_display_account'] = urlencode($params['contract_display_account']);
|
|
// $params['contract_display_account'] = urlencode($params['contract_display_account']);
|
|
|
- $params['notify_url'] = urlencode($params['notify_url']);
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
// 步骤3:参数按ASCII排序
|
|
// 步骤3:参数按ASCII排序
|
|
|
ksort($params);
|
|
ksort($params);
|
|
@@ -638,7 +638,8 @@ class WechatService
|
|
|
// 关键步骤5:正确生成HMAC-SHA256签名
|
|
// 关键步骤5:正确生成HMAC-SHA256签名
|
|
|
$sign = strtoupper(hash_hmac('sha256', $stringSignTemp, '')); // 注意:第三个参数为空字符串
|
|
$sign = strtoupper(hash_hmac('sha256', $stringSignTemp, '')); // 注意:第三个参数为空字符串
|
|
|
$params['sign'] = $sign;
|
|
$params['sign'] = $sign;
|
|
|
-
|
|
|
|
|
|
|
+ $params['notify_url'] = urlencode($params['notify_url']);
|
|
|
|
|
+ $params['contract_display_account'] = urlencode($params['contract_display_account']);
|
|
|
// 构建最终URL
|
|
// 构建最终URL
|
|
|
$queryString = "";
|
|
$queryString = "";
|
|
|
foreach ($params as $k => $v) {
|
|
foreach ($params as $k => $v) {
|