struts调用支付宝接口
[java]
一、ACTION类关键代码 没用的包可以干掉
一、ACTION类关键代码 没用的包可以干掉[java] view plaincopyprint?package com.hzdracom.alipay.action;
import it.sauronsoftware.base64.Base64;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.dom4j.Document;
import org.springframework.stereotype.Controller;
import com.alibaba.fastjson.JSON;
import com.hzdracom.action.BaseAction;
import com.hzdracom.config.AlipayConfig;
import com.hzdracom.util.AlipaySubmit;
import com.hzdracom.util.HTTPService;
import com.hzdracom.util.UtilDate;
import com.hzlq.source.security.DESUtil;
/*
* 支付宝付款接口
* @author ZhuangZi
* @Directions
* @version $Id: AliPayAction.java,v 0.1 2013-3-27 下午04:49:57 ZhuangZi Exp $
*/
@Controller
public class AliPayAction extends BaseAction {
private String phoneCode;
private String totalfee;
/**
* 调用支付宝接口
* @author ZhuangZi
* @class com.hzdracom.alipay.action.AliPayAction
* @method AliPay
* @Directions 调用支付宝接口
* @date 2013-3-27下午04:53:35 void
*/
public void pay() {
try {
/*1****生成支付宝交易号,根据时间到毫秒级别*/
String out_trade_no = UtilDate.getOrderNum() ;
/*2*****↓↓↓↓↓↓↓↓↓↓把请求参数打包成数组↓↓↓↓↓↓↓↓↓↓*/
Map
sParaTemp = getPayPrama(totalfee, out_trade_no);
/*3*****↓↓↓↓↓↓↓↓↓↓请求支付宝接口↓↓↓↓↓↓↓↓↓↓*/
String json = AlipaySubmit.buildRequest(sParaTemp, "get", "确认");
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out;
out = response.getWriter();
json = JSON.toJSONString(json);
out.write(json);
out.flush();
out.close();
} catch (IOException e) {
}
}
/**
*
* @author ZhuangZi
* @class com.hzdracom.alipay.action.AliPayAction
* @method GetPayPrama
* @Directions 封装调用支付宝参数
* @date 2013-4-1下午05:26:11
* @param totalfee 金额
* @param out_trade_no 订单编号
* @return Map
*/
public Map
Map
sParaTemp.put("service", "create_direct_pay_by_user");
sParaTemp.put("partner", AlipayConfig.partner);
sParaTemp.put("_input_charset", AlipayConfig.input_charset);
sParaTemp.put("payment_type", AlipayConfig.payment_type);
/*服务器异步通知页面路径//需http://格式的完整路径,不能加?id=123这类自定义参数*/
sParaTemp.put("notify_url", AlipayConfig.notify_url);
/*页面跳转同步通知页面路径 //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/*/
sParaTemp.put("return_url", AlipayConfig.return_url);
/*卖家支付宝帐户*/
sParaTemp.put("seller_email", AlipayConfig.seller_email);
/*商户订单号*/
sParaTemp.put("out_trade_no", out_trade_no);
/*订单名称*/
sParaTemp.put("subject", AlipayConfig.subject);
/*付款金额*/
sParaTemp.put("total_fee", totalfee);
/*订单描述*/
sParaTemp.put("body", AlipayConfig.body);
/*需以http://开头的完整路径,
sParaTemp.put("show_url", AlipayConfig.show_url);
//防钓鱼时间戳
sParaTemp.put("anti_phishing_key", AlipayConfig.anti_phishing_key);
/*客户端的IP地址 非局域网的外网IP地址,如:221.0.0.1*/
sParaTemp.put("exter_invoke_ip", AlipayC补充:Web开发 , Jsp ,