在线支付
来源:互联网 发布:负面情绪 知乎 编辑:程序博客网 时间:2024/04/28 13:30
需求:在购物车中点击支付,提交到选择银行支付页面,用到了第三方支付平台。
银行有很多,我们建立的网站需要与各个网站建立关联,那么就需要针对每一个银行编写不同的程序,代价会很高。而现在的第三方支付平台在专门做与银行交互的工作,我们将任务提交给第三方交易平台做就可以了。
以易宝为例。
思路:
1,首先在购物车的页面中点击支付按钮,将当前总价和订单编号提交到servlet,并转发到jsp显示,选择银行。
2,选择后点击提交,会提交到一个servlet中,这个servlet对需要连接第三方支付平台的信息进行了配置,并重定向到第三方支付平台进行付款。
3,第三方支付平台会将请求提交到银行,银行确认支付后将信息反馈给第三方支付平台,第三方支付平台再向商家确认有没有收到支付的货款。
4,交易完成。
核心代码:
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//获得参数。String orderId = request.getParameter("orderId");String amount = request.getParameter("amount");String frpId = request.getParameter("frpId");//填写信息。String p0_Cmd = "Buy";String p1_MerId = "10001126856";String p2_Order = orderId;String p3_Amt = amount;String p4_Cur = "CNY";String p5_Pid = "itcast";String p6_Pcat = "";String p7_Pdesc = "";String p8_Url = "http://localhost:8080/day17_ebookstore/servlet/PaySuccessServlet";String p9_SAF = "1";String pa_MP = "";String pd_FrpId = 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);//工具类//重定向到易寶網站String url = "https://www.yeepay.com/app-merchant-proxy/node?"+"p0_Cmd=" + p0_Cmd +"p1_MerId=" + p1_MerId +"p2_Order=" + p2_Order +"p3_Amt=" + p3_Amt +"p4_Cur=" + p4_Cur +"p5_Pid=" + p5_Pid +"p6_Pcat=" + p6_Pcat +"p7_Pdesc=" + p7_Pdesc +"p8_Url=" + p8_Url +"p9_SAF=" + p9_SAF +"pa_MP=" + pa_MP +"pd_FrpId=" + pd_FrpId +"pr_NeedResponse=" + pr_NeedResponse +"hmac=" + hmac;//重定向response.sendRedirect(url);}
- 在线支付
- 在线支付
- 在线支付
- 在线支付
- 在线支付
- 在线支付
- 在线支付
- 支付宝在线支付
- 第三方支付,在线支付
- 支付宝在线支付接口
- 【在线支付】在线支付的方式
- 【在线支付】在线支付流程分析
- 【在线支付】在线支付代码详解
- paypal在线支付使用
- Paypal 在线支付接口
- java实现在线支付
- java实现在线支付
- 在线支付应用开发:
- 事务-转账案例
- 【android-tips】SurfaceView的制作android游戏框架介绍
- 面试题笔试题——数组排序交换次数
- linux系统信息查看命令
- Centos 6 安装Nvidia显卡驱动的详细方法
- 在线支付
- linux的mount(挂载)命令
- Hibernate高级查询
- 多线程同步-mutex
- 动态代理
- Irrlicht学习之创建GUI界面
- 字符串的内容一旦声明则不可改变 Why?
- STL中优先队列的使用方法
- 表单重复提交