java工行接口返回商户取货地址
商户返回取货地址报文:如果交易成功后商户需要提供取货地址或希望客户跳转到自己的确认页面,则在接到银行通知消息后需要返回取货地址或商户确认页面的URL给银行,银行将在银行的交易结果页面显示此地址的链接。
提示:
商户返回实质上只是一个内容为URL的字符串,不能有任何多余的东西,包括不能有任何的html的标签;类似以下http回应
HTTP/1.1 200 OK
Server: Apache/1.39
Content-Length: 22
Content-type: text/html
http://www.icbc.com.cn
4、此URL可以通过“?”来挂参数;举例:http://merWeb.com.cn/getGoods.jsp?user=aa&level=3;
银行在显示给客户的交易结果页面上提供此URL的链接,客户点击此链接后,挂的参数将以GET方式提交商户。'
希望做过的朋友帮忙,我的问题就是现在做工行接口,到了成功页面没有显示商户取货地址,我该在接口中通过什么方式传送到工行那边,之前看到的贴里面有用C#写的,但是不能用。
//回URL给银行
string ResStr = "URL确认地址";
Response.Buffer = true;
Response.AddHeader("HTTP/1.1 200", "OK");
Response.AddHeader("Server", "Apache/1.39");
Response.AddHeader("Content-Length",ResStr.Length.ToString());
Response.AddHeader("Content-type", "text/html");
Response.Write(ResStr);
Response.Flush();
请各位高手帮忙,联系我的QQ670042085,深感谢谢! --------------------编程问答-------------------- 如果是页面跳转,要跳转到你服务器的jsp页面,jsp页面有一个form表单,action就是工行的网址,form里面的参数就是工行接口要求的参数,工行服务器是按照参数接收字段内容的,然后写个js,onload事件为form自动提交;
如果是servlet,原理差不多,只是你要按照下面类似的输出
--------------------编程问答-------------------- 学习了。 --------------------编程问答-------------------- 二楼的能不能,留个联系方式,我好直接请教您,谢谢。 --------------------编程问答-------------------- 最近在用java做了工行的支付 --------------------编程问答-------------------- action就是工行的网址 --------------------编程问答-------------------- 可以直接把代码放上来吗,不要伪代码。 --------------------编程问答-------------------- 下面就是jsp页面,如果你觉得还是伪代码,那我也没办法了
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
response.setContentType("test/html");
Cookie cook = new Cookie("","");
PrintWriter out = response.getWriter();
out.println("<html><head><title>Hello World Sample</title></head>");
out.println("<script type='text/javascript'>function submit(){document.form1.submit();}</script>");
out.println("<body onload='submit();'><form name='form1' action='工行接口网址' method='post' ><input type='hidden' name='工行要求的参数名' value='你的取货网址'/></form></body></html>");
out.flush();
out.close();
}
--------------------编程问答-------------------- 我知道你的意思,你是把商户取货地址作为一个隐藏变量传到工行那边去,但你是在支付之前传过去的还是在支付完后得到工行的返回数据再传过去,工行才会在支付成功页面上显示取货链接呢? --------------------编程问答-------------------- 支付前
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%
String url=(String)request.getAttribute("url");//商户网站取货url
String icbcUrl = "http://******";//工行接口的URL
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<<script type="text/javascript">
<!--
function submit(){
document.form1.submit();
}
//-->
</script>
</head>
<body onload="submit();">
<form name="form1" action="<%=icbcUrl %>" method="post">
<input name="url" type="hidden" value="<%=url %>"/>
</form>
</body>
我想你既然做工行的商户,工行肯定有接口文档,里面规定了哪些域
按照一个完整的支付流程
商户提交给银行的支付信息除了一些交易信息: 订单号、订单金额、币种、清算时间、签名信息等
跳转地址也是必须的,客户在银行网银完成支付的结果页面是根据这个地址跳转的
还有一些如商户网站跳转前的session信息,额外的信息如取货地址,这些信息银行会原封不动的返回
--------------------编程问答-------------------- 主要是取货地址,不能写在session中,而且我如果用一个隐藏参数传过去也没有参数名,接口文档中根本就没有取货地址的参数名称,我刚才试过传过去,直接报超时。 --------------------编程问答-------------------- 已搞定,谢谢各位。 --------------------编程问答-------------------- 亲,我也是同样的问题啊,不知道怎么返回取货地址。能指导一下吗?QQ:760399631
补充:Java , Web 开发