支付宝支付--手机支付
来源:互联网 发布:软件商务网 编辑:程序博客网 时间:2024/05/17 03:55
1.首先要注册称为支付宝商家
https://b.alipay.com/newIndex.htm
2.注册完成之后,签约产品,选择合适的支付方式,比如说移动支付,手机网站支付等
我选择的是手机网站支付
3.点击查询PID、Key,需要输入支付密码
4.配置商家公钥到支付宝
如何上传请参考网址 https://cshall.alipay.com/enterprise/help_detail.htm?help_id=473890&keyword=%C8%E7%BA%CE%C9%FA%B3%C9RSA%C3%DC%D4%BF&sToken=&from=search
5.进入技术集成界面
https://b.alipay.com/order/techService.htm
6. 下载手机网站支付包,解压配置到Tomcat中
7.配置com.alipay.config 包中 AlipayConfig类里面的参数
具体可以参考:
╭───────────────────────╮ ────┤ 支付宝代码示例结构说明 ├──── ╰───────────────────────╯ 接口名称:支付宝手机网站支付接口(alipay.wap.create.direct.pay.by.user) 代码版本:3.3 开发语言:JAVA 版 权:支付宝(中国)网络技术有限公司 制 作 者:支付宝商户事业部技术支持组 联系方式:商户服务电话0571-88158090 ──────────────────────────────────────── 代码文件结构───────alipay.wap.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.rsa │ │ │ │ │ ├RSA.java ┈┈┈┈┈┈┈┈┈RSA签名类文件 │ │ │ │ │ └Base64.java┈┈┈┈┈┈┈┈RSA密钥转换 │ │ │ └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.javaalipayapi.jspreturn_url.jspnotify_url.jsp本代码示例(demo)中模拟获取远程HTTP信息使用的是commons-httpclient-3.0版本的第三方架包、及支付宝的httpClient封装类。如果您不想使用该方式实现模拟获取远程HTTP功能,那么可以用其他方式代替,此时需您自行编写代码。●商户的私钥、商户的公钥、支付宝公钥◆商户的私钥1、必须保证只有一行文字,即,没有回车、换行、空格等2、需对刚生成的(原始的)私钥做pkcs8编码3、编码完成后,复制该段私钥,并去掉里面的回车、换行、空格等◆商户的公钥1、必须保证只有一行文字,即,没有回车、换行、空格等2、去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”,只保存这两条文字之中的部分3、保存好后,命名须“合作者身份ID.dat”的命名方式,如:2088101568342279.dat4、重命名后,交给支付宝◆支付宝公钥1、必须保证只有一行文字,即,没有回车、换行、空格等2、去掉“-----BEGIN PUBLIC KEY-----”、“-----END PUBLIC KEY-----”,只保存这两条文字之中的部分───────── 类文件函数结构─────────AlipayCore.javapublic 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 文件摘要结果┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉RSA.javapublic static String sign(String content, String privateKey, String input_charset)功能:RSA签名输入:String content 明文 String privateKey 商户私钥 String input_charset 编码格式输出:String 签名结果public static boolean verify(String content, String sign, String ali_public_key, String input_charset)功能:RSA验签名检查输入:String content 待签名数据 String sign 支付宝的签名值 String privateKey 支付宝公钥 String input_charset 编码格式输出:boolean 签名结果┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉AlipayNotify.javapublic 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.javapublic 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.javapublic 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我们会有专门的技术支持人员为您处理8. 运行这个项目
输入商品订单号、订单名称、订单金额等地址,点击确认发起支付请求
输入支付密码,即可收到支付成功的信息。
由于时间的关系,写的不是很详细,大家有什么问题可以加入qq群一起讨论38878612
0 0
- 支付宝支付--手机支付
- java支付宝支付,支付手机支付,pc网站支付
- java支付宝支付,支付手机支付,pc网站支付
- 支付宝支付--手机支付(转)
- 支付宝手机网页支付
- 支付宝手机支付开发
- 支付宝手机网站支付
- 支付宝手机网站支付
- 支付宝手机网站支付教程
- 支付宝手机H5支付笔记
- 支付宝三(手机网页支付)
- java接入支付宝手机网站支付
- Payment:支付宝手机网站支付教程
- 支付宝手机网页唤醒app支付
- Java版支付宝手机网站支付
- 支付宝手机网页唤醒app支付
- 手机支付
- 新版支付宝手机网站支付、支付宝pc支付、支付宝无密退款实现
- Cookie有数量和大小的限制
- Android Touch事件分发过程详解
- 【Unity Shader实战】卡通风格的Shader(二)
- 2015年8月4日总结
- Swift工程中引用OC文件
- 支付宝支付--手机支付
- Spring 总结(一)
- struts2的核心和工作原理
- POJ 3620--Avoid The Lakes【DFS】
- XMPP协议实现原理介绍
- jQuery 两个select之间option的互相添加操作
- Java线程面试题 Top 50
- C和C++易出现的低级错误
- HYSBZ 1821 Group 部落划分 Group