Browse Source

decrypt data of query

master
dutsc 3 years ago
parent
commit
5fe093aac9
  1. 5
      mobile/source/helpers/dalianpay/config/config.php
  2. 81
      mobile/source/helpers/dalianpay/demo/dalianpay.php
  3. 3
      mobile/source/helpers/dalianpay/demo/query.php
  4. 27
      mobile/wxnotify.php

5
mobile/source/helpers/dalianpay/config/config.php

@ -56,7 +56,10 @@
'refund_url' => 'https://tpay.01pub.com/payapi/tranx/refund',
// 统一查询接口 测试地址
'query_url' => 'https://open.dalianpay.cn/payapi/tranx/query',
// 'query_url' => 'https://open.dalianpay.cn/payapi/tranx/query',
// 统一查询接口 生产地址
'query_url' => 'https://epay.dalianpay.cn/payapi/tranx/query',
// 订单关闭接口 测试地址
'close_url' => 'https://open.dalianpay.cn/payapi/tranx/close',

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

@ -35,6 +35,87 @@ class dalianpay{
return $response_data;
}
// 统一查询接口
public function query($openid,$trxid){
session_start();
require_once(BASE_PATH . 'helpers/dalianpay/library/Base.php');
$Base = new Base();
// 获取配置信息
$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' => $trxid.'', // 渠道交易流水号 如果返回的有 优先使用
'randomstr' => md5( uniqid() ),
);
// 生成签名
$sign = $Base->Crypt->makeSign($trade_data);
if($sign === false)
{
echo $Base->Crypt->err_msg;
die();
}
echo "\r\n";
echo "[sign]: {$sign}";
// die();
// 加密交易报文
$crypted_trade_data = $Base->Crypt->encryptTradeData($trade_data);
if($crypted_trade_data === false)
{
echo $Base->Crypt->err_msg;
die();
}
echo "\r\n";
echo "[crypted message]: {$crypted_trade_data}";
// die();
// 发送报文
echo "\r\n";
var_dump($api_url);
$response = $Base->Request->send($api_url, $crypted_trade_data, $sign);
if($response === false)
{
echo $Base->Request->err_msg;
die();
}
echo "\r\n";
echo "[response message]: {$response}";
// 解析响应报文
$response = json_decode($response, true);
$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)
{
echo $Base->Crypt->err_msg;
die();
}
echo "\r\n";
echo "[response data(clear text)]: {$response_data}";
}
// 统一支付接口
public function pay($openid_crypt, $order_sn, $order_amount)
{
session_start();

3
mobile/source/helpers/dalianpay/demo/query.php

@ -1,7 +1,6 @@
<?php
// 统一支付接口Demo
// 统一查询接口
// 加载基础类
require_once('../library/Base.php');
$Base = new Base();

27
mobile/wxnotify.php

@ -28,17 +28,34 @@
// // ...
// }
$logFilePath = './wxlogde_1.txt'; // 日志文件保存路径
$logFilePath = './wxlogde_decrypt.txt'; // 日志文件保存路径
// 获取异步回调的数据
$postData = file_get_contents('php://input');
// 解密postData
require_once(BASE_PATH . 'helpers/dalianpay/demo/dalianpay.php');
session_start();
require_once(BASE_PATH . 'helpers/dalianpay/library/Base.php');
$Base = new Base();
// 解析返回的报文
$response = json_decode($postData, true);
$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)
{
echo $Base->Crypt->err_msg;
die();
}
// echo "\r\n";
// echo "[response data(clear text)]: {$response_data}";
$new_plugin = new dalianpay();
$response_data = $new_plugin->norify_decrypt($postData);
// 添加时间戳和换行符
$logMessage = date('Y-m-d H:i:s') . " - " . $response_data . "\n";

Loading…
Cancel
Save