Appearance
应用ID
应用id是微信公众号、小程序在内部系统的唯一标识,调用微信相关服务都需要此标识。首次需要将微信官方信息增加至内部系统中。
服务地址
- 测试环境
https://wechat.test.investoday.net - 生产环境
http://wechat.txyun.investoday.net
Tips:
测试环境可以通过外网访问页面直接增加微信配置。
生产环境只能通过内网访问页面增加微信配置。
服务区域
WechatConstant.HN_TEST 测试环境
WechatConstant.HN_PRO 生产环境
模板Id和模板Code
模板Id是微信官方分配的唯一Id,用于标识唯一模板信息,模板Code是微信服务内部根据标题+模板内容生成的唯一代码。
不同公众号之间同样的模板信息的模板代码是一致的,主要解决通用一套系统来进行模板消息推送的问题。
模板Code获取地址: 相应环境的docs页面: GET /wechat/message/template/info
👉 注意: 通过模板Code进行消息发送,请确保公众号不会存在两个同样的模板内容,否则系统只会入库一个模板。
快速开始
基础接口
新增微信配置
URL:
http://wechat.txyun.investoday.net/wechat/config/insertMethod:
GETParams:
字段 描述 必要 类型 示例 备注 type 类型 ✅ string MP MP-公众号;APPLET-小程序 appName 应用名称 ✅ string 我的ai股微信号 wechatId 微信号 ✅ string gh_eb54378a9dc4 appId 应用id ✅ string wxbdb******4b5de0bf appSecret 应用密钥secret ✅ string 72328566c******18611d2c788a mchAppId 支付应用id string wxbdb******4b5de0bf mchId 支付商户id string 1495043092 mchSecret 支付商户密钥secret string XRDmKsi******t1NwZxg5sNn forwardUrl 事件转发地址 string 统一微信事件会转发到该地址(公众号事件、支付通知等) Response:
{ "errcode": 0, "errmsg": "ok", "data": [ { "id": "ccee1aa080ee499ba848f9e5ade30868", "type": "MP", "appName": "我的ai股测试号", "wechatId": "gh_eb54378a9dc4", "appId": "wxbdb0b55c4b5de0bf", "appSecret": "aKlECgA7rzUXPlyBnYtZjHgShnR7IpnDBMZ8rc9bKTQyhNfalAG/7qXm7xuMlpS2Vdrt7UEOl+dZUCDD/Hu1jwsgEbFo06cOZmgJqLLgsg3bIQKsNagnLGEeAyr6jHQmlfKHAvbA2L3RFE6J+KhmTY43epx3lmn655iKxXfKt1c=", "token": null, "mchAppId": "wxbdb0b55c4b5de0bf", "mchId": "1495043092", "mchSecret": "hl+zj2SxkB9kbOP0Zhp6lFVV4+oson+CYUZ69A6h+evPgOlgmmjunbjM4kCeekq0LEFbfVBZOcEs5XnDFxunuPdJo9KebbGv+knuktcNJ0NlKe2NF1wmqt6riJ0CzAyzGfO433i8NIXptiDK8XoW6F53dEis5ZhST7X/R+QkE4E=", "forwardUrl": null, "createTime": "2019-04-19 14:36:18", "updateTime": "2019-04-19 14:36:18" } ] }{ "errcode": 0, "errmsg": "ok", "data": [ { "id": "ccee1aa080ee499ba848f9e5ade30868", "type": "MP", "appName": "我的ai股测试号", "wechatId": "gh_eb54378a9dc4", "appId": "wxbdb0b55c4b5de0bf", "appSecret": "aKlECgA7rzUXPlyBnYtZjHgShnR7IpnDBMZ8rc9bKTQyhNfalAG/7qXm7xuMlpS2Vdrt7UEOl+dZUCDD/Hu1jwsgEbFo06cOZmgJqLLgsg3bIQKsNagnLGEeAyr6jHQmlfKHAvbA2L3RFE6J+KhmTY43epx3lmn655iKxXfKt1c=", "token": null, "mchAppId": "wxbdb0b55c4b5de0bf", "mchId": "1495043092", "mchSecret": "hl+zj2SxkB9kbOP0Zhp6lFVV4+oson+CYUZ69A6h+evPgOlgmmjunbjM4kCeekq0LEFbfVBZOcEs5XnDFxunuPdJo9KebbGv+knuktcNJ0NlKe2NF1wmqt6riJ0CzAyzGfO433i8NIXptiDK8XoW6F53dEis5ZhST7X/R+QkE4E=", "forwardUrl": null, "createTime": "2019-04-19 14:36:18", "updateTime": "2019-04-19 14:36:18" } ] }微信配置
WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域);WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域);获取AccessToken
WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域); Map<String, Object> res = AccessTokenService.getAccessToken(wechatConfig); String token = res.get("data");WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域); Map<String, Object> res = AccessTokenService.getAccessToken(wechatConfig); String token = res.get("data");
微信公众号H5
微信H5获取网页JSSDK
WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域); String pageUrl = "回调url"; Map<String, Object> res = WechatH5Service.getMpH5JssdkConfig(wechatConfig, pageUrl); //签名随机串 String nonceStr = res.get("nonceStr"); //签名 String signature = res.get("signature"); //签名时间戳 int timestamp = res.get("timestamp");WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域); String pageUrl = "回调url"; Map<String, Object> res = WechatH5Service.getMpH5JssdkConfig(wechatConfig, pageUrl); //签名随机串 String nonceStr = res.get("nonceStr"); //签名 String signature = res.get("signature"); //签名时间戳 int timestamp = res.get("timestamp");获取H5授权的aceessToken
WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域); String code = "微信授权返回的code"; Map<String, Object> res = WechatH5Service.getMpH5Oauth2AccessToken(wechatConfig, code);WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域); String code = "微信授权返回的code"; Map<String, Object> res = WechatH5Service.getMpH5Oauth2AccessToken(wechatConfig, code);响应: accessToken (string, optional): 调用凭证 , appId (string, optional): appId , effectiveTime (Timestamp, optional): 生效时间 , expiresFault (integer, optional): 凭证失效容错值(s) , expiresIn (integer, optional): 凭证超时时间(s) , invalidTime (Timestamp, optional): 失效时间[生效时间 + 超时时间 - 容错值] , oauthType (string, optional): 第三方名称 , openid (string, optional): 用户openid , refreshToken (string, optional): 刷新凭证 , scope (string, optional): 用户授权的范围
获取网页授权用户信息
WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域); String accessToken = "授权accessToken"; String openid = "用户openid"; Map<String, Object> res = WechatH5Service.getMpH5Oauth2UserInfo(wechatConfig, accessToken, openid);WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域); String accessToken = "授权accessToken"; String openid = "用户openid"; Map<String, Object> res = WechatH5Service.getMpH5Oauth2UserInfo(wechatConfig, accessToken, openid);响应: city (string, optional): 城市 , country (string, optional): 国家 , headimgurl (string, optional): 头像链接地址 , nickname (string, optional): 用户昵称 , openid (string, optional): 用户标识 , province (string, optional): 省份 , sex (integer, optional): 用户性别[1男2女0未知] , unionid (string, optional): 微信开放平台唯一标识
获取小程序的codeSession值
WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域); String jscode = "登陆获取的jscode"; Map<String, Object> res = AppletService.getAppletCodeSession(wechatConfig, jscode);WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("应用id"); wechatConfig.setRegion(服务区域); String jscode = "登陆获取的jscode"; Map<String, Object> res = AppletService.getAppletCodeSession(wechatConfig, jscode);
微信公众号消息
客服消息
文本消息
//微信配置 WechatConfig wechatConfig = new WechatConfig(); //文本消息 CustomerText customerText = new CustomerText();//微信配置 WechatConfig wechatConfig = new WechatConfig(); //文本消息 CustomerText customerText = new CustomerText();小程序
//微信配置 WechatConfig wechatConfig = new WechatConfig(); //小程序消息 CustomerMiniprogram wechatCustomerMessageMiniprogram = new CustomerMiniprogram();//微信配置 WechatConfig wechatConfig = new WechatConfig(); //小程序消息 CustomerMiniprogram wechatCustomerMessageMiniprogram = new CustomerMiniprogram();图文消息
//微信配置 WechatConfig wechatConfig = new WechatConfig(); //图文消息 CustomerMpNews customerMpNews = new CustomerMpNews();//微信配置 WechatConfig wechatConfig = new WechatConfig(); //图文消息 CustomerMpNews customerMpNews = new CustomerMpNews();音乐
//微信配置 WechatConfig wechatConfig = new WechatConfig(); //音乐消息 CustomerMusic customerMusic = new CustomerMusic();//微信配置 WechatConfig wechatConfig = new WechatConfig(); //音乐消息 CustomerMusic customerMusic = new CustomerMusic();图文消息(外链)
//微信配置 WechatConfig wechatConfig = new WechatConfig(); //图文消息(外链) CustomerNews customerNews = new CustomerNews();//微信配置 WechatConfig wechatConfig = new WechatConfig(); //图文消息(外链) CustomerNews customerNews = new CustomerNews();视频消息
//微信配置 WechatConfig wechatConfig = new WechatConfig(); //视频消息 CustomerVideo customerVideo = new CustomerVideo();//微信配置 WechatConfig wechatConfig = new WechatConfig(); //视频消息 CustomerVideo customerVideo = new CustomerVideo();语音消息
//微信配置 WechatConfig wechatConfig = new WechatConfig(); //语音消息 CustomerVoice customerVoice = new CustomerVoice();//微信配置 WechatConfig wechatConfig = new WechatConfig(); //语音消息 CustomerVoice customerVoice = new CustomerVoice();微信卡券
//微信配置 WechatConfig wechatConfig = new WechatConfig(); //微信卡券消息 CustomerWXCard customerWXCard = new CustomerWXCard();//微信配置 WechatConfig wechatConfig = new WechatConfig(); //微信卡券消息 CustomerWXCard customerWXCard = new CustomerWXCard();
模板消息
基本消息(模板Id)//微信配置 WechatConfig wechatConfig = new WechatConfig(); //基本模板消息 TemplateBase templateBase = new templateBase();//微信配置 WechatConfig wechatConfig = new WechatConfig(); //基本模板消息 TemplateBase templateBase = new templateBase();基本消息(模板代码)javaWechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("65cf909e8b37848c39dbdf2afe6ace1a"); wechatConfig.setRegion("HN_TEST"); TemplateBaseCode templateBaseCode = new TemplateBaseCode(); templateBaseCode.setTemplateCode("82308191877ac290"); templateBaseCode.setUrl("http://www.baidu.com"); templateBaseCode.setOpenId("oeO-Ww-j1s32r89WOgyDEKmM5Ryg"); TemplateData templateDate = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("toubu"); templateDate.setFirst(first); templateBaseCode.setData(templateDate); boolean res = WechatMessageService.sendWechatTemplateMessageBaseAtCode(wechatConfig, templateBaseCode);WechatConfig wechatConfig = new WechatConfig(); wechatConfig.setId("65cf909e8b37848c39dbdf2afe6ace1a"); wechatConfig.setRegion("HN_TEST"); TemplateBaseCode templateBaseCode = new TemplateBaseCode(); templateBaseCode.setTemplateCode("82308191877ac290"); templateBaseCode.setUrl("http://www.baidu.com"); templateBaseCode.setOpenId("oeO-Ww-j1s32r89WOgyDEKmM5Ryg"); TemplateData templateDate = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("toubu"); templateDate.setFirst(first); templateBaseCode.setData(templateDate); boolean res = WechatMessageService.sendWechatTemplateMessageBaseAtCode(wechatConfig, templateBaseCode);小程序消息(模板Id)//微信配置 WechatConfig wechatConfig = new WechatConfig(); //小程序模板消息 TemplateMiniprogram templateMiniprogram = new TemplateMiniprogram();//微信配置 WechatConfig wechatConfig = new WechatConfig(); //小程序模板消息 TemplateMiniprogram templateMiniprogram = new TemplateMiniprogram();
模板消息(统一消息总线)[推荐]
基本模板消息
java//基本模板消息 ok String region = "HN_TEST"; String appId = "65cf909e8b37848c39dbdf2afe6ace1a"; String openId = "oeO-Ww-j1s32r89WOgyDEKmM5Ryg"; String templateId = "XRj4VzyGc4OzATiEYpPnC7XXqHEB60W1cIYyrzTh3R4"; String url = "https://aistock-retail.std.txyun.investoday.net/ai/#/aiStock?utm_source=0106_SDHD_message"; //模板数据 TemplateData templateData = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("模板消息测试"); TemplateSubData keyword1 = new TemplateSubData(); keyword1.setValue("key1"); TemplateSubData remark = new TemplateSubData(); remark.setValue("备注"); templateData.setFirst(first); templateData.setKeyword1(keyword1); templateData.setRemark(remark); String linkId = WechatMessageService.sendWxTemplateMessageBaseX(region, appId, openId, templateId, url, templateData); System.out.println(linkId);//基本模板消息 ok String region = "HN_TEST"; String appId = "65cf909e8b37848c39dbdf2afe6ace1a"; String openId = "oeO-Ww-j1s32r89WOgyDEKmM5Ryg"; String templateId = "XRj4VzyGc4OzATiEYpPnC7XXqHEB60W1cIYyrzTh3R4"; String url = "https://aistock-retail.std.txyun.investoday.net/ai/#/aiStock?utm_source=0106_SDHD_message"; //模板数据 TemplateData templateData = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("模板消息测试"); TemplateSubData keyword1 = new TemplateSubData(); keyword1.setValue("key1"); TemplateSubData remark = new TemplateSubData(); remark.setValue("备注"); templateData.setFirst(first); templateData.setKeyword1(keyword1); templateData.setRemark(remark); String linkId = WechatMessageService.sendWxTemplateMessageBaseX(region, appId, openId, templateId, url, templateData); System.out.println(linkId);基本模板消息(客户号)
javaString region = "HN_TEST"; String appId = "65cf909e8b37848c39dbdf2afe6ace1a"; //谨慎: 相应服务区域的用户体系数据需具有该客户号 String accountId = "100556"; String templateId = "XRj4VzyGc4OzATiEYpPnC7XXqHEB60W1cIYyrzTh3R4"; String url = "https://aistock-retail.std.txyun.investoday.net/ai/#/aiStock?utm_source=0106_SDHD_message"; //模板数据 TemplateData templateData = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("模板消息测试"); TemplateSubData keyword1 = new TemplateSubData(); keyword1.setValue("key1"); TemplateSubData remark = new TemplateSubData(); remark.setValue("备注"); templateData.setFirst(first); templateData.setKeyword1(keyword1); templateData.setRemark(remark); String linkId = WechatMessageService.sendWxTemplateMessageBaseAtAccountX(region, appId, accountId, templateId, url, templateData); System.out.println(linkId);String region = "HN_TEST"; String appId = "65cf909e8b37848c39dbdf2afe6ace1a"; //谨慎: 相应服务区域的用户体系数据需具有该客户号 String accountId = "100556"; String templateId = "XRj4VzyGc4OzATiEYpPnC7XXqHEB60W1cIYyrzTh3R4"; String url = "https://aistock-retail.std.txyun.investoday.net/ai/#/aiStock?utm_source=0106_SDHD_message"; //模板数据 TemplateData templateData = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("模板消息测试"); TemplateSubData keyword1 = new TemplateSubData(); keyword1.setValue("key1"); TemplateSubData remark = new TemplateSubData(); remark.setValue("备注"); templateData.setFirst(first); templateData.setKeyword1(keyword1); templateData.setRemark(remark); String linkId = WechatMessageService.sendWxTemplateMessageBaseAtAccountX(region, appId, accountId, templateId, url, templateData); System.out.println(linkId);基本模板消息(模板code)
javaString region = "HN_TEST"; String appId = "65cf909e8b37848c39dbdf2afe6ace1a"; String openId = "oeO-Ww-j1s32r89WOgyDEKmM5Ryg"; //谨慎: 模板code需要从微信服务更新和获取 String templateCode = "82308191877ac290"; String url = "https://aistock-retail.std.txyun.investoday.net/ai/#/aiStock?utm_source=0106_SDHD_message"; //模板数据 TemplateData templateData = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("模板消息测试-code"); TemplateSubData keyword1 = new TemplateSubData(); keyword1.setValue("key1"); TemplateSubData remark = new TemplateSubData(); remark.setValue("备注"); templateData.setFirst(first); templateData.setKeyword1(keyword1); templateData.setRemark(remark); String linkId = WechatMessageService.sendWxTemplateMessageBaseByCodeX(region, appId, openId, templateCode, url, templateData); System.out.println(linkId);String region = "HN_TEST"; String appId = "65cf909e8b37848c39dbdf2afe6ace1a"; String openId = "oeO-Ww-j1s32r89WOgyDEKmM5Ryg"; //谨慎: 模板code需要从微信服务更新和获取 String templateCode = "82308191877ac290"; String url = "https://aistock-retail.std.txyun.investoday.net/ai/#/aiStock?utm_source=0106_SDHD_message"; //模板数据 TemplateData templateData = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("模板消息测试-code"); TemplateSubData keyword1 = new TemplateSubData(); keyword1.setValue("key1"); TemplateSubData remark = new TemplateSubData(); remark.setValue("备注"); templateData.setFirst(first); templateData.setKeyword1(keyword1); templateData.setRemark(remark); String linkId = WechatMessageService.sendWxTemplateMessageBaseByCodeX(region, appId, openId, templateCode, url, templateData); System.out.println(linkId);基本模板消息(模板code + 客户号)
javaString region = "HN_TEST"; String appId = "65cf909e8b37848c39dbdf2afe6ace1a"; //谨慎: 相应服务区域的用户体系数据需具有该客户号 String accountId = "100556"; //谨慎: 模板code需要从微信服务更新和获取 String templateCode = "82308191877ac290"; String url = "https://aistock-retail.std.txyun.investoday.net/ai/#/aiStock?utm_source=0106_SDHD_message"; //模板数据 TemplateData templateData = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("模板消息测试-code"); TemplateSubData keyword1 = new TemplateSubData(); keyword1.setValue("key1"); TemplateSubData remark = new TemplateSubData(); remark.setValue("备注"); templateData.setFirst(first); templateData.setKeyword1(keyword1); templateData.setRemark(remark); String linkId = WechatMessageService.sendWxTemplateMessageBaseAtAccountByCodeX(region, appId, accountId, templateCode, url, templateData); System.out.println(linkId);String region = "HN_TEST"; String appId = "65cf909e8b37848c39dbdf2afe6ace1a"; //谨慎: 相应服务区域的用户体系数据需具有该客户号 String accountId = "100556"; //谨慎: 模板code需要从微信服务更新和获取 String templateCode = "82308191877ac290"; String url = "https://aistock-retail.std.txyun.investoday.net/ai/#/aiStock?utm_source=0106_SDHD_message"; //模板数据 TemplateData templateData = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("模板消息测试-code"); TemplateSubData keyword1 = new TemplateSubData(); keyword1.setValue("key1"); TemplateSubData remark = new TemplateSubData(); remark.setValue("备注"); templateData.setFirst(first); templateData.setKeyword1(keyword1); templateData.setRemark(remark); String linkId = WechatMessageService.sendWxTemplateMessageBaseAtAccountByCodeX(region, appId, accountId, templateCode, url, templateData); System.out.println(linkId);基本模板消息(小程序)
javaString region = "HN_TEST"; String appId = "3d595cc6c404191beddd6158dfa97ff2"; String openId = "ozg_31Xqemqc0Edva-Nc9qTrfPGI"; String templateId = "3ZOVrrWfjb5Z6VrQklQOiXntynuqPClsk5-5odhTcAQ"; String appletId = "wxe95888b07aa4f3d8"; String appletPath = "pages/index/index"; //模板数据 TemplateData templateData = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("模板消息测试-小程序"); TemplateSubData keyword1 = new TemplateSubData(); keyword1.setValue("key1"); TemplateSubData remark = new TemplateSubData(); remark.setValue("备注"); templateData.setFirst(first); templateData.setKeyword1(keyword1); templateData.setRemark(remark); String linkId = WechatMessageService.sendWxTemplateMessageAppletX(region, appId, openId, templateId, appletId, appletPath, templateData); System.out.println(linkId);String region = "HN_TEST"; String appId = "3d595cc6c404191beddd6158dfa97ff2"; String openId = "ozg_31Xqemqc0Edva-Nc9qTrfPGI"; String templateId = "3ZOVrrWfjb5Z6VrQklQOiXntynuqPClsk5-5odhTcAQ"; String appletId = "wxe95888b07aa4f3d8"; String appletPath = "pages/index/index"; //模板数据 TemplateData templateData = new TemplateData(); TemplateSubData first = new TemplateSubData(); first.setValue("模板消息测试-小程序"); TemplateSubData keyword1 = new TemplateSubData(); keyword1.setValue("key1"); TemplateSubData remark = new TemplateSubData(); remark.setValue("备注"); templateData.setFirst(first); templateData.setKeyword1(keyword1); templateData.setRemark(remark); String linkId = WechatMessageService.sendWxTemplateMessageAppletX(region, appId, openId, templateId, appletId, appletPath, templateData); System.out.println(linkId);
微信支付
统一下单(小程序支付)
//微信配置 WechatConfig wechatConfig = new WechatConfig(); @param openId 用户openid @param money 支付金额 @param body 支付信息 //Response appId (string, optional): 微信支付公众账户Id/小程序Id , mchSecret (string, optional), nonceStr (string, optional): 随机字符串 , paySign (string, optional): 支付签名 , signType (string, optional): 签名类型 , timeStamp (string, optional): 时间戳//微信配置 WechatConfig wechatConfig = new WechatConfig(); @param openId 用户openid @param money 支付金额 @param body 支付信息 //Response appId (string, optional): 微信支付公众账户Id/小程序Id , mchSecret (string, optional), nonceStr (string, optional): 随机字符串 , paySign (string, optional): 支付签名 , signType (string, optional): 签名类型 , timeStamp (string, optional): 时间戳统一下单(JSSDK支付)
//微信配置 WechatConfig wechatConfig = new WechatConfig(); @param openId 用户openid @param money 支付金额 @param body 支付信息 //Response appId (string, optional): 微信支付公众账户Id/小程序Id , mchSecret (string, optional), nonceStr (string, optional): 随机字符串 , paySign (string, optional): 支付签名 , signType (string, optional): 签名类型 , timeStamp (string, optional): 时间戳//微信配置 WechatConfig wechatConfig = new WechatConfig(); @param openId 用户openid @param money 支付金额 @param body 支付信息 //Response appId (string, optional): 微信支付公众账户Id/小程序Id , mchSecret (string, optional), nonceStr (string, optional): 随机字符串 , paySign (string, optional): 支付签名 , signType (string, optional): 签名类型 , timeStamp (string, optional): 时间戳