<?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 requests
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 = "https://api.jisuapi.com/waterelectricrecharge/recharge"
response = requests.get(url,params=data)
jsonarr = response.json()
if jsonarr["status"] != 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 Map queryarr;
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;
}
}