订单在线支付

Action

public  class OrderAction extends ActionSupport implements ModelDriven<Order> {
    //模型驱动要使用的对象
    private Order order=new Order();

    //注入OrderService
    private OrderService orderService;
//接收支付通道编码
    private String pd_FrpId;
    //接收付款成功后的响应数据
    private String r6_Order;
    private String r3_Amt;
      //set
public Order getModel() {
        // TODO Auto-generated method stub
        return order;
    }
//为订单付款的方法payOrder
    public String payOrder() throws IOException{

        //修改订单
        Order currOrder=orderService.findByOid(order.getOid());
        currOrder.setAddr(order.getAddr());
        currOrder.setName(order.getName());
        currOrder.setPhone(order.getPhone());
        orderService.update(order);

        //为订单付款
        String p0_Cmd = "Buy";  //业务类型
        String p1_MerId = "10001126856";   //商户编号
        String p2_Order = order.getOid().toString();  //订单编号
        String p3_Amt = "0.01";        //支付金额
        String p4_Cur = "CNY";        //交易币种
        String p5_Pid ="";        //商品名称
        String p6_Pcat ="";        //商品种类
        String p7_Pdesc ="";    //商品描述
        String p8_Url ="http://localhost:8080/shop/order_callBack.action";        //支付成功后的跳转页面
        String p9_SAF ="";        //送货地址
        String pa_MP = "";        //拓展信息
        String pd_FrpId = this.pd_FrpId;//支付通道编码
        String pr_NeedResponse = "1"; //应答机制
        String keyValue ="69cl522AV6q613Ii4W6u8K6XuW8vM1N6bFgyv769220IuYe9u37N4y7rI4Pl";
        String hmac = PaymentUtil.buildHmac(p0_Cmd, p1_MerId, p2_Order, p3_Amt, p4_Cur, p5_Pid, p6_Pcat, p7_Pdesc, p8_Url, p9_SAF, pa_MP, pd_FrpId, pr_NeedResponse, keyValue);

        //向易宝出发
        StringBuffer stringBuffer=new StringBuffer("https://www.yeepay.com/app-merchant-proxy/node?");
        stringBuffer.append("p0_Cmd=").append(p0_Cmd).append("&");
        stringBuffer.append("p1_MerId=").append(p1_MerId).append("&");
        stringBuffer.append("p2_Order=").append(p2_Order).append("&");
        stringBuffer.append("p3_Amt=").append(p3_Amt).append("&");
        stringBuffer.append("p4_Cur=").append(p4_Cur).append("&");
        stringBuffer.append("p5_Pid=").append(p5_Pid).append("&");
        stringBuffer.append("p6_Pcat=").append(p6_Pcat).append("&");
        stringBuffer.append("p7_Pdesc=").append(p7_Pdesc).append("&");
        stringBuffer.append("p8_Url=").append(p8_Url).append("&");
        stringBuffer.append("p9_SAF=").append(p9_SAF).append("&");
        stringBuffer.append("pa_MP=").append(pa_MP).append("&");
        stringBuffer.append("pd_FrpId=").append(pd_FrpId).append("&");
        stringBuffer.append("pr_NeedResponse=").append(pr_NeedResponse).append("&");
        stringBuffer.append("keyValue=").append(keyValue).append("&");
        stringBuffer.append("hmac=").append(hmac);

        //重定向到易宝
        ServletActionContext.getResponse().sendRedirect(stringBuffer.toString());
        return NONE;
    }

    //付款成功后的转向
    public String callBack(){
        //修改订单状态:修改状态为已经付款
        Order currOrder=orderService.findByOid(Integer.parseInt(r6_Order));
        currOrder.setState(2);
        orderService.update(currOrder);
        //在页面显示付款成功信息
        this.addActionMessage("订单付款成功:订单编号:"+r6_Order+"付款的金额:"+r3_Amt);
        return "msg";
    }

}

JSP

<form id="orderForm" action="${ pageContext.request.contextPath }/order_payOrder.action" method="post">
  <input type="hidden" name="oid" value="<s:property value="model.oid"/>"/>
  <div class="span24">
    <p>
      收货地址:<input name="order.user.addr" type="text" value="<s:property value="model.user.addr"/>" style="width:350px" />
        <br />
      收货人&nbsp;&nbsp;&nbsp;:<input name="order.user.username" type="text" value="<s:property value="model.user.name"/>" style="width:150px" />
        <br />
      联系方式:<input name="order.user.phone" type="text" value="<s:property value="model.user.phone"/>" style="width:150px" />    </p>  </div></form>
时间: 2024-10-29 03:04:53

订单在线支付的相关文章

estore商城案例(四、五)------添加购物车&amp;购物车显示/生成订单&amp;在线支付

一.添加购物车 1.获得商品id提交到servlet程序 2.根据id获取product对象 3.判断seesion中是否有存在购物车session.没有的话表示  添加的第一件商品  需要先创建session:有的话直接在session里添加获得的produce(添加product 要先判断session中是否存在对应的商品,存在话直接修改商品数量,没有的话新添加这个商品). servlet程序代码: 1 public void doGet(HttpServletRequest request

在线支付功能的设计及其实现

----------------------------------------------------------------------------------------------[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52154672作者:朱培      ID:sdksdk0      邮箱: [email protected]   ------------------------

PHP商城网站绑定中国银联在线支付接口

PHP商城网站绑定中国银联在线支付接口用的越来越广泛,我们公司这几年给客户建立过很多的商城网站,今天就分析下怎么为自己的PHP商城网站接入中国银联在线支付端的接口.在使用前我们必须先申请成为中国银联在线支付的商户. 第一步:下载中国银联官方PHP支付接口文件 进入中国银联在线官方网站的商户服务网站,下载PHP的技术资料端口文件(https://online.unionpay.com/mer/pages/merser/index.jsp这是中国银联在线支付商户服务网站),点击右上角的“文档下载”

在线支付之易宝支付的使用方法

项目中实现在线支付的功能有两种方式: 第一种方式:使用银行提供的接口直接和银行对接.这种方式不用交第三方费用,但是如果要接入多个银行,则需要在本网站中一一使用不同银行提供的接口,这个过程比较麻烦,其次商业银行一般只对大型企业及集团公司的网站提供接口,对个人及小企业的网站不提供,所以个人网站或者小企业网站接入商业银行比较困难: 第二种方式:通过第三方支付平台使网站和银行间接对接:第三方支付平台整合所有类型银行的接口,直接和银行对接:我们自己的网站只需要调用第三方支付平台的接口就可以实现和银行的间接

如何接入中国工商银行网上银行B2C在线支付接口

中国工商银行网上银行B2C在线支付接口说明,亲测可行. 工具/原料 merID:银行提供.唯一确定一个商户的代码,由商户在工行开户时,由工行告知商户. merAcct:银行提供 , 商城收费入账账号 (只能交易时指定). 懂得html代码跟PHP的程序员一名 方法/步骤 1 到银行开户,说明要做B2C在线支付接口,此时银行会提供给你 merID  .merAcct  这两个 2 由程序员按照一下步骤来做即可,在商城提交表单的页面添加以下控件. 3 <html xmlns=http://www.w

网银在线支付接口和应用

最近关注项目中在线支付,所以看一下文档,在线支付应用开发: 基本所有的在线支付均采用以下方式: 客户点击结帐时将关于訂單的信息和货币信息,相应的信息URL,经过md5或其他方式发送(可能Socket和Http或Https)支付平台(块钱,paypal或支付宝等),支付平臺处理完毕时根据相应URL,返回相关的信息(付款信息,訂單信息,验证信息). 在实际操作Money的问题人们一向关注他的安全性等问题,同时本人习惯在通过http方式访问非外网时采用Commons-httpclient的post发送

Android集成支付宝接口 实现在线支付

手机的在线支付,被认为是2012年最看好的功能,我个人认为这也是移动互联网较传统互联网将会大放光彩的一个功能. 人人有手机,人人携带手机,花钱买东西,不再需要取钱付现,不再需要回家上网银,想买什么,扫描一下,或者搜索一下,然后下单,不找零,直接送到你家,这将是手机支付给我们带来的全新交易体验.谷歌刚推出了谷歌钱包,这必是我们后面要使用的主要手段,但是鉴于当前国情,我觉得有必要介绍一下android手机集成支付宝功能. 1.下载官方架包和说明文档其实官方已经提供了安装指南,下载地址:https:/

web day25 web day24 小项目练习图书商城, 购物车模块,订单模块,支付(易宝支付)

购物车模块 购物车存储: 保存在session中(本次使用的) 保存在cookie中 保存在数据库中 购物车相关类 购物车结构 CartItem:包含图书和数量,小计 Cart:包含一个Map<String,CartItem>和部分购物车操作方法 修改登录方法,在用户登录成功后,马上在session中添加一辆车 页面负责遍历存在session域中的购物车属性 添加购物车条目 清空购物车条目 指定删除购物车条目 图 我的购物车 top.jsp中存在一个链接:我的购物车 我的购物车直接访问/jsp

在线支付技术

在线支付就是客户端将支付信息加密后通过互联网传送到支付网关,同时金融机构网上支付系统反馈有关支付信息,客户确认无误后进行支付确定,支付网关负责商户网上交易资金的清算,并根据商户提供的开户银行.账号等结账信息将网上消费款项汇总划入商户账户. 注意: 1.金融机构需要客户端安装由金融机构签发的数字证书,信用卡的话免安装. 2.支付网关是解决网络上安全支付问题的交易平台,位于互联网和传统的金融机构内部网之间,它的主要作用是将互联网和金融网络安全的链接起来,将不安全的网上交易信息传给安全的金融网络,起到