|
|
@@ -30,6 +30,17 @@ public abstract class AppAbstractComponentSMO extends AbstractComponentSMO {
|
|
|
@Autowired
|
|
|
private WechatAuthProperties wechatAuthProperties;
|
|
|
|
|
|
+ //微信支付
|
|
|
+ public static final String DOMAIN_WECHAT_PAY = "WECHAT_PAY";
|
|
|
+ // 微信服务商支付开关
|
|
|
+ public static final String WECHAT_SERVICE_PAY_SWITCH = "WECHAT_SERVICE_PAY_SWITCH";
|
|
|
+ //开关ON打开
|
|
|
+ public static final String WECHAT_SERVICE_PAY_SWITCH_ON = "ON";
|
|
|
+
|
|
|
+ private static final String WECHAT_SERVICE_APP_ID = "SERVICE_APP_ID";
|
|
|
+
|
|
|
+ private static final String WECHAT_SERVICE_MCH_ID = "SERVICE_MCH_ID";
|
|
|
+
|
|
|
/**
|
|
|
* 调用中心服务
|
|
|
*
|
|
|
@@ -81,7 +92,7 @@ public abstract class AppAbstractComponentSMO extends AbstractComponentSMO {
|
|
|
double payAmount = PayUtil.getPayAmountByEnv(MappingCache.getValue("HC_ENV"), money);
|
|
|
//添加或更新支付记录(参数跟进自己业务需求添加)
|
|
|
|
|
|
- Map<String, String> resMap = this.java110UnifieldOrder(outRestTemplate, feeName, orderNum, tradeType, payAmount, openId,smallWeChatDto);
|
|
|
+ Map<String, String> resMap = this.java110UnifieldOrder(outRestTemplate, feeName, orderNum, tradeType, payAmount, openId, smallWeChatDto);
|
|
|
if ("SUCCESS".equals(resMap.get("return_code")) && "SUCCESS".equals(resMap.get("result_code"))) {
|
|
|
if (WechatAuthProperties.TRADE_TYPE_JSAPI.equals(tradeType)) {
|
|
|
|
|
|
@@ -129,6 +140,16 @@ public abstract class AppAbstractComponentSMO extends AbstractComponentSMO {
|
|
|
paramMap.put("notify_url", wechatAuthProperties.getWxNotifyUrl());
|
|
|
paramMap.put("trade_type", tradeType);
|
|
|
paramMap.put("openid", openid);
|
|
|
+
|
|
|
+ String paySwitch = MappingCache.getValue(DOMAIN_WECHAT_PAY, WECHAT_SERVICE_PAY_SWITCH);
|
|
|
+ if (WECHAT_SERVICE_PAY_SWITCH_ON.equals(paySwitch)) {
|
|
|
+ paramMap.put("appid", MappingCache.getValue(DOMAIN_WECHAT_PAY, WECHAT_SERVICE_APP_ID)); //服务商appid,是服务商注册时公众号的id
|
|
|
+ paramMap.put("mch_id", MappingCache.getValue(DOMAIN_WECHAT_PAY, WECHAT_SERVICE_MCH_ID)); //服务商商户号
|
|
|
+ paramMap.put("sub_appid", smallWeChatDto.getAppId());//起调小程序appid
|
|
|
+ paramMap.put("sub_mch_id", smallWeChatDto.getMchId());//起调小程序的商户号
|
|
|
+ paramMap.put("sub_openid", openid);
|
|
|
+ paramMap.remove("openid");
|
|
|
+ }
|
|
|
paramMap.put("sign", PayUtil.createSign(paramMap, smallWeChatDto.getPayPassword()));
|
|
|
//转换为xml
|
|
|
String xmlData = PayUtil.mapToXml(paramMap);
|