您现在的位置是: 博客首页 > Java Java
springboot 对接易支付Demo(亲自测试过)
SU博客网
2020-10-18
44浏览
原创
JavaDemo对接易支付,原理就是经过get请求加密后返回到易支付的页面上进行支付,支付成功后就跳转到指定的位置上
@Test
public void test() {
String webSite="http://pay.xxx.net/";//易支付网站地址
HashMap<String, String> map = new HashMap<>();
map.put("pid","1000");//pid
map.put("type","wxpay");//支付方式,alipay:支付宝,wxpay:微信支付,qqpay:QQ钱包
map.put("out_trade_no","fhdsfsdndshfdsfsd");//订单号,自己生成
map.put("notify_url","http://baidu.com");//服务器异步通知地址
map.put("return_url","http://baidu.com");//页面跳转通知地址
map.put("name","东泰测试");//商品名称
map.put("money","0.01");//金额
map.put("sitename","东泰");//网站名称
String key="dddddddddddddddd";//易支付秘钥
//参数排序,不能urlEncode和转小写
String s = formatUrlMap(map,false,false);
//加密生成签名
String sign = DigestUtils.md5Hex(s+key);
//跳转支付的url地址
String s1 = webSite + "submit.php?" + s + "&sign="+sign+"&sign_type=MD5";
System.out.println(s1);
}
/**
*
* 方法用途: 对所有传入参数按照字段名的Unicode码从小到大排序(字典序),并且生成url参数串<br>
* 实现步骤: <br>
*
* @param paraMap 要排序的Map对象
* @param urlEncode 是否需要URLENCODE
* @param keyToLower 是否需要将Key转换为全小写。true:key转化成小写,false:不转化
* @return
*/
public static String formatUrlMap(Map<String, String> paraMap, boolean urlEncode, boolean keyToLower) {
String buff = "";
Map<String, String> tmpMap = paraMap;
try {
List<Map.Entry<String, String>> infoIds = new ArrayList<Map.Entry<String, String>>(tmpMap.entrySet());
// 对所有传入参数按照字段名的 ASCII 码从小到大排序(字典序)
Collections.sort(infoIds, new Comparator<Map.Entry<String, String>>() {
@Override
public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
return (o1.getKey()).toString().compareTo(o2.getKey());
}
});
// 构造URL 键值对的格式
StringBuilder buf = new StringBuilder();
for (Map.Entry<String, String> item : infoIds) {
if (StringUtils.isNotBlank(item.getKey())) {
String key = item.getKey();
String val = item.getValue();
if (urlEncode) {
val = URLEncoder.encode(val, "utf-8");
}
if (keyToLower) {
buf.append(key.toLowerCase() + "=" + val);
} else {
buf.append(key + "=" + val);
}
buf.append("&");
}
}
buff = buf.toString();
if (buff.isEmpty() == false) {
buff = buff.substring(0, buff.length() - 1);
}
} catch (Exception e) {
return null;
}
return buff;
}
相关文章
发表评论
我的名片

站点信息
- 网站程序:Java
- 博客名称:SU博客网
- 文章统计:34 篇
- 标签总数:10 个
- 分类总数:4 个
- 留言数量:0 条
QQ 交流群
