package edu.fudan.weixin.model; import java.util.Random; import edu.fudan.eservice.common.utils.CommonUtil; import edu.fudan.eservice.common.utils.Config; import edu.fudan.eservice.common.utils.EncodeHelper; public class WiscomPayModel { /** * 显示特定用户的所有待付款项 * @param openid * @param uisid * @return */ public static String formupDirecturl(String openid,String uisid) { return formupDirecturl(openid,uisid,null); } /** * 定向到金智支付页面的URL,pwd不为空时定向到具体的待支付订单信息页面 * @param openid * @param uisid * @param pwd * @return */ public static String formupDirecturl(String openid, String uisid, String pwd) { Config conf = Config.getInstance(); StringBuffer sb = new StringBuffer(); sb.append("openId="); sb.append(openid); if (!CommonUtil.isEmpty(pwd)) { sb.append("&pwd="); sb.append(pwd); } sb.append("&rand="); Random rand = new Random(); for (int i = 0; i < 32; i++) { int c = rand.nextInt(62); if (c >= 36) c += 61; else if (c >= 10) c += 55; else c += 48; sb.append((char) c); } if (!CommonUtil.isEmpty(uisid)) { sb.append("&userId="); sb.append(uisid); } String hash = EncodeHelper.hmac("SHA1", sb.toString(), conf.get("wispay.key")); sb.append("&sign="); sb.append(hash); sb.insert(0, conf.get("wispay.url") + "?"); return sb.toString(); } }