会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Hero King
模拟建行网上支付页面通知
Code
本来想用C#.Net开发的,但发现建行提供的dll不能加密,没办法,就用Java写了。
String posID
=
request.getParameter(
"
POSID
"
);
//
POSID 商户柜台代码 CHAR(9) 从商户传送的信息中获得
String branchID
=
request.getParameter(
"
BRANCHID
"
);
//
BRANCHID 分行代码 CHAR(9) 从商户传送的信息中获得
String orderID
=
request.getParameter(
"
ORDERID
"
);
//
ORDERID 定单号 CHAR(30) 从商户传送的信息中获得
String payment
=
request.getParameter(
"
PAYMENT
"
);
//
PAYMENT 付款金额 NUMBER(16,2) 从商户传送的信息中获得
String curCode
=
request.getParameter(
"
CURCODE
"
);
//
CURCODE 币种 CHAR(2) 从商户传送的信息中获得
String remark1
=
new
String(request.getParameter(
"
REMARK1
"
).getBytes(
this
.getServletContext().getInitParameter(
"
URLEncoding
"
)),
this
.getServletContext().getInitParameter(
"
Encoding
"
));
//
REMARK1 备注1 CHAR(30) 网银不处理,直接传到城综网
String remark2
=
new
String(request.getParameter(
"
REMARK2
"
).getBytes(
this
.getServletContext().getInitParameter(
"
URLEncoding
"
)),
this
.getServletContext().getInitParameter(
"
Encoding
"
));
//
REMARK2 备注2 CHAR(30) 网银不处理,直接传到城综网
String success
=
request.getParameter(
"
SUCCESS
"
);
//
SUCCESS 成功标志 CHAR(1) 成功时返回Y N
String sign
=
request.getParameter(
"
SIGN
"
);
//
SIGN 数字签名 CHAR(256)
StringBuffer src
=
new
StringBuffer();
src.append(
"
POSID=
"
+
posID);
src.append(
"
&BRANCHID=
"
+
branchID);
src.append(
"
&ORDERID=
"
+
orderID);
src.append(
"
&PAYMENT=
"
+
payment);
src.append(
"
&CURCODE=
"
+
curCode);
src.append(
"
&REMARK1=
"
+
remark1);
src.append(
"
&REMARK2=
"
+
remark2);
src.append(
"
&SUCCESS=
"
+
success);
RSASig rsaSig
=
new
RSASig();
rsaSig.setPrivateKey(
this
.getInitParameter(
"
PrivateKey
"
));
sign
=
rsaSig.generateSigature(src.toString());
StringBuffer url
=
new
StringBuffer();
url.append(
this
.getInitParameter(
"
PageNoticeUrl
"
));
url.append(
"
?POSID=
"
+
posID);
url.append(
"
&BRANCHID=
"
+
branchID);
url.append(
"
&ORDERID=
"
+
orderID);
url.append(
"
&PAYMENT=
"
+
payment);
url.append(
"
&CURCODE=
"
+
curCode);
url.append(
"
&REMARK1=
"
+
URLEncoder.encode(remark1,
this
.getServletContext().getInitParameter(
"
Encoding
"
)));
url.append(
"
&REMARK2=
"
+
URLEncoder.encode(remark2,
this
.getServletContext().getInitParameter(
"
Encoding
"
)));
url.append(
"
&SUCCESS=
"
+
success);
url.append(
"
&SIGN=
"
+
sign);
log.debug(
"
src:
"
+
src.toString());
log.debug(
"
sign:
"
+
sign);
log.debug(
"
url:
"
+
url.toString());
response.sendRedirect(url.toString());
posted on
2009-10-13 22:01
Hero King
阅读(
366
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
导航
博客园
首页
新随笔
联系
订阅
管理
公告