APP支付宝支付,Java后台如何开发记录

最近公司让我写了一些支付方面的东西,本人也是支付小白,之前并没有做过,开始还怕做不好,问同事有没有做过支付啊,结果自然是没有做过,然后我就想不过是几个接口而已,很简单的,秉着这个想法,我就开始研究怎么写了,到最后也写好了,简单的支付也没有太复杂的东西,现在过来记录一下。

废话不多说,直接开始:

调用支付宝接口,Java后台需要写三个接口:

第一个接口:app请求Java后台,后台返回加签后的订单信息字符串

第二个接口:支付宝支付成功后,异步请求的逻辑处理

第三个接口:在支付完成之后,跳转回APP时,APP调用商户后台进行最终付款校验。向支付宝发起订单查询请求。

 

前期准备:

我们只做开发任务处理,其余事情由产品或者其他人员申请

1、获取商户号APPID

2、支付宝官网可以生成私钥、公钥

3、请求支付宝的网关地址

  https://openapi.alipay.com/geteway.do

4、页面跳转同步通知页面路径

  https://www.alipay.com

5、服务器异步通知路径

6、编码格式

  UTF-8

7、返回格式

  json

8、加密类型

  RSA2

以上9个全都放在了配置文件里,方便使用和更改

 

第一个接口:

app端,会向我们发送请求,获取一个加密过后的支付宝订单字符串;

后台需要做的,导入支付宝的jar包

第一步:实例化客户端(参数:网关地址、商户appid、商户私钥、格式、编码、支付宝公钥、加密类型)

  

 

第二步:实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay 

 

第三步:SDK已经封装掉了公共参数,这里只需要传入业务参数。一下方法为sdk的model入参方式

 

 

 

 到这里,app调用接口所需要的订单字符串已经生成完毕了,返回给app,交给他们做处理就好了。

(只针对支付宝所需数据进行了说明处理,并没有做具体的业务分析处理,具体情况具体分析)

 

第二个接口:

第一步:从支付宝回调的request域中取值,获取支付宝返回的参数集合

 

 

第二步:转化参数

 

 

  

 

 第三步:签名验证(对支付宝返回的数据进行验证,确定是支付宝返回的),调用SDK验证签名

 

 

验证签名通过,可以获取到的参数有

 

 

 

判断最后一个参数,交易状态,是否交易成功“TRADE_SUCCESS”

如果是,进行你的业务处理;如果不是,也做相应的操作;最后返回给支付宝“success”or“fail”

 

第三个接口:

第一步:拿到参数,自己生成的订单号,实例化客户端(参数:网关地址、商户appid、商户私钥、格式、编码、支付宝公钥、加密类型)

 out_trade_no 订单号

 

判断是否成功

 

然后做相应的处理。

 

到此,支付宝接口就算完了。

简单记录一下。

也希望可以帮到需要的同学。

.

 

posted @ 2019-01-08 17:06  形色  阅读(998)  评论(1编辑  收藏  举报