mirror of
				https://gitee.com/binary/weixin-java-tools.git
				synced 2025-10-31 10:38:42 +08:00 
			
		
		
		
	1.修改方法getJSSDKCallbackData中的类型错误
2.修改支付签名字段名称,方便客户端直接调用支付
This commit is contained in:
		| @ -1,12 +1,20 @@ | ||||
| package me.chanjar.weixin.mp.api; | ||||
|  | ||||
| import com.google.gson.JsonArray; | ||||
| import com.google.gson.JsonElement; | ||||
| import com.google.gson.JsonObject; | ||||
| import com.google.gson.internal.Streams; | ||||
| import com.google.gson.reflect.TypeToken; | ||||
| import com.google.gson.stream.JsonReader; | ||||
| import com.thoughtworks.xstream.XStream; | ||||
| import java.io.File; | ||||
| import java.io.IOException; | ||||
| import java.io.InputStream; | ||||
| import java.io.StringReader; | ||||
| import java.security.NoSuchAlgorithmException; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Collections; | ||||
| import java.util.Date; | ||||
| import java.util.HashMap; | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.SortedMap; | ||||
| import java.util.TreeMap; | ||||
| import java.util.UUID; | ||||
|  | ||||
| import me.chanjar.weixin.common.api.WxConsts; | ||||
| import me.chanjar.weixin.common.bean.WxAccessToken; | ||||
| import me.chanjar.weixin.common.bean.WxJsapiSignature; | ||||
| @ -21,14 +29,53 @@ import me.chanjar.weixin.common.util.StringUtils; | ||||
| import me.chanjar.weixin.common.util.crypto.SHA1; | ||||
| import me.chanjar.weixin.common.util.crypto.WxCryptUtil; | ||||
| import me.chanjar.weixin.common.util.fs.FileUtils; | ||||
| import me.chanjar.weixin.common.util.http.*; | ||||
| import me.chanjar.weixin.common.util.http.MediaDownloadRequestExecutor; | ||||
| import me.chanjar.weixin.common.util.http.MediaUploadRequestExecutor; | ||||
| import me.chanjar.weixin.common.util.http.RequestExecutor; | ||||
| import me.chanjar.weixin.common.util.http.SimpleGetRequestExecutor; | ||||
| import me.chanjar.weixin.common.util.http.SimplePostRequestExecutor; | ||||
| import me.chanjar.weixin.common.util.http.URIUtil; | ||||
| import me.chanjar.weixin.common.util.http.Utf8ResponseHandler; | ||||
| import me.chanjar.weixin.common.util.json.GsonHelper; | ||||
| import me.chanjar.weixin.common.util.json.WxGsonBuilder; | ||||
| import me.chanjar.weixin.common.util.xml.XStreamInitializer; | ||||
| import me.chanjar.weixin.mp.bean.*; | ||||
| import me.chanjar.weixin.mp.bean.result.*; | ||||
| import me.chanjar.weixin.mp.util.http.*; | ||||
| import me.chanjar.weixin.mp.bean.WxMpCustomMessage; | ||||
| import me.chanjar.weixin.mp.bean.WxMpGroup; | ||||
| import me.chanjar.weixin.mp.bean.WxMpMassGroupMessage; | ||||
| import me.chanjar.weixin.mp.bean.WxMpMassNews; | ||||
| import me.chanjar.weixin.mp.bean.WxMpMassOpenIdsMessage; | ||||
| import me.chanjar.weixin.mp.bean.WxMpMassVideo; | ||||
| import me.chanjar.weixin.mp.bean.WxMpMaterial; | ||||
| import me.chanjar.weixin.mp.bean.WxMpMaterialArticleUpdate; | ||||
| import me.chanjar.weixin.mp.bean.WxMpMaterialNews; | ||||
| import me.chanjar.weixin.mp.bean.WxMpSemanticQuery; | ||||
| import me.chanjar.weixin.mp.bean.WxMpTemplateMessage; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpMassSendResult; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpMassUploadResult; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpMaterialCountResult; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpMaterialFileBatchGetResult; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpMaterialNewsBatchGetResult; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpMaterialUploadResult; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpMaterialVideoInfoResult; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpPayCallback; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpPayResult; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpPrepayIdResult; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpQrCodeTicket; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpSemanticQueryResult; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpUser; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpUserCumulate; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpUserList; | ||||
| import me.chanjar.weixin.mp.bean.result.WxMpUserSummary; | ||||
| import me.chanjar.weixin.mp.util.http.MaterialDeleteRequestExecutor; | ||||
| import me.chanjar.weixin.mp.util.http.MaterialNewsInfoRequestExecutor; | ||||
| import me.chanjar.weixin.mp.util.http.MaterialUploadRequestExecutor; | ||||
| import me.chanjar.weixin.mp.util.http.MaterialVideoInfoRequestExecutor; | ||||
| import me.chanjar.weixin.mp.util.http.MaterialVoiceAndImageDownloadRequestExecutor; | ||||
| import me.chanjar.weixin.mp.util.http.QrCodeRequestExecutor; | ||||
| import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | ||||
|  | ||||
| import org.apache.commons.codec.digest.DigestUtils; | ||||
| import org.apache.http.Consts; | ||||
| import org.apache.http.HttpHost; | ||||
| import org.apache.http.auth.AuthScope; | ||||
| @ -47,12 +94,13 @@ import org.apache.http.impl.client.HttpClients; | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
|  | ||||
| import java.io.File; | ||||
| import java.io.IOException; | ||||
| import java.io.InputStream; | ||||
| import java.io.StringReader; | ||||
| import java.security.NoSuchAlgorithmException; | ||||
| import java.util.*; | ||||
| import com.google.gson.JsonArray; | ||||
| import com.google.gson.JsonElement; | ||||
| import com.google.gson.JsonObject; | ||||
| import com.google.gson.internal.Streams; | ||||
| import com.google.gson.reflect.TypeToken; | ||||
| import com.google.gson.stream.JsonReader; | ||||
| import com.thoughtworks.xstream.XStream; | ||||
|  | ||||
| public class WxMpServiceImpl implements WxMpService { | ||||
|  | ||||
| @ -796,7 +844,7 @@ public class WxMpServiceImpl implements WxMpService { | ||||
|     payInfo.put("signType", "MD5"); | ||||
|  | ||||
|     String finalSign = WxCryptUtil.createSign(payInfo, wxMpConfigStorage.getPartnerKey()); | ||||
|     payInfo.put("sign", finalSign); | ||||
|     payInfo.put("paySign", finalSign); | ||||
|     return payInfo; | ||||
|   } | ||||
|  | ||||
| @ -846,7 +894,7 @@ public class WxMpServiceImpl implements WxMpService { | ||||
|   public WxMpPayCallback getJSSDKCallbackData(String xmlData) { | ||||
|     try { | ||||
|       XStream xstream = XStreamInitializer.getInstance(); | ||||
|       xstream.alias("xml", WxMpPayResult.class); | ||||
|       xstream.alias("xml", WxMpPayCallback.class); | ||||
|       WxMpPayCallback wxMpCallback = (WxMpPayCallback) xstream.fromXML(xmlData); | ||||
|       return wxMpCallback; | ||||
|     } catch (Exception e){ | ||||
|  | ||||
| @ -257,4 +257,12 @@ public class WxMpPayCallback implements Serializable { | ||||
| 		this.time_end = time_end; | ||||
| 	} | ||||
|  | ||||
| 	@Override | ||||
| 	public String toString() { | ||||
| 		return "WxMpPayCallback [return_code=" + return_code + ", return_msg=" + return_msg + ", appid=" + appid + ", mch_id=" + mch_id + ", device_info=" + device_info + ", nonce_str=" + nonce_str + ", sign=" + sign + ", result_code=" + result_code + ", err_code=" + err_code | ||||
| 		        + ", err_code_des=" + err_code_des + ", openid=" + openid + ", is_subscribe=" + is_subscribe + ", trade_type=" + trade_type + ", bank_type=" + bank_type + ", total_fee=" + total_fee + ", fee_type=" + fee_type + ", cash_fee=" + cash_fee + ", cash_fee_type=" | ||||
| 		        + cash_fee_type + ", coupon_fee=" + coupon_fee + ", coupon_count=" + coupon_count + ", coupon_batch_id_$n=" + coupon_batch_id_$n + ", coupon_id_$n=" + coupon_id_$n + ", coupon_fee_$n=" + coupon_fee_$n + ", transaction_id=" + transaction_id + ", out_trade_no=" | ||||
| 		        + out_trade_no + ", attach=" + attach + ", time_end=" + time_end + "]"; | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 ukid
					ukid