简介

支付中心是用于给基于平台开发的第三方业务组件提供支付能力。业务组件可以通过支付中心对相应的业务进行消费、退款、转账、充值、提现等操作。当前接入的支付渠道包括:通商云(支持微信扫码、支付宝扫码、微信小程序、网银转账)、收银宝(支持网银转账)、电子钱包(园区自定义钱包,资金由运营方在通商云的账户进行托管)。

使用

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   作者:管理员