ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 查询文档 ## 请求地址: ### [https://api.yijiezhifu.com/Pay.html](https://api.yijiezhifu.com/Pay.html) ## 请求类型: POST ## 请求参数: 变量名称参数名称是否必填是否参与签名参数说明version版本号是是固定值:1.0.0memberid商户号是是系统分配的商户编号,例如:10001orderid商户订单号是是要查询的商户订单号notifyurl异步回调地址是是支付成功后系统异步回调商户的地址query查询标识是否固定值:querysignmethod签名类型是是固定值: md5signmd5签名是否请看[签名算法]- - - - - - **查询请求Demo(php代码示例,其它编程语言仅供参考)** - - - - - - ``` <pre class="calibre19">```php <?php function https_request($url, $data = null) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); if (!empty($data)) {//如果有数据传入数据 curl_setopt($curl, CURLOPT_POST, 1);//CURLOPT_POST 模拟post请求 curl_setopt($curl, CURLOPT_POSTFIELDS, $data);//传入数据 } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); return $output; } $ArrayField = [ 'version' => '1.0.0', //固定值 'memberid' => '10001', //商户编号 'orderid' => "2020022637021582687627", //要查询的订单号 'notifyurl' => 'http://xxx.xxx.com/notifyurl.php', 'signmethod' => 'md5', //加密方式 固定值 ]; ksort($ArrayField); //按照参数名ASCII码从小到大排序 $md5key = '2JXQBG13TAUNKRYVME'; //md5密钥 $stringA = ""; foreach($ArrayField as $key => $value){ $stringA .= $key."=".$value."&"; } $stringA = substr($stringA,0,-1); //去掉最后一个 & 字符 $ArrayField["sign"] = strtoupper(md5($stringA.$md5key)); //拼接密钥后,md5加密后转为大写 $ArrayField["query"] = 'query'; //加上查询标识字段 $tjurl = 'http://main.lanmaopay.cn/Pay.html'; https_request($url,$ArrayField); ?> ``` ``` ## 响应/回调参数 查询请求提交成功后,会马上收到一个响应,同时会给异步回调地址发送一个异步回调。 响应和回调的参数都是一样的,只是响应回的是JSON的字符串,异步回调是POST的Form表单回调。 变量名称参数名称是否参与签名参数说明version版本号是固定值:1.0.0memberid商户号是系统分配的商户编号,例如:10001amount订单金额是订单提交的金额,单位:分true\_amount实际支付金额是实际支付金额,单位:分。注:有时系统可能会对提交的整数金额随机加上一个几分钱的零头,所以可能会出现订单金额与实际支付金额不一样的情况,绝大部分情况下这两个金额是一致的orderid商户订单号是商户提交给系统的订单号sysorderid系统订单号是系统生成的内部订单号submitime提交时间是订单提交建立的时间。格式:YYYY-mm-dd HH:ii:ss 例如:2020-02-02 20:20:20successtime交易成功时间是订单交易成功的时间。格式:YYYY-mm-dd HH:ii:ss 例如:2020-02-02 20:20:20status订单关状态是success 成功,error 失败signmethod签名类型是固定值:md5signmd5签名否请看[签名算法](Qian%20Ming%20Suan%20Fa.html)- - - - - - **查询响应Demo(php代码示例,其它编程语言仅供参考)** - - - - - - ``` <pre class="calibre19">```php <?php function https_request($url, $data = null) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); if (!empty($data)) {//如果有数据传入数据 curl_setopt($curl, CURLOPT_POST, 1);//CURLOPT_POST 模拟post请求 curl_setopt($curl, CURLOPT_POSTFIELDS, $data);//传入数据 } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); return $output; } $ArrayField = [ 'version' => '1.0.0', //固定值 'memberid' => '10001', //商户编号 'orderid' => "2020022637021582687627", //要查询的订单号 'notifyurl' => 'http://xxx.xxx.com/notifyurl.php', 'signmethod' => 'md5', //加密方式 固定值 ]; ksort($ArrayField); //按照参数名ASCII码从小到大排序 $md5key = '2JXQBG13TAUNKRYVME'; //md5密钥 $stringA = ""; foreach($ArrayField as $key => $value){ $stringA .= $key."=".$value."&"; } $stringA = substr($stringA,0,-1); //去掉最后一个 & 字符 $ArrayField["sign"] = strtoupper(md5($stringA.$md5key)); //拼接密钥后,md5加密后转为大写 $ArrayField["query"] = 'query'; //加上查询标识字段 $tjurl = 'http://main.lanmaopay.cn/Pay.html'; $json = https_request($url,$ArrayField); $ArrayField = json_decode($json,true) //查询响应时获取回调参数, json字符串转换为数组 $sign = $ArrayField["sign"]; unset($ArrayField["sign"]); $md5key = '2JXQBG13TAUNKRYVME'; //密钥 ksort($ArrayField); //按照参数名ASCII码从小到大排序 $stringA = ""; foreach($ArrayField as $key => $value){ $stringA .= $key."=".$value."&"; } $stringA = substr($stringA,0,-1); //去掉最后一个 & 字符 $signValue = strtoupper(md5($stringA.$md5key)); //拼接密钥后,md5加密后转为大写 if($sign == $signValue && $ArrayField['status'] == 'success'){ // 查询到订单的状态是成功的 }else{ var_dump($ArrayField); } ?> ``` ``` - - - - - - **查询回调Demo(php代码示例,其它编程语言仅供参考)** - - - - - - ``` <pre class="calibre20">```php <?php $ArrayField = _POST; $sign = $ArrayField["sign"]; unset($ArrayField["sign"]); $md5key = '2JXQBG13TAUNKRYVME'; //密钥 ksort($ArrayField); //按照参数名ASCII码从小到大排序 $stringA = ""; foreach($ArrayField as $key => $value){ $stringA .= $key."=".$value."&"; } $stringA = substr($stringA,0,-1); //去掉最后一个 & 字符 $signValue = strtoupper(md5($stringA.$md5key)); //拼接密钥后,md5加密后转为大写 if($sign == $signValue && $ArrayField['status'] == 'success'){ // 查询到订单的状态是成功的 }else{ var_dump($ArrayField); } ?> ``` ```