1、定时任务 商户进件状态查询
2、小程序下单统一支付提交
3、订单核销分账
4、订单退款
5、支付、退款回调
6、分账回调
7、支付参数yml配置
1个文件已删除
2个文件已修改
2个文件已添加
184 ■■■■■ 已修改文件
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/config/MyWxPayConfig.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/config/WxPayConfiguration.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/config/WxPayProperties.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/config/MyWxPayConfig.java
File was deleted
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/config/WxPayConfiguration.java
New file
@@ -0,0 +1,54 @@
package com.ruoyi.order.config;
import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.service.WxPayService;
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * @author Binary Wang
 */
@Configuration
@ConditionalOnClass(WxPayService.class)
@EnableConfigurationProperties(WxPayProperties.class)
@AllArgsConstructor
public class WxPayConfiguration {
  private WxPayProperties properties;
  // 分账特约商户
  private static String PLATFORM_TY_MAC_ID = "";
  public static String getPlatformTyMacId() {
    return PLATFORM_TY_MAC_ID;
  }
  @Bean
  @ConditionalOnMissingBean
  public WxPayService wxService() {
    WxPayConfig payConfig = new WxPayConfig();
    payConfig.setAppId(StringUtils.trimToNull(this.properties.getAppId()));
    payConfig.setMchId(StringUtils.trimToNull(this.properties.getMchId()));
    payConfig.setMchKey(StringUtils.trimToNull(this.properties.getMchKey()));
    payConfig.setSubAppId(StringUtils.trimToNull(this.properties.getSubAppId()));
    payConfig.setSubMchId(StringUtils.trimToNull(this.properties.getSubMchId()));
    payConfig.setKeyPath(StringUtils.trimToNull(this.properties.getKeyPath()));
    // 平台特约商户号
    PLATFORM_TY_MAC_ID = this.properties.getPlatformTyMacId();
    // 可以指定是否使用沙箱环境
    payConfig.setUseSandboxEnv(false);
    WxPayService wxPayService = new WxPayServiceImpl();
    wxPayService.setConfig(payConfig);
    return wxPayService;
  }
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/config/WxPayProperties.java
New file
@@ -0,0 +1,49 @@
package com.ruoyi.order.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
 * wxpay pay properties.
 *
 * @author Binary Wang
 */
@Data
@ConfigurationProperties(prefix = "wx.pay")
public class WxPayProperties {
  /**
   * 设置微信公众号或者小程序等的appid
   */
  private String appId;
  /**
   * 微信支付商户号
   */
  private String mchId;
  /**
   * 微信支付商户密钥
   */
  private String mchKey;
  /**
   * 平台特约商户号,用户平台收取服务费
   */
  private String platformTyMacId;
  /**
   * 服务商模式下的子商户公众账号ID,普通模式请不要配置,请在配置文件中将对应项删除
   */
  private String subAppId;
  /**
   * 服务商模式下的子商户号,普通模式请不要配置,最好是请在配置文件中将对应项删除
   */
  private String subMchId;
  /**
   * apiclient_cert.p12文件的绝对路径,或者如果放在项目中,请以classpath:开头指定
   */
  private String keyPath;
}
ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -23,7 +23,7 @@
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.utils.CodeFactoryUtil;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.order.config.MyWxPayConfig;
import com.ruoyi.order.config.WxPayConfiguration;
import com.ruoyi.order.domain.dto.*;
import com.ruoyi.order.domain.pojo.account.OrderPayment;
import com.ruoyi.order.domain.pojo.account.OrderRefund;
@@ -1478,11 +1478,12 @@
        String sendMessage = "";
        String resultMessage = "";
        try {
            // TODO 核销完成 开始分账(平台收取服务费)
            // 核销完成 开始分账(平台收取服务费)
            OrderPayment payment = orderPaymentService.getByOrderId(orderId);
            String transactionId = payment.getTransactionId();
            String platformTyMacId = MyWxPayConfig.getPlatformTyMacId();
            // 平台特约商户号,用户平台收取服务费
            String platformTyMacId = WxPayConfiguration.getPlatformTyMacId();
            R<String> resultMch = remoteShopService.getShopSubMchId(shopId);
            String subMchId = resultMch.getData();
ruoyi-modules/ruoyi-order/src/main/resources/bootstrap.yml
@@ -3,7 +3,7 @@
  port: 10064
# Spring
spring:
spring:
  application:
    # 应用名称
    name: ruoyi-order
@@ -25,3 +25,13 @@
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
wx:
  pay:
    appId: #微信公众号或者小程序等的appid(平台)
    mchId: #微信支付商户号(平台)
    mchKey: #微信支付商户密钥(平台)
    platformTyMacId: # 平台特约商户号,用户平台收取服务费
    subAppId: #服务商模式下的子商户公众账号ID (这个可以不用配置)
    subMchId: #服务商模式下的子商户号 (二级商户号  也不用配置)
    keyPath: # (商户平台 下载的V3证书)p12证书的位置,可以指定绝对路径,也可以指定类路径(以classpath:开头)