Browse Source

test message

master
dutsc 3 years ago
parent
commit
69bd7f6086
  1. 7
      mobile/source/helpers/dalianpay/demo/dalianpay.php
  2. 137
      mobile/testsc.php

7
mobile/source/helpers/dalianpay/demo/dalianpay.php

@ -61,8 +61,11 @@ class dalianpay{
); );
// 解析响应报文 // 解析响应报文
$response = json_decode($response, true); $jsonString = urldecode($response);
return $response;
// 解码 Base64
$decodedString = base64_decode($jsonString);
$response = json_decode($decodedString, true);
$response_data_crypted = $response['data']; $response_data_crypted = $response['data'];
$response_sign = $response['sign']; $response_sign = $response['sign'];
// echo "\r\n"; // echo "\r\n";

137
mobile/testsc.php

@ -1,89 +1,54 @@
<!DOCTYPE html> <?php
<html> session_start();
<head>
<title>JS SDK</title>
</head>
<body>
<?php $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"}';
function get_jsapi_ticket() { $jsonString = urldecode($json_string);
$access_token = get_access_token(); // 获取access_token
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=".$access_token;
$result = file_get_contents($url);
$obj = json_decode($result);
return $obj->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;
}
// 生成签名 // 解码 Base64
function get_signature($jsapi_ticket, $nonceStr, $timestamp, $url) { $decodedString = base64_decode($jsonString);
$string = "jsapi_ticket=".$jsapi_ticket."&noncestr=".$nonceStr."&timestamp=".$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 '<script type="text/javascript">';
echo 'wx.config('.json_encode($config).');';
echo '</script>';
?>
<!-- 引入微信JS SDK -->
<script type="text/javascript">
define = null;
require = null;
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
// <script src="http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
// <script src="https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
<script>
wx.login({
success: function(res) {
if (res.code) {
// 发送code到后端服务器获取openid
$.ajax({
url: 'test_get_openid.php',
data: {code: res.code},
success: function(data) {
// 获取用户openid并处理支付请求
var openid = data.openid;
console.log(openid);
// ...
},
error: function(jqXHR, textStatus, errorThrown) {
console.error('Error:', errorThrown);
} // 解析 JSON
}); $response = json_decode($decodedString, true);
} echo $response;
}
}); require_once(BASE_PATH . 'helpers/dalianpay/library/Base.php');
</script> $Base = new Base();
</body>
</html> // 获取配置信息
$config = $Base->getConfig();
// var_dump('<pre>', $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;
?>

Loading…
Cancel
Save