diff --git a/mobile/source/helpers/dalianpay/config/config.php b/mobile/source/helpers/dalianpay/config/config.php index 9714006..f5d8f3a 100644 --- a/mobile/source/helpers/dalianpay/config/config.php +++ b/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', diff --git a/mobile/source/helpers/dalianpay/demo/dalianpay.php b/mobile/source/helpers/dalianpay/demo/dalianpay.php index 7ddb3e1..ab0218c 100644 --- a/mobile/source/helpers/dalianpay/demo/dalianpay.php +++ b/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('
', $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();
diff --git a/mobile/source/helpers/dalianpay/demo/query.php b/mobile/source/helpers/dalianpay/demo/query.php
index 3611b3f..a548304 100644
--- a/mobile/source/helpers/dalianpay/demo/query.php
+++ b/mobile/source/helpers/dalianpay/demo/query.php
@@ -1,7 +1,6 @@
 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";