轻量的支付宝组件(A Lightweight Alipay Component)
包引入:
dependency>
<groupId>me.hao0</groupId>
<artifactId>alipay-core</artifactId>
<version>1.3.0</version>
</dependency>
业务系统与支付宝系统交互图:
基本用法:
lipay alipay = AlipayBuilder
.newBuilder(merchantId, secret)
.config1(...) // 其他可选配置
...
.build();
alipay.module().api();
已实现的组件:
pay()
;refund()
;verify()
。API文档这里。
关于测试: 测试用例中是一些基本测试,alipay-demo项目是一个可运行web项目,方便测试,可按如下步骤进行测试:
复制alipay-demo中的app-example.properties
为app.properties
,并作相应配置:
## 支付宝商户编号
merchantId=
## 支付宝密钥
secret=
## 支付通知url
payNotifyUrl=${your_domain}/notifies/backend
## 退款通知url
refundNotifyUrl=${your_domain}/notifies/refund
## web支付完成页面跳转url
webReturnUrl=${your_domain}/notifies/web/frontend
## wap支付完成页面跳转url
wapReturnUrl=${your_domain}/notifies/wap/frontend
注意:除了**webReturnUrl
**, **wapReturnUrl
可以配置为localhost
外,payNotifyUrl
和refundNotifyUrl
**都应该配置为支付宝可以外网调用的地址,本地测试建议使用ngrok工具来作本地外网映射。
到alipay-demo根目录运行以下命令即可:
vn clean jetty:run -Dmaven.test.skip -Djetty.port={自定义端口号}
WEB支付可访问(请求正常后,应该会跳到支付宝收银台页面,完成支付后,过几秒页面会跳转到webReturnUrl
,console里也会有服务器通知的日志出现):
ttp://localhost:{port}/pays/web?orderNumber={自定义订单号}
``
WAP支付可访问(请求正常后,应该会跳到支付宝收银台页面,完成支付后,过几秒页面会跳转到wapReturnUrl
,console里也会有服务器通知的日志出现):
ttp://localhost:{port}/pays/wap?orderNumber={自定义订单号}
退款可访问(退款成功后,也会有服务器通知日志打印):
ttp://localhost:{port}/refunds/submit?batchNo={自定义批次号}&tradeNo={服务器通知日志中的tradeNo}
APP支付:
相关文档:
历史版本:
1.0.0:
1.0.1:
1.0.2:
1.0.3:
1.0.4:
1.0.5:
1.0.6:
1.0.7:
1.0.8:
1.0.9:
提升代码质量
1.0.10:
1.1.0:
1.2.0:
1.3.0:
AlipayBuilder.payExpired()
).支付宝:
微信: