koushen001 / zhifubao Goto Github PK
View Code? Open in Web Editor NEW支付宝即时到帐
支付宝即时到帐
╭───────────────────────╮ ────┤ 支付宝代码示例结构说明 ├──── ╰───────────────────────╯ 接口名称:支付宝即时到账交易接口(create_direct_pay_by_user) 代码版本:3.3 开发语言:JAVA 版 权:支付宝(**)网络技术有限公司 制 作 者:支付宝商户事业部技术支持组 联系方式:商户服务电话0571-88158090 ───────────────────────────────── ─────── 代码文件结构 ─────── create_direct_pay_by_user-JAVA-UTF-8 │ ├src┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈类文件夹 │ │ │ ├com.alipay.config │ │ │ │ │ └AlipayConfig.java┈┈┈┈┈基础配置类文件 │ │ │ ├com.alipay.util │ │ │ │ │ ├AlipayCore.java┈┈┈┈┈┈支付宝接口公用函数类文件 │ │ │ │ │ ├AlipayNotify.java┈┈┈┈┈支付宝通知处理类文件 │ │ │ │ │ ├AlipaySubmit.java┈┈┈┈┈支付宝各接口请求提交类文件 │ │ │ │ │ └UtilDate.java┈┈┈┈┈┈┈支付宝自定义订单类文件 │ │ │ ├com.alipay.md5 │ │ │ │ │ └MD5.java ┈┈┈┈┈┈┈┈┈MD5签名类文件 │ │ │ └com.alipay.util.httpClient(已封装) │ │ │ ├HttpProtocolHandler.java ┈支付宝HttpClient处理类文件 │ │ │ ├HttpRequest.java ┈┈┈┈┈支付宝HttpClient请求类文件 │ │ │ ├HttpResponse.java┈┈┈┈┈支付宝HttpClient返回类文件 │ │ │ └HttpResultType.java┈┈┈┈支付宝HttpClient返回的结果字符方式类文件 │ ├WebRoot┈┈┈┈┈┈┈┈┈┈┈┈┈┈页面文件夹 │ │ │ ├alipayapi.jsp┈┈┈┈┈┈┈┈┈支付宝接口入口文件 │ │ │ ├index.jsp┈┈┈┈┈┈┈┈┈┈┈支付宝调试入口页面 │ │ │ ├notify_url.jsp ┈┈┈┈┈┈┈┈服务器异步通知页面文件 │ │ │ ├return_url.jsp ┈┈┈┈┈┈┈┈页面跳转同步通知文件 │ │ │ └WEB-INF │ │ │ └lib(如果JAVA项目中包含这些架包,则不需要导入) │ │ │ ├commons-codec-1.6.jar │ │ │ ├commons-httpclient-3.0.1.jar │ │ │ ├commons-logging-1.1.1.jar │ │ │ ├dom4j-1.6.1.jar │ │ │ └jaxen-1.1-beta-6.jar │ └readme.txt ┈┈┈┈┈┈┈┈┈使用说明文本 ※注意※ 需要配置的文件是: alipay_config.java alipayapi.jspreturn_url.jsp notify_url.jsp 本代码示例(demo)中模拟获取远程HTTP信息使用的是commons-httpclient-3.0版本的第三方架包、及支付宝的httpClient封装类。 如果您不想使用该方式实现模拟获取远程HTTP功能,那么可以用其他方式代替,此时需您自行编写代码。 ───────── 类文件函数结构 ───────── AlipayCore.java public static Map paraFilter(Map<String, String> sArray) 功能:除去数组中的空值和签名参数 输入:Map<String, String> sArray 要签名的数组 输出:Map<String, String> 去掉空值与签名参数后的新签名参数组 public static String createLinkString(Map<String, String> params) 功能:把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 输入:Map<String, String> params 需要拼接的数组 输出:String 拼接完成以后的字符串 public static void logResult(String sWord) 功能:写日志,方便测试(看网站需求,也可以改成存入数据库) 输入:String sWord 要写入日志里的文本内容 public static String getAbstract(String strFilePath, String file_digest_type) throws IOException 功能:生成文件摘要 输入:String strFilePath 文件路径 String file_digest_type 摘要算法 输出:String 文件摘要结果 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ MD5.java public static String sign(String text, String key, String input_charset) 功能:MD5签名 输入:String text 明文 String key 私钥 String input_charset 编码格式 输出:String 签名结果 public static boolean verify(String text, String sign, String key, String input_charset) 功能:MD5验签名检查 输入:String text 明文 String sign 支付宝的签名值 String key 私钥 String input_charset 编码格式 输出:boolean 签名结果 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ AlipayNotify.java public static boolean verify(Map<String, String> params) 功能:根据反馈回来的信息,生成签名结果 输入:Map<String, String> Params 通知返回来的参数数组 输出:boolean 验证结果 private static boolean getSignVeryfy(Map<String, String> Params, String sign) 功能:根据反馈回来的信息,验证签名 输入:Map<String, String> Params 通知返回来的参数数组 String sign 支付宝的签名值 输出:boolean 签名结果 private static String verifyResponse(String notify_id) 功能:获取远程服务器ATN结果,验证返回URL 输入:String notify_id 验证通知ID 输出:String 验证结果 private static String checkUrl(String urlvalue) 功能:获取远程服务器ATN结果 输入:String urlvalue 指定URL路径地址 输出:String 服务器ATN结果字符串 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ AlipaySubmit.java public static String buildRequestMysign(Map<String, String> sPara) 功能:生成签名结果 输入:Map<String, String> sPara 要签名的数组 输出:String 签名结果 private static Map<String, String> buildRequestPara(Map<String, String> sParaTemp) 功能:生成要请求给支付宝的参数数组 输入:Map<String, String> sParaTemp 请求前的参数数组 输出:Map<String, String> 要请求的参数数组 public static String buildRequest(Map<String, String> sParaTemp, String strMethod, String strButtonName) 功能:建立请求,以表单HTML形式构造(默认) 输入:Map<String, String> sParaTemp 请求参数数组 String strMethod 提交方式。两个值可选:post、get String strButtonName 确认按钮显示文字 输出:String 提交表单HTML文本 public static String buildRequest(Map<String, String> sParaTemp, String strMethod, String strButtonName, String strParaFileName) 功能:建立请求,以表单HTML形式构造,带文件上传功能 输入:Map<String, String> sParaTemp 请求参数数组 String strMethod 提交方式。两个值可选:post、get String strButtonName 确认按钮显示文字 String strParaFileName 文件上传的参数名 输出:String 提交表单HTML文本 public static String buildRequest(String strParaFileName, String strFilePath,Map<String, String> sParaTemp) throws Exception 功能:建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果 输入:String strParaFileName 文件类型的参数名 String strFilePath 文件路径 Map<String, String> sParaTemp 请求参数数组 输出:String 支付宝处理结果 private static NameValuePair[] generatNameValuePair(Map<String, String> properties) 功能:MAP类型数组转换成NameValuePair类型 输入:Map<String, String> sParaTemp MAP类型数组 输出:NameValuePair[] NameValuePair类型数组 public static String query_timestamp() 功能:用于防钓鱼,调用接口query_timestamp来获取时间戳的处理函数 输出:String 时间戳字符串 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ UtilDate.java public static String getOrderNum() 功能:自动生出订单号,格式yyyyMMddHHmmss 输出:String 订单号 public static String getDateFormatter() 功能:获取日期,格式:yyyy-MM-dd HH:mm:ss 输出:String 日期 public static String getDate() 功能:获取日期,格式:yyyyMMdd 输出:String 日期 public static String getThree() 功能:产生随机的三位数 输出:String 随机三位数 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ ────────── 出现问题,求助方法 ────────── 如果在集成支付宝接口时,有疑问或出现问题,可使用下面的链接,提交申请。 https://b.alipay.com/support/helperApply.htm?action=supportHome 我们会有专门的技术支持人员为您处理
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.