From 69bd7f608694d45e256bd82cb88a74b5b357a332 Mon Sep 17 00:00:00 2001 From: dutsc <1020018707@qq.com> Date: Thu, 14 Sep 2023 16:19:37 +0800 Subject: [PATCH] test message --- mobile/source/helpers/dalianpay/demo/dalianpay.php | 7 +- mobile/testsc.php | 137 ++++++++------------- 2 files changed, 56 insertions(+), 88 deletions(-) diff --git a/mobile/source/helpers/dalianpay/demo/dalianpay.php b/mobile/source/helpers/dalianpay/demo/dalianpay.php index a2b403f..faac9cc 100644 --- a/mobile/source/helpers/dalianpay/demo/dalianpay.php +++ b/mobile/source/helpers/dalianpay/demo/dalianpay.php @@ -61,8 +61,11 @@ class dalianpay{ ); // 解析响应报文 - $response = json_decode($response, true); - return $response; + $jsonString = urldecode($response); + + // 解码 Base64 + $decodedString = base64_decode($jsonString); + $response = json_decode($decodedString, true); $response_data_crypted = $response['data']; $response_sign = $response['sign']; // echo "\r\n"; diff --git a/mobile/testsc.php b/mobile/testsc.php index 3c91d10..3d7f53d 100644 --- a/mobile/testsc.php +++ b/mobile/testsc.php @@ -1,89 +1,54 @@ - - - - JS SDK - - +ticket; - } - - // 获取access_token - function get_access_token() { - $appid = 'wx79343915f99167e6'; - $appsecret = 'f2f72c5e0ac29c2373bfaf22cf059c02'; - $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret; - $result = file_get_contents($url); - $obj = json_decode($result); - return $obj->access_token; - } - // 获取当前页面URL - function get_current_url() { - $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https://' : 'http://'; - $url = $protocol.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; - return $url; - } +$json_string = '{"data":"F%2Fa5XWeJ%2FDbJzgS3f8dhNekfmVSNhpdBHhg0T5M1rBzECf6Gdtu2Xmv24ZPySqG94%2B%2B3IfDLJEOCoqHPdeh90chbVPcDSvhoGpnzvlWVjf3L60s62qytrECC4wu%2FD9b1HDdxYheJYeBGouqbjO8wtd%2B8yebnOwYdSwrTSoMnSUDJOZSYAcIDDpUkqhA9Th8BNYcNsjYMz%2FIUk4a%2BcZtDDdhZXzPoMuRDJ73svxu2LD%2FNmetgi0F8K3tMG4zItopQTxksjVMQEdOI15iOaI9YTChSL63mw54fGM4J%2FiaVtRI0GiPMklXJriS%2F4v47Zsyknbucz3ze3wTRghcMO%2Bm2vI4R7XfaPFYSgiW8LLEix2dEY5Eo1enCafC%2BYXQpIXJsfDdkoOlKMmSBenJ7s854PC2%2B7aEGsaEYto1Qyn3f%2B7U6l7J6bsVSX0ep%2FSE9dw77okt7Qpq5WgLoQzfx7dLihfAZsxktYii4wNXkYcSMdSS%2F48EucrlcUAkmk8vcMfsXAuL6yOE89EIYRmWdThzFBwx24ql7bFkIlmq0KqRrgv%2FkoMXAG%2B1znJwifGKLN04e%2F7TU6vrJHo1FmOy%2F%2BBd54vzwWrBFSm%2BOs00CE0viPq7kcyONjI61%2BTlzEFVjIBEM93oE33P6cEXPvp8u03fG86dcwaxQIuv5ROhL48nijIlnziEw0S6Z036ZKOQo62fk8O2meUAmgyUzFizbeVIVBRbwpwHHNDfetsxhb9KlY1%2FDyzPzagjUhh%2BhcN4me7axkWmVPpDJNwvprjA5CAiJGV80TySVaDRDLoFBo1%2BiHFEZpT1HVrTINYjs%2BhSLgX8bAHGWcYSA6zcDhKdYU4T5La8sc9pba9htymueXHR5W6L5cBhO4SbfyYGSChatKG1YIAKsgJ85aEHnURjKIL6LxyJ%2BEeCpg7RD56ZvNrktbm%2Fkq%2FFEidfPTUqcHpm07DnrR67tc2WsN36ock7Uk73sUP3R9tUMjQwAuvcZu33Qs5FAm7CSkJfbZPXkCFln%2Be82f9%2FPYo0%2F%2F9NQQFwErQfqZ4P3uJMyQwXZ5NHKwR05AJJ0BHveAmIMc7P0lSM0194pZumaadSfyo3%2FUqxz2MUBmwAd4x2kgQJ0fCMAV6cL%2BSWc1z1ctGSJsei%2FauhHXoA22pdZr051VS8Vi%2B3GCex7tSB6Pv%2B9EQDiQWfAUc76xA6s3aDXcwU4a4s9oRE5xk4%2FHmZi4v1cVflDSGrd%2ByqYxmA7GHwrMSUUyOuotgiVuLL%2FJQ4%2FyZrpxrp9YCwEm3jF6XYg%2Fnr40oBr7p0AF4J%2BIcTmKoY5I8D700N0DjtvUrGww4%2FhhjiJxNWJ7x7I0M9sHwJMqoFrcyZWkeniFaj1RQ%3D%3D","sign":"ZPYR8S4JaHUEOukAg7xD9RAlO7PsK7mfJT6TCHHPvujMI56I1Hto3+NmMtoPMCoPQ/gXh7RGW1wGGzFOJuDGib+0CosVF9fNW++vGWoxxoB7Nk+EGHI+1zTAPzQ1o0OlWARtm5ux9Lo4/tPaoYtjnhjFO8xkpUbJLgVgmN/cWh1ng5uboH8wTO7F423jnGGH+Aq7Vkqrz2zMu4S6bZ/uqvKV/6CLmHNuzCo2xHHi9/n/2yhECnv7tfUcZ8l8/lDsniJ3ycxAEaRrSur2kbcBxMFa5vyDryW/aLiSGgSe6eQERIFlx5yRaQjqagS2TceoqY7CeviyS7KWX7PCaCDYHQ==","orgid":"100018380507D2C"}'; +$jsonString = urldecode($json_string); - // 生成签名 - function get_signature($jsapi_ticket, $nonceStr, $timestamp, $url) { - $string = "jsapi_ticket=".$jsapi_ticket."&noncestr=".$nonceStr."×tamp=".$timestamp."&url=".$url; - return sha1($string); - } - // 设置JS-SDK配置参数 - $jsapi_ticket = get_jsapi_ticket(); // 获取jsapi_ticket - $nonceStr = "sdafsrtyw8u"; // 生成随机字符串 - $timestamp = time(); // 获取时间戳 - $url = get_current_url(); // 获取当前页面URL - $signature = get_signature($jsapi_ticket, $nonceStr, $timestamp, $url); // 获取签名 - $config = array( - 'appId' => 'wx79343915f99167e6', - 'timestamp' => $timestamp, - 'nonceStr' => $nonceStr, - 'signature' => $signature, - 'jsApiList' => array('chooseWXPay'), - ); - // 初始化JS-SDK - echo ''; - - ?> - - - - // - // - - - \ No newline at end of file +// 解析 JSON +$response = json_decode($decodedString, true); +echo $response; + +require_once(BASE_PATH . 'helpers/dalianpay/library/Base.php'); +$Base = new Base(); + +// 获取配置信息 +$config = $Base->getConfig(); +// var_dump('
', $config);
+
+// 接口URL
+$api_url = $config['query_url'];
+
+// 组装交易报文
+$reqsn_prefix = date('Ymd');
+$trade_data = array(
+    'orgid' => $config['org_num'],
+    'cusid' => $config['cusid'],
+    'version' => $config['version'],
+    // 'reqsn' => '2023072464be320f45f2a',
+    'trxid' => '', // 渠道交易流水号 如果返回的有 优先使用
+    'randomstr' => md5( uniqid() ),
+);
+
+// 解析响应报文
+
+
+$response_data_crypted = $response['data'];
+$response_sign = $response['sign'];
+// echo "\r\n";
+// echo "[response sign]: {$response_sign}";
+// echo "\r\n";
+// echo "[response data (ciphertext)]: {$response_data_crypted}";
+
+// 解密响应密文
+$response_data = $Base->Crypt->decryptTradeData($response_data_crypted);
+if($response_data === false)
+{
+    return $Base->Crypt->err_msg;
+    die();
+}
+return $response_data;
+
+?>