• 自定义支付类型


    第一步

    添加hzero支付服务核心组件依赖

    <dependency>
        <groupId>org.hzero.starter</groupId>
        <artifactId>hzero-starter-pay-core</artifactId>
    </dependency>
    

    第二步

    以支付宝为例

        /**
         * 根据支付订单号支付
         *
         * @param tenantId        租户ID
         * @param payChannel      支付渠道
         * @param configCode      配置CODE
         * @param paymentOrderNum 支付订单号
         * @return ReturnDTO
         */
        ReturnDTO toPay(Long tenantId, String payChannel, String configCode, String paymentOrderNum);
    
        /**
         * 二维码支付
         *
         * @param tenantId     租户ID
         * @param configCode   配置编码
         * @param paymentOrder 支付订单
         * @return 二维码二进制
         */
        byte[] toQrPay(Long tenantId, String configCode, PaymentOrder paymentOrder);
    
        /**
         * 支付
         *
         * @param tenantId     租户ID
         * @param configCode   支付配置代码
         * @param paymentOrder 支付订单信息
         * @return 统一返回对象
         */
        ReturnDTO pay(Long tenantId, String configCode, PaymentOrder paymentOrder);
    
        /**
         * 二维码支付
         *
         * @param tenantId     租户ID
         * @param configCode   支付配置代码
         * @param paymentOrder 支付订单信息
         * @return 统一返回对象
         */
        ReturnDTO microPay(Long tenantId, String configCode, PaymentOrder paymentOrder);
    
        /**
         * 查询支付信息
         *
         * @param tenantId   租户ID
         * @param payChannel 支付渠道
         * @param configCode 支付配置编码
         * @param order      支付信息
         * @return 支付订单详细
         */
        ReturnDTO queryPayInfo(Long tenantId, String payChannel, String configCode, PayOrderDTO order);
    
        /**
         * 关闭支付信息
         *
         * @param tenantId   租户ID
         * @param payChannel 支付渠道
         * @param configCode 支付配置编码
         * @param order      支付信息
         * @return 返回信息
         */
        ReturnDTO closePayInfo(Long tenantId, String payChannel, String configCode, PayOrderDTO order);
    
        /**
         * 取消支付信息
         *
         * @param tenantId   租户ID
         * @param payChannel 支付渠道
         * @param configCode 支付配置编码
         * @param order      支付信息
         * @return 返回信息
         */
        ReturnDTO cancelPayInfo(Long tenantId, String payChannel, String configCode, PayOrderDTO order);
    
        /**
         * 查询退款信息
         *
         * @param tenantId   租户ID
         * @param payChannel 支付渠道
         * @param configCode 支付配置编码
         * @param info       退款信息
         * @return 返回信息
         */
        ReturnDTO refundQuery(Long tenantId, String payChannel, String configCode, RefundInfo info);
    
        /**
         * 对账单下载
         *
         * @param tenantId   租户ID
         * @param payChannel 支付渠道
         * @param configCode 支付配置编码
         * @param order      支付订单信息
         * @return 返回信息
         */
        ReturnDTO downloadBill(Long tenantId, String payChannel, String configCode, PayOrderDTO order);
    
        /**
         * 查询退款单信息
         *
         * @param refundOrder 退款单
         * @return 退款单信息
         */
        RefundOrder selectRefundOrder(RefundOrder refundOrder);