当前位置:编程学习 > JS >>

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 = new HashMap(); 
            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 getPayPrama(String totalfee, String out_trade_no) { 
        Map sParaTemp = new HashMap(); 
        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 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,