简介
支付中心是用于给基于平台开发的第三方业务组件提供支付能力。业务组件可以通过支付中心对相应的业务进行消费、退款、转账、充值、提现等操作。当前接入的支付渠道包括:通商云(支持微信扫码、支付宝扫码、微信小程序、网银转账)、收银宝(支持网银转账)、电子钱包(园区自定义钱包,资金由运营方在通商云的账户进行托管)。
使用
1. 资源申请
2. 引入依赖
pom.xml
<dependency>
<groupId>cn.flyrise</groupId>
<artifactId>pai-common-pay</artifactId>
<version>1.1.0-SNAPSHOT</version>
</dependency>
3.配置
在 application.yml 或者 nacos 添加配置
pai:
resource:
app-id: '1407538241518833665'
app-secret: '3ohefxbmwedezsq6gg050ja56azk00av'
4. SDK提供的方法
/**
* 生成退款订单
*
* @param suiteCode 套件标识
* @param parkId 园区ID
* @param orderVO 订单对象
*/
public CreateOrderInfoVO refund(String parkId, String suiteCode, RefundOrderVO orderVO) throws Exception;
/**
* 解密反馈回来的应答信息
*
* @param suiteCode 套件标识
* @param notifyData 应答信息密文
* @param secretKey 加密数据的密钥
* @return 应答信息对象
*/
public PayOrderNotifyVO decryptNotify(String suiteCode, String notifyData, String secretKey) throws Exception;
5. 方法对象属性
5.1 退款订单属性
public class RefundOrderVO {
/**
* 园区ID
* 必填
*/
private String parkId;
/**
* 订单编号
* 必填
*/
private String bizOrderNo;
/**
* 后台通知地址
*/
private String backUrl;
/**
* 金额;单位:分
* 必填 不能小于0
*/
private Integer amount = 0;
/**
* 手续费;单位:分
* 必填 不能小于0
*/
private Integer fee = 0;
/**
* 摘要
*/
private String summary;
/**
* 需要退款的原交易订单号
* 必填
*/
private String oriBizOrderNo;
/**
* 收款账号ID,用户ID、企业ID
* 必填
*/
private String bizUserId;
}
5.2 消息通知属性
public class PayOrderNotifyVO {
/**
* 园区ID
*/
private String parkID;
/**
* 订单编号
*/
private String bizOrderNo;
/**
* 交易状态;0、交易中,1、交易成功,2、交易失败
*/
private String tradeStatus;
/**
* 交易失败原因
*/
private String failMessage;
/**
* 支付状态; 0:等待支付,1:支付成功,2:支付失败,3:支付处理中,4:其他支付
*/
private String payStatus;
/**
* 支付时间
*/
private Date payTime;
/**
* 交易时间,支付服务请求第三方支付接口时间
*/
private Date tradeTime;
/**
* 渠道交易流水号;针对收银宝相关支付渠道返回,对应收银宝交易单号trxid字段:微信小程序支付(单、集团);收银宝刷卡支付(单、集团);收银宝扫码支付(单、集团,包括支付宝、微信、银联);收银宝JS支付(单、集团,包括支付宝、微信、QQ钱包、银联)
*/
private String tradeNo;
}
5.3 创建订单返回信息
public class CreateOrderInfoVO {
/**
* 扫码支付信息/ JS支付串信息(微信、支付宝、QQ钱包)/微信小程序/微信原生H5支付串信息/支付宝原生APP支付串信息
*/
private String payInfo;
/**
* 收银宝网关支付跳转URL,用于前端跳转支付页面
*/
private String payUrl;
/**
* 商户订单号
*/
private String bizOrderNo;
/**
* 交易编号
*/
private String tradeNo;
}
6. 订单回调数据
订单执行完成后支付中心会根据请求订单的属性值backUrl,把执行结果加密后用HTTP_POST回调;参数为:notifyData和secretKey,把数据通过SDK的方法decryptNotify解析获得通知信息详情。
文档更新时间: 2022-03-18 14:48 作者:管理员