# IJPay 中的支付宝支付
# 简介
IJPay 中的支付宝支付是对 alipay-sdk-java (opens new window) 的二次封装,
简化 DefaultAlipayClient 的配置并支持多应用无缝切换。
# 支付方式与支付工具
TIP
IJPay 中支持的支付方式以及支付工具
- 当面付(条码支付/扫码支付/声波支付)
- 刷脸支付
- APP支付
- 手机网站支付(H5 支付)
- 电脑网站支付(PC 支付)
- 花呗分期
- 单笔转账到支付宝账户
- 批量付款
- 现金红包
# 使用步骤
- 添加相关依赖
- 获取支付宝应用配置参数
- 初始化支付宝
- 调用 AliPayApi (opens new window) 中的接口
- 根据接口传入对应的 Model 来构建请求参数,Model 对应的接口参数下面有提供列表参考
# 特殊情况
蚂蚁金服开放平台提供的 Java SDK (opens new window) 里面接口非常多,而在 IJPay 中只封装了常用支付方式涉及的接口,如果你有其他接口需求 IJPay 中恰好并没有提供封装时你可以这么做。
TIP
1、获取 DefaultAlipayClient
通过 AliPayApiConfigKit.getAliPayApiConfig().getAliPayClient() 来获取当前线程中 appId 对应的 DefaultAlipayClient
TIP
2、执行请求完成接口调用
再使用获取到的 DefaultAlipayClient 来执行请求调用,使用方法可以参考
IJPay 源码中的 AliPayApi (opens new window)
以及下方的示例
TIP
Java SDK (opens new window) 中常用的接口
- 功能:执行请求调用(适用于不需要授权接口调用)
- 输入:request 接口请求对象
- 输出:T 请求返回对象
public <T extends AlipayResponse> T execute(AlipayRequest<T> request);
- 功能:执行请求调用(适用于需要授权接口调用)
- 输入:
- request 接口请求对象
- accessToken 接口令牌
- appAuthToken 商户授权令牌
- 输出:T 请求返回对象
public <T extends AlipayResponse> T execute(AlipayRequest<T> request, String accessToken,String appAuthToken)
# 官方 API 列表
官方支付 API 列表 (opens new window)
# 支付常用 API 列表
TIP
有规律可循: 由上列表不难得出以下规律
接口名称「首字母」转为大写后面添加 Model 或者 Request 就是接口参数对应的 Model 以及 Request
例如:alipay.trade.close (opens new window)
对应的 Model 为 AlipayTradeCloseModel ,对应的 request 为 AlipayTradeCloseRequest
最终封装的接口
public static AlipayTradeCloseResponse tradeCloseToResponse(AlipayTradeCloseModel model, String appAuthToken) throws AlipayApiException {
AlipayTradeCloseRequest request = new AlipayTradeCloseRequest();
request.setBizModel(model);
if (StrUtil.isBlank(appAuthToken)) {
return AliPayApiConfigKit.getAliPayApiConfig().getAliPayClient().execute(request);
} else {
// 支持第三方代理调用
return AliPayApiConfigKit.getAliPayApiConfig().getAliPayClient().execute(request, null, appAuthToken);
}
}
2
3
4
5
6
7
8
9
10
# 常用支付方式
| API列表 | 支付方式 |
|---|---|
| alipay.trade.app.pay (opens new window) | APP 支付 |
| alipay.trade.page.pay (opens new window) | PC 网站支付 |
| alipay.trade.wap.pay (opens new window) | 手机网站支付 |
| alipay.trade.precreate (opens new window) | 扫码支付 |
| alipay.trade.pay (opens new window) | 条形码支付、声波支付 |
# 总结
看到这里我想大家都理解了 IJPay 中对支付宝封装的原理。至于如何调用接口进行支付应该不用再过多介绍了吧。
TIP
IJPay 2.x 版本示例
TIP
IJPay 1.x 版本示例
← 获取微信支付相关配置 支付宝初始化 →