传输方式:HTTPS 数据格式:JSON 签名算法:MD5 字符编码:UTF-8
API地址:https://hlcode.huluwl.com/api.html?act=online_status&pid={商户ID}&key={商户密钥}
请求参数说明:
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
操作类型 | act | 是 | String | online_status | 此API固定值 |
商户ID | pid | 是 | Int | 1001 | |
商户密钥 | key | 是 | String | 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i |
返回结果示例:
字段名 | 变量名 | 类型 | 示例值 | 描述 |
---|---|---|---|---|
返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
支付宝 | alipay | Int | 1 | 1为在线状态,0为掉线状态 |
财付通 | qqpay | Int | 0 | 1为在线状态,0为掉线状态 |
微信 | wxpay | Int | 1 | 1为在线状态,0为掉线状态 |
API地址:https://hlcode.huluwl.com/api.html?act=order&pid={商户ID}&key={商户密钥}&type={支付方式}&out_trade_no={商户订单号}
请求参数说明:
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
操作类型 | act | 是 | String | order | 此API固定值 |
商户ID | pid | 是 | Int | 1001 | |
商户密钥 | key | 是 | String | 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i | |
支付方式 | type | 是 | String | wxpay | |
商户订单号 | out_trade_no | 是 | String | 20160806151343349 |
返回结果示例:
字段名 | 变量名 | 类型 | 示例值 | 描述 |
---|---|---|---|---|
返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
返回信息 | msg | String | 查询订单号成功! | |
订单号 | trade_no | String | 2016080622555342651 | 系统内部订单号 |
商户订单号 | out_trade_no | String | 20160806151343349 | 商户系统内部的订单号 |
支付方式 | type | String | alipay | alipay:支付宝,qqpay:QQ钱包,wxpay:微信支付 |
商户ID | pid | Int | 1001 | 发起支付的商户ID |
创建订单时间 | addtime | String | 2016-08-06 22:50:52 | |
订单失效时间 | endtime | String | 2016-08-06 22:55:52 | |
商品名称 | name | String | VIP会员 | |
商品金额 | money | String | 1.00 | |
支付状态 | status | Int | 0 | 1为支付成功,0为未支付 |
此接口可用于服务器后端发起支付请求,会返回支付二维码链接
API地址:https://hlcode.huluwl.com/qrcode?pid={商户ID}&type={支付方式}&out_trade_no={商户订单号}¬ify_url={服务器异步通知地址}&name={商品名称}&money={金额}&sign={签名字符串}&sign_type=MD5
请求参数说明:
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
商户ID | pid | 是 | Int | 1001 | |
支付方式 | type | 是 | String | alipay | alipay:支付宝,qqpay:QQ钱包,wxpay:微信支付 |
商户订单号 | out_trade_no | 是 | String | 20160806151343349 | |
异步通知地址 | notify_url | 是 | String | https://hlcode.huluwl.com/notify_url.php | 服务器异步通知地址 |
商品名称 | name | 是 | String | VIP会员 | |
商品金额 | money | 是 | String | 1.00 | |
签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法与支付宝签名算法相同 |
签名类型 | sign_type | 是 | String | MD5 | 默认为MD5 |
返回结果示例:
字段名 | 变量名 | 类型 | 示例值 | 描述 |
---|---|---|---|---|
返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
返回信息 | msg | String | 提交成功! | |
支付金额 | money | String | 1.00 | |
商户订单号 | out_trade_no | String | 20160806151343349 | |
创建订单时间 | addtime | String | 2016-08-06 22:50:52 | |
订单失效时间 | endtime | String | 2016-08-06 22:55:52 | |
二维码链接 | qrurl | String | https://hlcode.huluwl.com/qrimg.php?text=xxx |
API地址:https://hlcode.huluwl.com/submit
POST数据:pid={商户ID}&type={支付方式}&out_trade_no={商户订单号}¬ify_url={服务器异步通知地址}&return_url={页面跳转通知地址}&name={商品名称}&money={金额}&sitename={网站名称}&sign={签名字符串}&sign_type=MD5
请求参数说明:
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
商户ID | pid | 是 | Int | 1001 | |
支付方式 | type | 是 | String | alipay | alipay:支付宝,qqpay:QQ钱包,wxpay:微信支付 |
商户订单号 | out_trade_no | 是 | String | 20160806151343349 | |
异步通知地址 | notify_url | 是 | String | https://hlcode.huluwl.com/notify_url.php | 服务器异步通知地址 |
跳转通知地址 | return_url | 是 | String | https://hlcode.huluwl.com/return_url.php | 页面跳转通知地址 |
商品名称 | name | 是 | String | VIP会员 | |
商品金额 | money | 是 | String | 1.00 | |
网站名称 | sitename | 否 | String | 彩虹云任务 | |
签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法与支付宝签名算法相同 |
签名类型 | sign_type | 是 | String | MD5 | 默认为MD5 |
$Hlcode_Id = "1000";//您的商户id $Hlcode_Key = "AMEQ6D96SADsE545413419MuS"; //您的商户KEY //构造要请求的参数数组,无需改动 $parameter = array( "pid" => $Hlcode_Id,//你的商户ID "type" => 'alipay',//支付方式alipay/wxpay "notify_url" => '',//异步通知地址 "return_url" => '',//页面返回地址 "out_trade_no" => '20200530203427207',//订单号 "name" => 'VIP会员',//商品名称 "money" => 1.00,//支付金额 "sitename" => 'HLCodePay',//网站名称 ); ksort($parameter); //重新排序$parameter数组 reset($parameter); //内部指针指向数组中的第一个元素 $sign = ''; //初始化需要签名的字符为空 $urls = ''; //初始化URL参数为空 foreach ($parameter AS $key => $val) { //遍历需要传递的参数 if ($val == '' || $key == 'sign' || $key == "sign_type" ) continue; //跳过这些不参数签名 if ($sign != '') { $sign .= "&"; $urls .= "&"; } $sign .= "$key=$val"; //拼接为url参数形式 $urls .= "$key=" . urlencode($val); //拼接为url参数形式并URL编码参数值 } $query = $urls . '&sign=' . md5($sign .$Hlcode_Key); //创建订单所需的参数 $url = "https://hlcode.huluwl.com/submit?{$query}"; //支付页面 header("Location:{$url}"); //跳转到支付页面
通知类型:服务器异步通知(notify_url)、页面跳转通知(return_url)
请求方式:GET
回调说明:支付成功服务器异步通知页面就会收到HLCodePay发来的处理结果通知,程序执行完后必须打印输出success,如果商户反馈的字符不是success这7个字符,HLCodePay服务器会不断重发通知,直到超过通知次数10次(通知的间隔:5分钟左右)注意做好通知去重逻辑,你也可以在后台手动补单。
请求参数说明:
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
商户ID | pid | 是 | Int | 1001 | |
订单号 | trade_no | 是 | String | 20160806151343349021 | 系统内部订单号 |
商户订单号 | out_trade_no | 是 | String | 20160806151343349 | 商户系统内部的订单号 |
支付方式 | type | 是 | String | alipay | alipay:支付宝,qqpay:QQ钱包,wxpay:微信支付 |
商品名称 | name | 是 | String | VIP会员 | |
商品金额 | money | 是 | String | 1.00 | |
支付状态 | trade_status | 是 | String | TRADE_SUCCESS | |
签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法与支付宝签名算法相同 |
签名类型 | sign_type | 是 | String | MD5 | 默认为MD5 |
if($_POST){ $data=$_POST; }else{ $data=$_GET; } ksort($data); //排序post参数 reset($data); //内部指针指向数组中的第一个元素 $hlcode_key = "这里改成您的KEY"; //这是您的密钥 $sign = '';//初始化 foreach ($data AS $key => $val) { //遍历POST参数 if ($val == '' || $key == 'sign' || $key == "sign_type" ) continue; //跳过这些不参数签名 if ($sign) $sign .= '&'; //第一个字符串签名不加& 其他加&连接起来参数 $sign .= "$key=$val"; //拼接为url参数形式 } if (md5($sign.$hlcode_key) != $data['sign']) { //不合法的数据 exit('fail'); //验证失败 } else { //合法的数据 //业务处理 $money = (float)$data['money']; //付款金额 $trade_no = $data['trade_no']; //订单号 $out_trade_no = $data['out_trade_no']; //商户订单号 exit('success'); //返回成功 }
SDK下载PHP版
SDK.zipSDK版本:V1.1