java在线支付---05_在线支付_编写用于准备请求数据的Servlet
05_在线支付_编写用于准备请求数据的Servlet
创梦综合技术qq交流群:CreDream:251572072
--------------------------------------------------
c./payment/src/com/credream/servlet/PaymentRequest.java
package com.credream.servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.credream.utils.PanymentUtil;
/**
* 发起支付请求
* @author 传智播客
*
*/
public class PaymentRequest extends HttpServlet {
throws ServletException, IOException {
this.doPost(request, response);
}
throws ServletException, IOException {
/*
* p1_MerId=10000326625// 商家的id
keyValue=0acqgug6x57m0wrsiod6clpn1ezh47r2ot5h1zkq5dztiic8y5xkm5g0p0ek //密钥
merchantCallbackURL=http\://localhost\:8080/payment/servlet/yeepay/response //
// 这个地址是用来接收易宝支付返回结果的路径.这个路径必须外网可以访问.
* */
request.setCharacterEncoding("GBK");
String orderid = request.getParameter("orderid");//订单号
String amount = request.getParameter("amount");//支付金额
String pd_FrpId = request.getParameter("pd_FrpId");//选择的支付银行
String p1_MerId = ConfigInfo.getValue("p1_MerId");
String keyValue = ConfigInfo.getValue("keyValue");
String merchantCallbackURL = ConfigInfo.getValue("merchantCallbackURL");
String messageType = "Buy"; // 请求命令,在线支付固定为Buy
String currency = "CNY"; // 货币单位
String productDesc = ""; // 商品描述
String productCat = ""; // 商品种类
String productId = ""; // 商品ID
String addressFlag = "0"; // 需要填写送货信息 0:不需要 1:需要
String sMctProperties = ""; // 商家扩展信息
String pr_NeedResponse = "0"; // 应答机制
// 下面这个方法用来进行加密.通过调用加密类.
String md5hmac = PanymentUtil.buildHmac(messageType, p1_MerId, orderid, amount, currency,
productId, productCat, productDesc, merchantCallbackURL, addressFlag, sMctProperties,
pd_FrpId, pr_NeedResponse, keyValue);
// 得到加密后的字串.
request.setAttribute("messageType", messageType);
request.setAttribute("merchantID", p1_MerId);
request.setAttribute("orderId", orderid);
request.setAttribute("amount", amount);
request.setAttribute("currency", currency);
request.setAttribute("productId", productId);
request.setAttribute("productCat", productCat);
request.setAttribute("productDesc", productDesc);
request.setAttribute("merchantCallbackURL", merchantCallbackURL);
request.setAttribute("addressFlag", addressFlag);
request.setAttribute("sMctProperties", sMctProperties);
request.setAttribute("frpId", pd_FrpId);
request.setAttribute("pr_NeedResponse", pr_NeedResponse);
request.setAttribute("hmac", md5hmac);
request.getRequestDispatcher("/WEB-INF/page/connection.jsp").forward(request, response);
}
--------------------------------------------------------------------------------------------
d./payment/src/merchantInfo.properties
p1_MerId=10000326625
keyValue=0acqgug6x57m0wrsiod6clpn1ezh47r2ot5h1zkq5dztiic8y5xkm5g0p0ek
merchantCallbackURL=http\://localhost\:8080/payment/servlet/yeepay/response
第一个是商户的id,第二个是易宝给商户的密钥,第三个是接收易宝支付返回的支付结果的地址.
----------------------------------------------------------------------------------
e./payment/src/com/credream/utils/ConfigInfo.java
package com.credream.utils;
import java.util.ResourceBundle;
/**
* 读取配置文件
*
*/
public class ConfigInfo {
// 读取配置文件.
// private static ResourceBundle cacheBundle =null;
private static Properties cache = new Properties();
static{
try {
// cacheBundle = ResourceBundle.getBundle("");
cache.load(ConfigInfo.class.getClassLoader().getResourceAsStream("merchantInfo.properties"));
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取指定key的值
* @param key
* @return
*/
public static String getValue(String key){
return cache.getProperty(key);
}
}
---------------------------------------------------------------------------------------------------
java在线支付---05_在线支付_编写用于准备请求数据的Servlet相关推荐
- 如何编写数据库可视化界面_编写用于数据可视化的替代文本
如何编写数据库可视化界面 什么是替代文字 (What is Alt Text) Alt text (sometimes called Alt tags or alternative text) are ...
- java代码优化的方法和准则_编写高质量代码:改善Java程序的151个建议(第1章:JAVA开发中通用的方法和准则___建议16~20)...
建议16:易变业务使用脚本语言编写 Java世界一直在遭受着异种语言的入侵,比如PHP,Ruby,Groovy.Javascript等,这些入侵者都有一个共同特征:全是同一类语言-----脚本语言,它 ...
- java robot 控制 不用用户 界面_编写一个基于Java Robot类的屏幕捕获工具
Fun and Games(娱乐和游戏)提供了通过Java的Robot类捕获主屏幕设备的功能,并且可以将整个屏幕或者选定的一部分保存为jpeg文件.这篇文章以Swing应用的形式实现了屏幕捕获工具. ...
- 用java提示用户输入学生个数_编写程序,提示用户输入一个数N,然后显示1~N的所有偶数平方值,求大神看看我写的程序哪里有问题。。...
点击查看编写程序,提示用户输入一个数N,然后显示1~N的所有偶数平方值,求大神看看我写的程序哪里有问题..具体信息 答: 修改后的程序:#includeint main(){int n,a,b;pri ...
- 用java输入学生姓名查询成绩_编写一个Java程序,提示用户输入学生数量,学生姓名和他们的成绩,并按照成绩的降序打印学生姓名...
importjava.util.Scanner;publicclassmyclass{publicstaticvoidmain(String[]args){Scannerinput=newScanne ...
- java通过电话扒取姓名_编写Java程序,输入N个用户的姓名和电话号码,按照用户姓名的词典顺序排列输出用户的姓名和电话号码...
展开全部 如下:看看满不满足要求,不对追问.import java.util.ArrayList; import java.util.Collections; import java.util.Com ...
- java代码异常处理会影响性能_编写高质量代码改善java程序的151个建议——[110-117]异常及Web项目中异常处理...
原创地址:http://www.cnblogs.com/Alandre/(泥沙砖瓦浆木匠),需要转载的,保留下! 文章宗旨:Talk is cheap show me the code. 大成若缺,其 ...
- 一个java小程序运行结果图_编写以下程序,并上传源代码和运行结果截图,附件中上传java源程序。...
[填空题]向慈善组织捐款 [简答题]你的组员.岗位.团队名.口号是什么? [单选题]被称为"生命中枢"的脑组织是( ). [单选题]已知偶函数 的图象经过 ,则函数的图象必经过另一 ...
- 用java程序for循环打印菱形_编写Java程序,应用for循环打印菱形、三角形
//输出三角形//右上 for(int m = 1; m <= 10; m++) {for (int n = 1; n <= m; n++) { System.out.print(&quo ...
最新文章
- IJCAI 2019精选论文一览,从底层到应用都有了
- 一款很好用的页面滚动元素动画插件-AOS.JS
- 一个简单函数的反汇编分析
- Java基础入门笔记-对象的销毁
- OpenCV4每日一练day6:Image Watch的使用
- 【Spring学习笔记-MVC-12】Spring MVC视图解析器之ResourceBundleViewResolver
- Elasticsearch 集群报错 master not discovered yet
- python使用moviepy包下的VideoFileClip时报错:OSError: [WinError 6] 句柄无效解决方法
- html代码标签优化与提速,HTML代码标签优化与提速
- 星球矿石盲盒流量主小程序
- 350套前端网站模板
- php网页加入音乐和歌词,怎么给视频加歌词,给mv加歌词,视频加歌词字幕
- 微信小程序——获取当前人微信绑定的手机号码
- 小米手机 5 开启【开发者选项】
- Vim文本编辑器及文本处理常用操作
- LIMIT 10000,10会发生什么?
- 字符串匹配 - Overview
- 【2022-01-11】JS逆向之拉钩登入(上)
- 假如当初知道skycc营销软件是不是比现在好
- Python数字、字符串、数组之间的相互转换