码支付个人免签对接之JAVA版订单创建及通知接口/码支付注册/码支付官网
首先注册码支付账号
https://codepay.fateqq.com/i/25823
增值服务-选择开通58元套餐或者豪华版套餐(如果您的网站每个月的流水大的话建议开通豪华版)
JSP创建订单代码:
<%@ page language =“java”contentType =“text / html; charset = UTF-8”pageEncoding =“UTF-8”%> <% / ** *接收参数创建订单 * / String token =“更改成您的令牌令牌”; //记得更改http://codepay.fateqq.com后台可设置 String codepay_id =“更改成您的码支付ID”; //记得更改http://codepay.fateqq.com后台可获得 String price = request.getParameter(“price”); //表单提交的价格 String type = request.getParameter(“type”); //支付类型1:支付宝2:QQ钱包3:微信 String pay_id = request.getParameter(“pay_id”); //支付人的唯一标识 String param = request.getParameter(“param”); //自定义一些参数支付后返回 字符串notify_url =“http://你的域名/codepay.jsp";//通知地址 String return_url =“”; //支付后同步跳转地址 如果(价格== NULL){ 价格= “1”; } //参数有中文则需要URL编码 String url =“http://codepay.fateqq.com:52888/creat_order?id=”+ codepay_id +“&pay_id =”+ pay_id +“&price =”+ price +“&type =”+ type +“&token =”+ token +“&param = “+ PARAM +” &notify_url = “+ notify_url +” &return_url =“+ return_url; 如果(令牌== “更改成您的令牌令牌”){ 的out.print(令牌+ “ID”); }其他{ response.sendRedirect是(URL); } %>
JSP验证通知并处理业务代码:
<%@ page language =“java”contentType =“text / html; charset = UTF-8”pageEncoding =“UTF-8”%> <%@ page import =“java.util。*”%> <%@ page import =“java.security.MessageDigest”%> <%@ page import =“java.math。*”%> <% / ** *验证通知处理自己的业务 * / String key =“通信密钥”; //记得更改http://codepay.fateqq.com后台可设置 Map <String,String> params = new HashMap <String,String>(); //申明HashMap的变量储存接收到的参数名用于排序 Map requestParams = request.getParameterMap(); //获取请求的全部参数 String valueStr =“”; //申明字符变量保存接收到的变量 for(Iterator iter = requestParams.keySet()。iterator(); iter.hasNext();){ String name =(String)iter.next(); String [] values =(String [])requestParams.get(name); valueStr = values [0]; //乱码解决,这段代码在出现乱码时使用。如果签不相等也可以使用这段代码转化 // valueStr = new String(valueStr.getBytes(“ISO-8859-1”),“gbk”); params.put(name,valueStr); //增加到params保存 } List <String> keys = new ArrayList <String>(params.keySet()); //转为数组 Collections.sort(键); //重新排序 String prestr =“”; String sign = params.get(“sign”); //获取接收到的sign参数 for(int i = 0; i <keys.size(); i ++){//遍历拼接url拼接成a = 1&b = 2进行MD5签名 String key_name = keys.get(i); 字符串值= params.get(key_name); if(value == null || value.equals(“”)|| key_name.equals(“sign”)){//跳过这些不签名 继续; } if(prestr.equals(“”)){ prestr = key_name +“=”+ value; }其他{ prestr = prestr +“&”+ key_name +“=”+ value; } } MessageDigest md = MessageDigest.getInstance(“MD5”); md.update((prestr +键).getBytes()); String mySign = new BigInteger(1,md.digest())。toString(16).toLowerCase(); 如果(mySign.length()= 32!)mySign = “0” + mySign; 如果(mySign.equals(符号)){ //编码要匹配编码不一致中文会导致加密结果不一致 //参数合法处理业务 //request.getParameter("pay_no“)流水号 //request.getParameter("pay_id“)用户唯一标识 //request.getParameter("money“)付款金额 //request.getParameter("price“)提交的金额 的out.print( “OK”); }其他{ //参数不合法 的out.print( “失败”); } %>
下载说明:
1、本站资源都是白菜价出售,同样的东西,我们不卖几百,也不卖几十,甚至才卖几块钱,一个永久会员能下载全站100%源码了,所以单独购买也好,会员也好均不提供相关技术服务。
2、如果源码下载地址失效请/联系站长QQ进行补发。
3、本站所有资源仅用于学习及研究使用,请必须在24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您权益请联系本站删除!
4、本站站内提供的所有可下载资源(软件等等)本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发);但本网站不能保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug;同时本站用户必须明白,【源码源码ui网】对提供下载的软件等不拥有任何权利(本站原创和特约原创作者除外),其版权归该资源的合法拥有者所有。
5、请您认真阅读上述内容,购买即以为着您同意上述内容。
互保站 » 码支付个人免签对接之JAVA版订单创建及通知接口/码支付注册/码支付官网
1、本站资源都是白菜价出售,同样的东西,我们不卖几百,也不卖几十,甚至才卖几块钱,一个永久会员能下载全站100%源码了,所以单独购买也好,会员也好均不提供相关技术服务。
2、如果源码下载地址失效请/联系站长QQ进行补发。
3、本站所有资源仅用于学习及研究使用,请必须在24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担。资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您权益请联系本站删除!
4、本站站内提供的所有可下载资源(软件等等)本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发);但本网站不能保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug;同时本站用户必须明白,【源码源码ui网】对提供下载的软件等不拥有任何权利(本站原创和特约原创作者除外),其版权归该资源的合法拥有者所有。
5、请您认真阅读上述内容,购买即以为着您同意上述内容。
互保站 » 码支付个人免签对接之JAVA版订单创建及通知接口/码支付注册/码支付官网