先简单介绍一下实际开发过程中,为什么要使用ali接口。现在可以说是手机支付无处不在,现实生活已经离不开了移动性支付,可以这么说,你没有钱可以,但是你不能没有手机,更离不开线上支付。线上支付又分为了两大龙头:alibaba旗下支付宝和腾讯旗下的微信。在这里我们只介绍支付宝的API。
你想要使用支付宝的API,你必须要了解你的业务功能和需要支付宝给你提供什么。而想要了解这个你又得知道支付宝能做什么。
-
针对第一个问题废话不多说,直接上图
-
看完上面的图,那么第二个问题就很好解决了,我直接去看ali的开发文档https://docs.open.alipay.com/api_1,ali描述的还是很详细的。
接下来进行业务层的代码处理和逻辑分析
根据上面的时序图很好理解
- web界面–支付宝充值
商户向web发送请求
jsp点击充值 跳转至 webController
生成全局唯一的订单号 时间戳+redis全局唯一标识
生成充值记录
向pay工程跳转,防止参数被看到,我们做一个中转页面,中转页面是一个form表单,且类型为隐藏域
<form method="post" action="http://localhost:9090/pay/api/alipay">
<input type="hidden" name="out_trade_no" value="${rechargeNo}"/>
<input type="hidden" name="total_amount" value="${rechargeMoney}"/>
<input type="hidden" name="subject" value="${rechargeDesc}"