参数名称 | 类型 | 必填 | 说明 |
---|---|---|---|
account | string | 是 | 缴费账号 |
productid | int | 是 | 产品ID 从商品API中获取 |
amount | string | 是 | 缴费金额 |
outorderno | string | 是 | 商家订单号 |
sign | string | 是 | 签名MD5加密 md5(account+amount+outorderno+productid+appsecret) |
参数名称 | 类型 | 说明 |
---|---|---|
productid | int | 产品ID |
account | string | 缴费账号 |
amount | string | 缴费金额 |
outorderno | string | 商家订单号 |
orderno | string | 订单号 |
rechargestatus | int | 充值状态 0充值中 1充值成功 2充值失败 即时返回0,状态信息请从订单详情接口获取 |
<?php require_once 'curl.func.php'; $appkey = 'your_appkey_here';//你的appkey $productid = 2512;//商品ID $account = '6029023500';//充值账号 $amount = 200;//充值金额 $outorderno = '77888855888';//商家订单号 可选 $appsecret = 'sssssssssss';//你的appsecret $queryarr = array('account'=>$account,'amount'=>$amount,'productid'=>$productid,'outorderno'=>$outorderno); $sign = makeSign($queryarr, $appsecret); $url = "https://api.jisuapi.com/waterelectricrecharge/recharge?appkey=$appkey&productid=$productid&account=$account&amount=$amount&sign=$sign"; $result = curlOpen($url, ['ssl'=>true]); $jsonarr = json_decode($result, true); //exit(var_dump($jsonarr)); if($jsonarr['status'] != 0) { echo $jsonarr['msg']; exit(); } echo $result['productid'].' '.$result['account'].' '.$result['amount'].' '.$result['outorderno'].' '.$result['orderno'].' '.$result['rechargestatus']; function makeSign($queryarr, $appsecret) { ksort($queryarr, SORT_STRING); $str = implode($queryarr); $str .= $appsecret; //exit($str); $str = md5($str); return $str; }
#!/usr/bin/python # encoding:utf-8 import urllib2, json, urllib def md5(str): import hashlib m = hashlib.md5() m.update(str) return m.hexdigest() def makeSign(queryarr, appsecret): queryarr = sorted(queryarr.items(),key=lambda e:e[0]) strs = "" for str in queryarr: strs += "%s" %str[1] return md5(strs + appsecret) # 1、水电煤缴费 data = {} data["appkey"] = "your_appkey_here" data["productid"] = 2512 #商品ID data["account"] = "6029023500" # 充值账号 data["amount"] = 200 # 充值金额 data["outorderno"] = "77888855888" # 商家订单号 可选 data["appsecret"] = "sssssssssss" # 你的appsecret queryarr = {"account":data["account"],"amount":data["amount"],"productid":data["productid"],"outorderno":data["outorderno"]} sign = makeSign(queryarr , data["appsecret"]) data["sign"] = sign url_values = urllib.urlencode(data) url = "https://api.jisuapi.com/waterelectricrecharge/recharge" + "?" + url_values request = urllib2.Request(url) result = urllib2.urlopen(request) jsonarr = json.loads(result.read()) if jsonarr["status"] != u"0": print jsonarr["msg"] exit() result = jsonarr["result"] print result["productid"],result["account"],result["amount"],result["outorderno"],result["orderno"],result["rechargestatus"]
package api.jisuapi.waterelectricrecharge; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.TreeMap; import api.util.HttpUtil; import net.sf.json.JSONObject; public class Recharge { public static final String APPKEY = "your_appkey_here";// 你的appkey public static final String URL = "https://api.jisuapi.com/waterelectricrecharge/recharge"; public static final String account = "6029023500";// 充值账号 public static final String productid = "2512";// 商品ID public static final String amount = "200";// 充值金额 public static final String outorderno = "77888855888";// 商家订单号 可选 public static final String appsecret = "sssssssssss";// 你的appsecret public static Mapqueryarr; public static void Get() throws NoSuchAlgorithmException, UnsupportedEncodingException { queryarr = new HashMap (); queryarr.put("account", account); queryarr.put("amount", amount); queryarr.put("productid", productid); queryarr.put("outorderno", outorderno); String sign = makeSign(queryarr, appsecret); String result = null; String url = URL + "?appkey=" + APPKEY + "&account=" + account + "&productid=" + productid + "&amount=" + amount + "&outorderno=" + outorderno + "&sign=" + sign; try { result = HttpUtil.sendGet(url, "utf-8"); JSONObject json = JSONObject.fromObject(result); if (json.getInt("status") != 0) { System.out.println(json.getString("msg")); } else { JSONObject resultarr = (JSONObject) json.opt("result"); String productid = resultarr.getString("productid"); String account = resultarr.getString("account"); String amount = resultarr.getString("amount"); String outorderno = resultarr.getString("outorderno"); String orderno = resultarr.getString("orderno"); String rechargestatus = resultarr.getString("rechargestatus"); System.out.println(productid + " " + account + " " + amount + " " + outorderno + " " + orderno + " " + rechargestatus); } } catch (Exception e) { e.printStackTrace(); } } public static String makeSign(Map queryarr, String appsecret) throws NoSuchAlgorithmException, UnsupportedEncodingException { TreeMap map = new TreeMap(queryarr); Iterator ir = map.keySet().iterator(); String str = new String(); while (ir.hasNext()) { Object key = ir.next(); str += map.get(key); } str += appsecret; return getMd5(str.getBytes()); } public static String getMd5(byte[] buffer) throws NoSuchAlgorithmException { String s = null; char hexDigist[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; MessageDigest md = MessageDigest.getInstance("MD5"); md.update(buffer); byte[] datas = md.digest(); // 16个字节的长整数 char[] str = new char[2 * 16]; int k = 0; for (int i = 0; i < 16; i++) { byte b = datas[i]; str[k++] = hexDigist[b >>> 4 & 0xf];// 高4位 str[k++] = hexDigist[b & 0xf];// 低4位 } s = new String(str); return s; } }
{ "status": 0, "msg": "ok", "result": { "productid": "2512", "account": "6029023500", "amount": "200", "outorderno": "", "orderno": "221605231550666084322", "rechargestatus": "0" } }
参数名称 | 类型 | 必填 | 说明 |
---|---|---|---|
account | string | 是 | 缴费账号 |
productid | int | 是 | 产品ID 从商品API中获取 |
参数名称 | 类型 | 说明 |
---|---|---|
name | string | 产品名称 |
account | string | 缴费账号 |
address | string | 地址 |
amount | string | 缴费金额 |
penalty | int | 滞纳金 |
balance | string | 余额 |
startdate | string | 起始日期 |
enddate | string | 截止日期 |
<?php require_once 'curl.func.php'; $appkey = 'your_appkey_here';//你的appkey $account = '6029023500';//账号 $productid = 2512;//商品ID $url = "https://api.jisuapi.com/waterelectricrecharge/accountinfo?appkey=$appkey&productid=$productid&account=$account"; $result = curlOpen($url, ['ssl'=>true]); $jsonarr = json_decode($result, true); //exit(var_dump($jsonarr)); if($jsonarr['status'] != 0) { echo $jsonarr['msg']; exit(); } echo $result['name'].' '.$result['account'].' '.$result['address'].' '.$result['amount'].' '.$result['penalty'].' '.$result['balance'].' '.$result['startdate'].' '.$result['enddate'];
#!/usr/bin/python # encoding:utf-8 import urllib2, json, urllib # 2、查询账户信息 data = {} data["appkey"] = "your_appkey_here" data["account"] = "6029023500" data["productid"] = 2512 url_values = urllib.urlencode(data) url = "https://api.jisuapi.com/waterelectricrecharge/accountinfo" + "?" + url_values request = urllib2.Request(url) result = urllib2.urlopen(request) jsonarr = json.loads(result.read()) if jsonarr["status"] != u"0": print jsonarr["msg"] exit() result = jsonarr["result"] print result["name"],result["account"],result["address"],result["amount"],result["penalty"],result["balance"],result["startdate"],result["enddate"]
package api.jisuapi.waterelectricrecharge; import api.util.HttpUtil; import net.sf.json.JSONObject; public class Accountinfo { public static final String APPKEY = "your_appkey_here";// 你的appkey public static final String URL = "https://api.jisuapi.com/waterelectricrecharge/accountinfo"; public static final String account = "6029023500";//账号 public static final int productid = 2512;//商品ID public static void Get() { String result = null; String url = URL + "?appkey=" + APPKEY + "&account=" + account + "&productid=" + productid; try { result = HttpUtil.sendGet(url, "utf-8"); JSONObject json = JSONObject.fromObject(result); if (json.getInt("status") != 0) { System.out.println(json.getString("msg")); } else { JSONObject resultarr = (JSONObject) json.opt("result"); String name = resultarr.getString("name"); String account = resultarr.getString("account"); String address = resultarr.getString("address"); String amount = resultarr.getString("amount"); String penalty = resultarr.getString("penalty"); String balance = resultarr.getString("balance"); String startdate = resultarr.getString("startdate"); String enddate = resultarr.getString("enddate"); System.out.println(name + " " + account + " " + address + " " + amount + " " + penalty + " " + balance + " " + startdate + " " + enddate); } } catch (Exception e) { e.printStackTrace(); } } }
{ "status": 0, "msg": "ok", "result": { "name": "张欣", "account": "6029023500", "address": "益乐路39号", "amount": "200", "penalty": "0", "balance": "0", "startdate": "2016-05-01", "enddate": "2016-05-31" } }
参数名称 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 否 | 类型 水water 电electric 煤coal 有线电视tv |
pagenum | int | 是 | 当前页 默认1 |
pagesize | int | 是 | 每页数量 默认20 最大40 |
参数名称 | 类型 | 说明 |
---|---|---|
total | int | 总数量 |
pagenum | int | 当前页 默认1 |
pagesize | int | 每页数量 |
orderno | string | 订单号 |
outorderno | string | 商家订单号 |
account | string | 缴费账号 |
type | string | 类型 |
productid | int | 产品ID |
num | int | 数量 一般为1 |
status | int | 状态 一般为1,订单完成 |
rechargestatus | int | 充值状态 0充值中 1充值成功 2充值失败 即时返回0,状态信息请从订单详情接口获取 |
amount | string | 缴费金额 具体金额从查询账户信息API里获取 |
totalfee | string | 总金额 |
addtime | int | 订单时间 |
name | string | 产品名称 |
<?php require_once 'curl.func.php'; $appkey = 'your_appkey_here';//你的appkey $pagenum = 1;//当前页 $pagesize = 20;//每页数量,最大20 $type = 'water';//订单类型 水费订单:water 电费订单:electric 天燃气订单:coal 有线电视:tv 可选 $url = "https://api.jisuapi.com/waterelectricccoalrecharge/orderlist?appkey=$appkey&pagenum=$pagenum&pagesize=$pagesize&type=$type"; $result = curlOpen($url, ['ssl'=>true]); $jsonarr = json_decode($result, true); //exit(var_dump($jsonarr)); if($jsonarr['status'] != 0) { echo $jsonarr['msg']; exit(); } $result = $jsonarr['result']; echo $result['total'].' '.$result['pagesize'].' '.$result['pagenum'].'
'; foreach($result['list'] as $val) { echo $val['orderno'].' '.$val['outorderno'].' '.$val['account'].' '.$val['type'].'
'; echo $val['productid'].' '.$val['num'].' '.$val['status'].' '.$val['rechargestatus'].'
'; echo $val['amount'].' '.$val['totalfee'].' '.$val['addtime'].' '.$val['name'].'
'; }
#!/usr/bin/python # encoding:utf-8 import urllib2, json, urllib # 3、查询订单列表 data = {} data["appkey"] = "your_appkey_here" data["pagenum"] = 1 data["pagesize"] = 20 data["type"] = "water" # 订单类型 水费订单:water 电费订单:electric 天燃气订单:coal 有线电视:tv 可选 url_values = urllib.urlencode(data) url = "https://api.jisuapi.com/waterelectricrecharge/orderlist" + "?" + url_values request = urllib2.Request(url) result = urllib2.urlopen(request) jsonarr = json.loads(result.read()) if jsonarr["status"] != u"0": print jsonarr["msg"] exit() result = jsonarr["result"] print result["total"],result["pagesize"],result["pagenum"] for val in result["list"] : print val["orderno"],val["outorderno"],val["account"],val["type"] print val["productid"],val["num"],val["status"],val["rechargestatus"] print val["amount"],val["totalfee"],val["addtime"],val["name"]
package api.jisuapi.waterelectricrecharge; import api.util.HttpUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Orderlist { public static final String APPKEY = "your_appkey_here";// 你的appkey public static final String URL = "https://api.jisuapi.com/waterelectricrecharge/orderlist"; public static final String type = "water";//订单类型 水费订单:water 电费订单:electric 天燃气订单:coal 有线电视:tv 可选 public static final int pagenum = 1;//当前页 public static final int pagesize = 20;//每页数量,最大20 public static void Get() { String result = null; String url = URL + "?appkey=" + APPKEY + "&type=" + type + "&pagenum=" + pagenum + "&pagesize=" + pagesize; try { result = HttpUtil.sendGet(url, "utf-8"); JSONObject json = JSONObject.fromObject(result); if (json.getInt("status") != 0) { System.out.println(json.getString("msg")); } else { JSONObject resultarr = (JSONObject) json.opt("result"); String total = resultarr.getString("total"); String pagenum = resultarr.getString("pagenum"); String pagesize = resultarr.getString("pagesize"); System.out.println(total + " " + pagenum + " " + pagesize); JSONArray list = resultarr.optJSONArray("list"); for (int i = 0; i < list.size(); i++) { JSONObject obj = (JSONObject) list.opt(i); String orderno = obj.getString("orderno"); String outorderno = obj.getString("outorderno"); String account = obj.getString("account"); String type = obj.getString("type"); String productid = obj.getString("productid"); String num = obj.getString("num"); String status = obj.getString("status"); String rechargestatus = obj.getString("rechargestatus"); String amount = obj.getString("amount"); String totalfee = obj.getString("totalfee"); String addtime = obj.getString("addtime"); String name = obj.getString("name"); System.out.println(orderno + " " + outorderno + " " + account + " " + type + " " + productid + " " + num + " " + status + " " + rechargestatus + " " + amount + " " + totalfee + " " + addtime + " " + name); } } } catch (Exception e) { e.printStackTrace(); } } }
{ "status": 0, "msg": "ok", "result": { "total": "1", "pagenum": "1", "pagesize": "20", "list": [ { "orderno": "201605250929585085725", "outorderno": "", "account": "6029023500", "type": "electric", "productid": "2512", "num": "1", "status": "1", "rechargestatus": "0", "amount": "200", "totalfee": "200.00", "addtime": "1464168598", "name": "浙江杭州 杭州电力局 电费户号 任意充直充" } ] } }
参数名称 | 类型 | 必填 | 说明 |
---|---|---|---|
orderno | string | 是 | 订单号 |
outorderno | string | 否 | 商家订单号 和订单号任选其一 如果商家订单号重复,只返回最新的一条详情 |
参数名称 | 类型 | 说明 |
---|
<?php require_once 'curl.func.php'; $appkey = 'your_appkey_here';//你的appkey $orderno = '221605250929585085725';//订单号 $outorderno = '77888855888';//商家订单号,和订单号任选其一 $url = "https://api.jisuapi.com/waterelectricrecharge/orderdetail?appkey=$appkey&orderno=$orderno&outorderno=$outorderno"; $result = curlOpen($url, ['ssl'=>true]); $jsonarr = json_decode($result, true); //exit(var_dump($jsonarr)); if($jsonarr['status'] != 0) { echo $jsonarr['msg']; exit(); } $result = $jsonarr['result']; echo $result['type'].' '.$result['orderno'].' '.$result['outorderno'].'
'; echo $result['productid'].' '.$result['account'].' '.$result['num'].'
'; echo $result['status'].' '.$result['rechargestatus'].' '.$result['amount'].'
'; echo $result['totalfee'].' '.$result['addtime'].' '.$result['name'].'
';
#!/usr/bin/python # encoding:utf-8 import urllib2, json, urllib # 4、查询订单详情 data = {} data["appkey"] = "your_appkey_here" data["orderno"] = "221605250929585085725" data["outorderno"] = "77888855888" url_values = urllib.urlencode(data) url = "https://api.jisuapi.com/waterelectricrecharge/orderdetail" + "?" + url_values request = urllib2.Request(url) result = urllib2.urlopen(request) jsonarr = json.loads(result.read()) if jsonarr["status"] != u"0": print jsonarr["msg"] exit() result = jsonarr["result"] print result["type"],result["orderno"],result["outorderno"] print result["productid"],result["account"],result["num"] print result["status"],result["rechargestatus"],result["amount"] print result["totalfee"],result["addtime"],result["name"]
package api.jisuapi.waterelectricrecharge; import api.util.HttpUtil; import net.sf.json.JSONObject; public class Orderdetail { public static final String APPKEY = "your_appkey_here";// 你的appkey public static final String URL = "https://api.jisuapi.com/waterelectricrecharge/orderdetail"; public static final String orderno = "221605250929585085725";//订单号 public static final String outorderno = "77888855888";//商家订单号,和订单号任选其一 public static void Get() { String result = null; String url = URL + "?appkey=" + APPKEY + "&orderno=" + orderno + "&outorderno=" + outorderno; try { result = HttpUtil.sendGet(url, "utf-8"); JSONObject json = JSONObject.fromObject(result); if (json.getInt("status") != 0) { System.out.println(json.getString("msg")); } else { JSONObject resultarr = (JSONObject) json.opt("result"); String orderno = resultarr.getString("orderno"); String outorderno = resultarr.getString("outorderno"); String account = resultarr.getString("account"); String type = resultarr.getString("type"); String productid = resultarr.getString("productid"); String num = resultarr.getString("num"); String status = resultarr.getString("status"); String rechargestatus = resultarr.getString("rechargestatus"); String amount = resultarr.getString("amount"); String totalfee = resultarr.getString("totalfee"); String addtime = resultarr.getString("addtime"); String name = resultarr.getString("name"); System.out.println(type + " " + orderno + " " + outorderno + " " + productid + " " + account + " " + num + " " + status + " " + rechargestatus + " " + amount + " " + totalfee + " " + addtime + " " + name); } } catch (Exception e) { e.printStackTrace(); } } }
{ "status": 0, "msg": "ok", "result": { "type": "electric", "orderno": "201605250929585085725", "outorderno": "", "productid": "2512", "account": "6029023500", "num": "1", "status": "1", "rechargestatus": "0", "amount": "200", "totalfee": "200.00", "addtime": "1464168598", "name": "浙江杭州 杭州电力局 电费户号 任意充直充" } }
参数名称 | 类型 | 必填 | 说明 |
---|---|---|---|
city | string | 否 | 城市或省份 |
参数名称 | 类型 | 说明 |
---|---|---|
productid | int | 产品ID |
name | string | 产品名称 |
province | string | 产品ID |
city | string | 城市 |
type | string | 类型 |
company | string | 缴费公司 |
<?php require_once 'curl.func.php'; $appkey = 'your_appkey_here';//你的appkey $city = '杭州';//城市名称 $url = "https://api.jisuapi.com/waterelectricrecharge/goods?appkey=$appkey&city=$city"; $result = curlOpen($url, ['ssl'=>true]); $jsonarr = json_decode($result, true); //exit(var_dump($jsonarr)); if($jsonarr['status'] != 0) { echo $jsonarr['msg']; exit(); } $result = $jsonarr['result']; foreach($result['list'] as $val) { echo $val['productid'].' '.$val['name'].' '.$val['province'].' '.$val['city'].' '.$val['type'].' '.$val['company'].'
'; }
#!/usr/bin/python # encoding:utf-8 import urllib2, json, urllib # 5、查询水电煤商品 data = {} data["appkey"] = "your_appkey_here" data["city"] = "杭州" url_values = urllib.urlencode(data) url = "https://api.jisuapi.com/waterelectricrecharge/goods" + "?" + url_values request = urllib2.Request(url) result = urllib2.urlopen(request) jsonarr = json.loads(result.read()) if jsonarr["status"] != u"0": print jsonarr["msg"] exit() result = jsonarr["result"] for val in result["list"] : print val["productid"],val["name"],val["province"],val["city"],val["type"],val["company"]
package api.jisuapi.waterelectricrecharge; import java.net.URLEncoder; import api.util.HttpUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Goods { public static final String APPKEY = "your_appkey_here";// 你的appkey public static final String URL = "https://api.jisuapi.com/waterelectricrecharge/goods"; public static final String city = "杭州";// 城市名称 public static void Get() throws Exception { String result = null; String url = URL + "?appkey=" + APPKEY + "&city=" + URLEncoder.encode(city, "utf-8"); try { result = HttpUtil.sendGet(url, "utf-8"); JSONObject json = JSONObject.fromObject(result); if (json.getInt("status") != 0) { System.out.println(json.getString("msg")); } else { JSONObject resultarr = (JSONObject) json.opt("result"); JSONArray list = resultarr.optJSONArray("list"); for (int i = 0; i < list.size(); i++) { JSONObject obj = (JSONObject) list.opt(i); String productid = obj.getString("productid"); String name = obj.getString("name"); String province = obj.getString("province"); String city = obj.getString("city"); String type = obj.getString("type"); String company = obj.getString("company"); System.out .println(productid + " " + name + " " + province + " " + city + " " + type + " " + company); } } } catch (Exception e) { e.printStackTrace(); } } }
{ "status": 0, "msg": "ok", "result": { "list": [ { "productid": "74", "name": "安徽 池州市港华燃气费 燃气费 户号 直充任意充", "province": "安徽", "city": "池州", "type": "coal", "company": "池州市港华燃气费" }, { "productid": "76", "name": "安徽 合肥市燃气缴费 燃气费 户号 直充任意充", "province": "安徽", "city": "合肥", "type": "coal", "company": "合肥市燃气缴费" }, { "productid": "122", "name": "安徽马鞍山 马鞍山市港华燃气有限公司 燃气费户号 任意充直充", "province": "安徽", "city": "马鞍山", "type": "coal", "company": "马鞍山市港华燃气有限公司" } ] } }
代号 | 说明 |
---|---|
201 | 账号为空 |
202 | 充值金额为空 |
203 | 商品ID为空 |
204 | 签名为空 |
205 | 验签失败 |
206 | 账户余额不足 |
207 | 商品ID不正确 |
208 | 已缴费或者超过受理期 |
209 | 未查到账户信息 |
210 | 暂不支持查询此商品相关信息 |
211 | 订单类型不正确 |
212 | 订单号为空 |
220 | 未知错误 |
代号 | 说明 |
---|---|
101 | APPKEY为空或不存在 |
102 | APPKEY已过期 |
103 | APPKEY无请求此数据权限 |
104 | 请求超过次数限制 |
105 | IP被禁止 |
106 | IP请求超过限制 |
107 | 接口维护中 |
108 | 接口已停用 |
计次套餐 | 套餐规格 | 价格 | ||
---|---|---|---|---|
按实际付费无手续费 | 0次 | 0.00 元 | ≈NAN元/次 |