- 谁能给个微信退款的示例代码,httpclient不知道怎么提交退款的XML数据
[代码]ByteArrayInputStream isc = [代码][代码]new[代码] [代码]ByteArrayInputStream(xml.getBytes());[代码][代码]//HttpEntity e = new InputStreamEntity(isc,ContentType.APPLICATION_XML);[代码][代码]//post.setEntity(e);[代码][代码]post.setEntity([代码][代码]new[代码] [代码]ByteArrayEntity(xml.getBytes()));[代码] xml是退款参数 InputStreamEntity 和 ByteArrayEntity都试过,一直返回 [代码]<[代码][代码]xml[代码][代码]><[代码][代码]return_code[代码][代码]>[代码][代码]<![CDATA[FAIL]]>[代码][代码]</[代码][代码]return_code[代码][代码]>[代码][代码]<[代码][代码]return_msg[代码][代码]>[代码][代码]<![CDATA[缺少参数]]>[代码][代码]</[代码][代码]return_msg[代码][代码]>[代码][代码]</[代码][代码]xml[代码][代码]>[代码] 下面的代码基本是抄官网的demo(官网也不提示的完整一些是怎么提交xml,还有到处查资料) [代码]/**[代码] [代码] [代码][代码]* 执行请求[代码][代码] [代码][代码]* @param xml 封装的参数[代码][代码] [代码][代码]* @return 返回执行结果[代码][代码] [代码][代码]*/[代码][代码] [代码][代码]private[代码] [代码]String doSslRequest(String xml) {[代码][代码] [代码][代码]// Trust own CA and all self-signed certs[代码][代码] [代码][代码]CloseableHttpClient httpclient = [代码][代码]null[代码][代码];[代码][代码] [代码][代码]CloseableHttpResponse response = [代码][代码]null[代码][代码];[代码][代码] [代码][代码]HttpEntity httpEntity = [代码][代码]null[代码][代码];[代码][代码] [代码][代码]InputStreamReader entityStream = [代码][代码]null[代码][代码];[代码][代码] [代码][代码]try[代码] [代码]{[代码][代码] [代码][代码]char[代码][代码][] mchid = AppConfig.getPaymchId().toCharArray();[代码][代码] [代码][代码]KeyStore keyStore = getKeyStore(mchid);[代码][代码] [代码][代码]SSLContext sslcontext = SSLContexts.custom()[代码][代码] [代码][代码].loadKeyMaterial(keyStore, mchid).build();[代码][代码] [代码][代码]// Allow TLSv1 protocol only[代码][代码] [代码][代码]String[] tlsv1 = { [代码][代码]"TLSv1"[代码] [代码]};[代码][代码] [代码][代码]HostnameVerifier hostname = SSLConnectionSocketFactory.getDefaultHostnameVerifier();[代码][代码] [代码][代码]SSLConnectionSocketFactory sslsf = [代码][代码]new[代码] [代码]SSLConnectionSocketFactory([代码][代码] [代码][代码]sslcontext, tlsv1, [代码][代码]null[代码][代码], hostname);[代码][代码] [代码][代码]httpclient = HttpClients.custom().setSSLSocketFactory(sslsf).build();[代码] [代码] [代码][代码]// HttpGet httpget = new HttpGet(D_URL_PAYREFUND);[代码][代码] [代码][代码]HttpPost post = [代码][代码]new[代码] [代码]HttpPost(D_URL_PAYREFUND);[代码][代码] [代码][代码]ByteArrayInputStream isc = [代码][代码]new[代码] [代码]ByteArrayInputStream(xml.getBytes());[代码][代码] [代码][代码]//HttpEntity e = new InputStreamEntity(isc,ContentType.APPLICATION_XML);[代码][代码] [代码][代码]//post.setEntity(e);[代码][代码] [代码][代码]post.setEntity([代码][代码]new[代码] [代码]ByteArrayEntity(xml.getBytes())); [代码][代码] [代码][代码]response = httpclient.execute(post);[代码][代码] [代码][代码]httpEntity = response.getEntity();[代码] [代码] [代码][代码]log.debug([代码][代码]"----------------------------------------"[代码][代码]);[代码][代码] [代码][代码]log.debug(response.getStatusLine().toString());[代码][代码] [代码][代码]if[代码] [代码](httpEntity == [代码][代码]null[代码][代码]) {[代码][代码] [代码][代码]log.error([代码][代码]"请求返回null"[代码][代码]);[代码][代码] [代码][代码]return[代码] [代码]null[代码][代码];[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]log.debug([代码][代码]"Response content length: "[代码][代码] [代码][代码]+ httpEntity.getContentLength());[代码][代码] [代码][代码]entityStream = [代码][代码]new[代码] [代码]InputStreamReader(httpEntity.getContent(),[代码][代码] [代码][代码]Tools.encode.UTF8);[代码][代码] [代码][代码]char[代码][代码][] buf = [代码][代码]new[代码] [代码]char[代码][代码][[代码][代码]1024[代码] [代码]* [代码][代码]16[代码][代码]];[代码][代码] [代码][代码]StringBuilder responseText = [代码][代码]new[代码] [代码]StringBuilder();[代码][代码] [代码][代码]int[代码] [代码]l;[代码][代码] [代码][代码]while[代码] [代码]((l = entityStream.read(buf)) != -[代码][代码]1[代码][代码]) {[代码][代码] [代码][代码]responseText.append(buf, [代码][代码]0[代码][代码], l);[代码][代码] [代码][代码]}[代码] [代码] [代码][代码]return[代码] [代码]responseText.toString();[代码][代码] [代码][代码]} [代码][代码]catch[代码] [代码](Exception e) {[代码][代码] [代码][代码]log.error([代码][代码]"微信支付ssl请求出错"[代码][代码], e);[代码][代码] [代码][代码]throw[代码] [代码]new[代码] [代码]YMException([代码][代码]"微信支付ssl请求出错:"[代码] [代码]+ e.getMessage());[代码][代码] [代码][代码]} [代码][代码]finally[代码] [代码]{[代码][代码] [代码][代码]Tools.io.close(entityStream);[代码][代码] [代码][代码]close(httpEntity);[代码][代码] [代码][代码]Tools.io.close(response);[代码][代码] [代码][代码]Tools.io.close(httpclient);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码]
2018-08-10 - 小程序有没有 A操作成功后,通知B的场景 的推送消息?
刚开始接触小程序的时候,以为模板消息是为了A操作成功后,通知B的场景,后来才发现不是的 现在很需要 A操作成功后,通知B的场景,不知道有没有这样的服务?
2018-07-13 - 开发版的小程序发送模板消息,发给自己就成功,发给别人就41028
开发版的小程序发送模板消息,为什么发给自己就成功,发给别人就 {"errcode":41028,"errmsg":"invalid form id hint: [QnS68a0297ge21]"} === 是不是有什么限制,看文档也没有说明啊?? 用两台手机试了两个openid,都是这情况
2018-07-09 - 客服消息接收到的消息不全
文档说有 https://developers.weixin.qq.com/miniprogram/dev/api/custommsg/receive.html#接收消息和事件 { "ToUserName": "toUser", "FromUserName": "fromUser", "CreateTime": 1482048670, "MsgType": "text", "Content": "this is a test", "MsgId": 1234567890123456 } =============但是我只收到下面的消息============ { "signature": "8748c126dffc3e349a28b900885b7f81a92ce4e2", "timestamp": "1525945303""nonce": "1831062238", "openid": "or-R_4gAdDW7tbJrw8VvfJIGBE3Y", "encrypt_type": "aes", "msg_signature": "43a9af487fa4c22b2ce0bfd7c199b2c1a5a2adca" }
2018-05-10 - swiper 开发工具预览与真机预览效果不一致
这是开发工具的预览效果 [图片] 点开发工具的预览后在华为手机上预览的修改 [图片] 真机上有很大的空隙 [图片]
2018-05-07 - 多项目共用工具类代码
小程序有两种角色使用:顾客、店主。 设计是想按两个小程序发布,但因为涉及到APPID等,开发是想尽量简单希望用一个APPID处理。 不知道微信小程序怎么处理这样的业务场景? - 希望提供的能力 a) 一个小程序能不能解决2个角色使用的问题 :tabbar就不能动态的按身份处理 b)如果两个小程序,1、配置2个APPID,2、配置两个https服务,3、两套程序的公共代码怎么引用?
2018-05-07