超掌柜支付 回调 封装 over

This commit is contained in:
2025-02-11 11:02:31 +08:00
parent 9cea09d2c1
commit 48a9376657
10 changed files with 386 additions and 56 deletions

View File

@@ -17,4 +17,11 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.czg</groupId>
<artifactId>czg-pay</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,100 @@
package com.czg.service;
import com.czg.entity.notify.CzgPayNotifyDTO;
import com.czg.entity.notify.CzgRefundNotifyDTO;
import com.czg.entity.req.*;
import com.czg.entity.resp.*;
import com.czg.resp.CzgResult;
import lombok.NonNull;
/**
* @author ww
* @description
*/
public interface CzgPayService {
/**
* h5支付
*
* @param appId 应用id tb_shop_merchant 表中的 app_id
* @param appSecret 应用密钥 tb_shop_merchant 表中的 app_secret
*/
CzgResult<CzgH5PayResp> h5Pay(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, CzgH5PayReq bizData);
/**
* js支付
*
* @param appId 应用id tb_shop_merchant 表中的 app_id
* @param appSecret 应用密钥 tb_shop_merchant 表中的 app_secret
*/
CzgResult<CzgJsPayResp> jsPay(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, CzgJsPayReq bizData);
/**
* 小程序支付
*
* @param appId 应用id tb_shop_merchant 表中的 app_id
* @param appSecret 应用密钥 tb_shop_merchant 表中的 app_secret
*/
CzgResult<CzgLtPayResp> ltPay(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, CzgLtPayReq bizData);
/**
* PC扫码支付
*
* @param appId 应用id tb_shop_merchant 表中的 app_id
* @param appSecret 应用密钥 tb_shop_merchant 表中的 app_secret
*/
CzgResult<CzgScanPayResp> scanPay(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, CzgScanPayReq bizData);
/**
* 聚合反扫
*
* @param appId 应用id tb_shop_merchant 表中的 app_id
* @param appSecret 应用密钥 tb_shop_merchant 表中的 app_secret
*/
CzgResult<CzgMicroPayResp> microPay(@NonNull String domain,@NonNull String appId, @NonNull String appSecret, CzgMicroPayReq bizData);
/**
* 订单查询
*
* @param appId 应用id tb_shop_merchant 表中的 app_id
* @param appSecret 应用密钥 tb_shop_merchant 表中的 app_secret
* @param payOrderId 平台订单号
* @param mchOrderNo 商户订单号
*/
CzgResult<CzgBaseResp> queryPayOrder(@NonNull String domain,@NonNull String appId, @NonNull String appSecret,
String payOrderId, String mchOrderNo);
/**
* 订单退款
*
* @param appId 应用id tb_shop_merchant 表中的 app_id
* @param appSecret 应用密钥 tb_shop_merchant 表中的 app_secret
*/
CzgResult<CzgRefundResp> refundOrder(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, CzgRefundReq bizData);
/**
* 退款订单查询
*
* @param appId 应用id tb_shop_merchant 表中的 app_id
* @param appSecret 应用密钥 tb_shop_merchant 表中的 app_secret
* @param mchRefundNo 商户退款订单号 二选一
* @param refundOrderId 平台退款订单号 二选一
*/
CzgResult<CzgRefundResp> queryRefundOrder(@NonNull String domain,@NonNull String appId, @NonNull String appSecret,
String mchRefundNo, String refundOrderId);
/**
* 支付回调数据处理
*
* @param dataJsonStr 带解析数据
*/
CzgPayNotifyDTO getPayNotifyData(String dataJsonStr);
/**
* 退款回调数据处理
*
* @param dataJsonStr 带解析数据
*/
CzgRefundNotifyDTO getRefundNotifyData(String dataJsonStr);
}

View File

@@ -0,0 +1,70 @@
package com.czg.service.Impl;
import com.czg.CzgPayUtils;
import com.czg.entity.notify.CzgPayNotifyDTO;
import com.czg.entity.notify.CzgRefundNotifyDTO;
import com.czg.entity.req.*;
import com.czg.entity.resp.*;
import com.czg.resp.CzgResult;
import com.czg.service.CzgPayService;
import lombok.NonNull;
import org.springframework.stereotype.Service;
/**
* @author ww
* @description 1
*/
@Service
public class CzgPayServiceImpl implements CzgPayService {
@Override
public CzgResult<CzgH5PayResp> h5Pay(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, CzgH5PayReq bizData) {
return CzgPayUtils.h5Pay(domain, appId, appSecret, bizData);
}
@Override
public CzgResult<CzgJsPayResp> jsPay(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, CzgJsPayReq bizData) {
return CzgPayUtils.jsPay(domain, appId, appSecret, bizData);
}
@Override
public CzgResult<CzgLtPayResp> ltPay(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, CzgLtPayReq bizData) {
return CzgPayUtils.ltPay(domain, appId, appSecret, bizData);
}
@Override
public CzgResult<CzgScanPayResp> scanPay(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, CzgScanPayReq bizData) {
return CzgPayUtils.scanPay(domain, appId, appSecret, bizData);
}
@Override
public CzgResult<CzgMicroPayResp> microPay(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, CzgMicroPayReq bizData) {
return CzgPayUtils.microPay(domain, appId, appSecret, bizData);
}
@Override
public CzgResult<CzgBaseResp> queryPayOrder(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, String payOrderId, String mchOrderNo) {
return CzgPayUtils.queryPayOrder(domain, appId, appSecret, payOrderId, mchOrderNo);
}
@Override
public CzgResult<CzgRefundResp> refundOrder(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, CzgRefundReq bizData) {
return CzgPayUtils.refundOrder(domain, appId, appSecret, bizData);
}
@Override
public CzgResult<CzgRefundResp> queryRefundOrder(@NonNull String domain, @NonNull String appId, @NonNull String appSecret, String mchRefundNo, String refundOrderId) {
return CzgPayUtils.queryRefundOrder(domain, appId, appSecret, mchRefundNo,refundOrderId);
}
@Override
public CzgPayNotifyDTO getPayNotifyData(String dataJsonStr) {
return CzgPayUtils.getCzg(dataJsonStr,CzgPayNotifyDTO.class);
}
@Override
public CzgRefundNotifyDTO getRefundNotifyData(String dataJsonStr) {
return CzgPayUtils.getCzg(dataJsonStr,CzgRefundNotifyDTO.class);
}
}