| 
				
				
					
				
				
				 | 
			
			 | 
			@@ -213,14 +213,13 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    String timestamp = String.valueOf(System.currentTimeMillis() / 1000); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    String nonceStr = String.valueOf(System.currentTimeMillis()); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    Object payResult = null; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    switch (request.getTradeType()) { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      case TradeType.NATIVE: { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        payResult = WxPayNativeOrderResult.builder() | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return (T) WxPayNativeOrderResult.builder() | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .codeUrl(unifiedOrderResult.getCodeURL()) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .build(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      case TradeType.APP: { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        // APP支付绑定的是微信开放平台上的账号,APPID为开放平台上绑定APP后发放的参数 | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        String appId = this.getConfig().getAppId(); | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -235,7 +234,7 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        configMap.put("noncestr", nonceStr); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        configMap.put("appid", appId); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        payResult = WxPayAppOrderResult.builder() | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return (T) WxPayAppOrderResult.builder() | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .sign(SignUtils.createSign(configMap, null, this.getConfig().getMchKey(), false)) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .prepayId(prepayId) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .partnerId(partnerId) | 
		
		
	
	
		
			
				| 
				
				
				
					
				
				 | 
			
			 | 
			@@ -244,26 +243,33 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .timeStamp(timestamp) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .nonceStr(nonceStr) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .build(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      case TradeType.JSAPI: { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        payResult = WxPayMpOrderResult.builder() | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        String signType = SignType.MD5; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        WxPayMpOrderResult payResult = WxPayMpOrderResult.builder() | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .appId(unifiedOrderResult.getAppid()) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .timeStamp(timestamp) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .nonceStr(nonceStr) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .packageValue("prepay_id=" + prepayId) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .signType(SignType.MD5) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .signType(signType) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .build(); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        ((WxPayMpOrderResult) payResult) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          .setPaySign(SignUtils.createSign(payResult, null, this.getConfig().getMchKey(), false)); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        break; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        payResult.setPaySign( | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			          SignUtils.createSign( | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            payResult, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            signType, | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            this.getConfig().getMchKey(), | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			            false) | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        ); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        return (T) payResult; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      default: { | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			        throw new WxPayException("该交易类型暂不支持"); | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			      } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			    return (T) payResult; | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  } | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			
  | 
		
		
	
		
			
			 | 
			 | 
			
			 | 
			  @Override | 
		
		
	
	
		
			
				| 
				
					
				
				
				
				 | 
			
			 | 
			
  |