标签:
支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url.//获取支付宝POST过来反馈信息
Map<String,String> params = new HashMap<String,String>();
Map requestParams = request.getParameterMap();
for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
String name = (String) iter.next();
String[] values = (String[]) requestParams.get(name);
String valueStr = "";
for (int i = 0; i < values.length; i++) {
valueStr = (i == values.length - 1) ? valueStr + values[i]
: valueStr + values[i] + ",";
}
//乱码解决,这段代码在出现乱码时使用。如果mysign和sign不相等也可以使用这段代码转化
//valueStr = new String(valueStr.getBytes("ISO-8859-1"), "gbk");
params.put(name, valueStr);
}
//获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表(以下仅供参考)//
//商户订单号
String out_trade_no = new String(request.getParameter("out_trade_no").getBytes("ISO-8859-1"),"UTF-8");
//支付宝交易号
String trade_no = new String(request.getParameter("trade_no").getBytes("ISO-8859-1"),"UTF-8");
//交易状态
String trade_status = new String(request.getParameter("trade_status").getBytes("ISO-8859-1"),"UTF-8");
//获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表(以上仅供参考)//
if(AlipayNotify.verify(params)){//验证成功
//////////////////////////////////////////////////////////////////////////////////////////
//请在这里加上商户的业务逻辑程序代码
//——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
if(trade_status.equals("TRADE_FINISHED")){//交易完成
//更新订单状态
}
} else if (trade_status.equals("TRADE_SUCCESS")){
//更新订单状态<pre name="code" class="java">
}//——请根据您的业务逻辑来编写程序(以上代码仅作参考)——out.println("success"); //请不要修改或删除//////////////////////////////////////////////////////////////////////////////////////////}else{//验证失败out.println("fail");}
9、该页面的Html页面中必须是空白、无任何Html标签、无任何空格、不允许做页面跳转。
支付宝异步通知(notify_url)与return_url.
标签:
原文地址:http://blog.csdn.net/sinat_25926481/article/details/51298946