文档章节

JAVA 实现支付宝接口

周田
 周田
发布于 2016/04/26 20:29
字数 587
阅读 1095
收藏 18

0、必备类

AlipayConfig配置文件 (签约账号、密钥、页面跳转通知页面都在这里设定)

MD5支付宝签名加密文件

AlipayCore支付宝接口公共函数类

AlipayNotify-支付宝通知处理类

AlipaySubmit支付宝接各接口请求提交类

HttpProtocolHandler

HttpRequest

HttpResponse

HttpResultType

完整案例(需要有签约账号)

** 1、首先我们需要一个表单来提交订单信息**

要提交的5个参数:

-1 商户订单号-WIDout_trade_no(这个订单号可以自定义,(我是把本地的订单号赋值给它))

-2 订单名称-WIDsubject

  • 3付款金额-WIDtotal_fee

-4 商品展示网址-WIDshow_url

-5 商品描述-WIDbody (最后两个参数我没填也可以提交成功,但是必须要有这些参数)

2、需要一个用来获取这些订单信息并提交的页面

在这个页面中,将获取到的参数,以及支付宝配置的参数打包成一个Map<String,String>对象 这些配置参数有:

sParaTemp.put("service", AlipayConfig.service);
sParaTemp.put("partner", AlipayConfig.partner);
sParaTemp.put("seller_id", AlipayConfig.seller_id);
sParaTemp.put("_input_charset", AlipayConfig.input_charset);
sParaTemp.put("payment_type", AlipayConfig.payment_type);
sParaTemp.put("notify_url", AlipayConfig.notify_url);
sParaTemp.put("return_url", AlipayConfig.return_url);

接着建立支付请求

String sHtmlText = AlipaySubmit.buildRequest(sParaTemp,"get","确认");
//这一部分就是构建出一个表单来,然后提交
		out.println(sHtmlText);

3、然后部署起来,支付完成后,就会跳转到配置文件中的return_url域所指定的页面。

这里支付宝会回传 三个参数:

1、支付宝交易号-trade_no 这个是支付宝那边生成的

2、商铺订单号-out_trade_no,这个是之前可以自定义的订单号

3、交易状态-trade_status

( TRADE_FINISHED(表示交易已经成功结束,并不能再对该交易做后续操作); TRADE_SUCCESS(表示交易已经成功结束,可以对该交易做后续操作,如:分润、退款等);)

之后还会计算通知验证结果

boolean verify_result = AlipayNotify.verify(params);
//这个会决定是验证成功还是验证失败

即便是交易成功的情况下,也可能会验证失败(我的就是, 我能得到TRADE_SUCCESS的交易状态)

但既然能得到交易是否成功的状态就够了,我没有去管这个通知验证问题。

我在得到交易成功的状态时,就可以根据返回的订单号修改相应订单的信息。

© 著作权归作者所有

周田
粉丝 4
博文 123
码字总数 23374
作品 0
德阳
私信 提问
轻量级支付整合轻松嵌入任何系统 - pay-java-parent

轻量级支付模块集成(微信支付,友店扫码,支付宝,富友,银联, payoneer皮卡 )支付整合,app,扫码,即时到帐刷卡付条码付、支持多种支付类型多支付账户,支付与业务完全剥离,简单几行代码即可实...

egzosn
2017/02/17
16.4K
18
POS机端应用无法调用微信支付宝支付,该怎么实现订单的支付

我有一个PHP的微信公众号内的商城,主要是做加油的。现在的业务场景是这样的:车主在平台上下了订单加完油产生一个二维码,加油工拿POS机上我们自己开发的应用去扫码核销该订单,核销完以后选...

披着羊皮的狼王
2018/12/04
781
1
支付宝发布Java平台支付标准 解决非智能机支付

【TechWeb消息】10月14日消息,在全球Java One大会上,支付宝发布了针对Java平台的支付技术标准,帮助Java规范的OJWC 3.1实现在支付服务(Java Payment)。支付宝方面表示,该方案将帮助全球嵌...

蔡熙伟
2011/10/15
1K
5
如何实现支付宝开发,求大神指点

我是做java开发的,我要做一块关于支付宝开发,需要申请支付宝接口,我想知道具体流程,支付宝接口都会返回什么样的参数。具体的流程也不是太清楚,求做过的大神指点!!!

Maya玛雅
2015/05/11
1K
10
java与php rsa加密互通

第三方提供的java rsa秘钥(pkcs8格式),PHP不能直接使用;只能将rsa秘钥转成pkcs1格式。然后再按照PHP rsa秘钥格式处理,每64个字符进行换行处理。 先转成pkcs1格式,用支付宝转换工具;传送...

会当凌绝顶
2018/12/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
14
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部