这里写自定义目录标题

  • 记那些年特约商户进件踩过的坑
    • 1. 微信平台证书下载
    • 2. 图片上传
    • 3. 申请的坑
    • 4. 待补充(还有查询没有踩坑)

记那些年特约商户进件踩过的坑

公司要做特约商户进件,折腾了好几天,都快秃了,现在就来说一说那些踩过的坑(想起来就是一把辛酸泪有木有)。

1. 微信平台证书下载

总的来说微信的SDK还是很有用的,比如微信平台证书它就封装了一个挺好用的方法,下载地址https://wechatpay-api.gitbook.io/wechatpay-api-v3/kai-fa-gong-ju
直接按照测试接口调用就行,很好用的,但是配置一定要配置好,尤其是服务商号和商户号,一定要区分开,在这里吃了大亏!

2. 图片上传

这是我踩过最深的坑,头都要秃了,好吧啦,

  1. 签名错误,原因是没有设置user-agent,一定要设置
//我的头文件
HttpPost httpPost = new HttpPost(uploadUrl);
//        httpPost.setHeader("Wechatpay-Serial", serialNo);httpPost.setHeader("Accept", "application/json");
//        httpPost.setHeader("Content-Type", "application/json");httpPost.setHeader("user-agent", "application/json");httpPost.setHeader("Content-Type","multipart/form-data;boundary=boundary");httpPost.setHeader("Authorization", authorization);
  1. 签名的内容
POST
/v3/merchant/media/upload
1566987169           //时间戳
12ced2db6f0193dda91ba86224ea1cd8   //随机数
{"filename":" filea.jpg ","sha256":" hjkahkjsjkfsjk78687dhjahdajhk "}

file不参与签名
3. 二进制内容错误
这是因为,我采用的是字符串拼接,使用SDK里面的方法去用,一直不可以,没办法只能换一种方法去写了

//创建MultipartEntityBuilderMultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create().setMode(HttpMultipartMode.RFC6532);//设置boundarymultipartEntityBuilder.setBoundary("boundary");multipartEntityBuilder.setCharset(Charset.forName("UTF-8"));//设置meta内容multipartEntityBuilder.addTextBody("meta","{\"filename\":\""+file.getName()+"\",\"sha256\":\""+DigestUtils.sha256Hex(new FileInputStream(file))+"\"}", ContentType.APPLICATION_JSON);//设置图片内容multipartEntityBuilder.addBinaryBody("file", file, ContentType.create("image/jpg"), file.getName());//放入内容httpPost.setEntity(multipartEntityBuilder.build());HttpClientBuilder httpClientBuilder = HttpClients.custom();CloseableHttpClient httpClient = httpClientBuilder.setSSLContext(SSLContextUtils.getSSLContext(apiclientCertP12,mchId)).build();CloseableHttpResponse response = httpClient.execute(httpPost);

3. 申请的坑

1.论微信的坑有多深,我感觉是没个三五天爬不出来的那种,好容易走到申请数据,首先数据里面夹杂着数组,就够头疼的,还有各种校验以及判定,总之写的判定快把自己写吐了。
2. 申请的时候的两种证书的问题,微信的文档很笼统,爬了好几天才爬出来,欲哭无泪

X509Certificate certificate = PemUtil.loadCertificate(new FileInputStream(//微信的平台证书路径,线上下载的那个));ArrayList<X509Certificate> listCertificates = new ArrayList<>();listCertificates.add(certificate);WechatPayHttpClientBuilder builder = WechatPayHttpClientBuilder.create().withMerchant(merchantId, serialNo, PemUtil.loadPrivateKey(new FileInputStream(//商户证书的私钥文件))).withWechatpay(listCertificates);HttpPost httpPost = new HttpPost(url);httpPost.addHeader("Accept", "application/json");httpPost.addHeader("Content-Type","application/json");httpPost.addHeader("Wechatpay-Serial",EncryptSensitive.getSerialNo(//微信的平台证书的路径,也可以线上获取,反正和你在API证书哪里看的不一样));httpPost.setEntity(new StringEntity(requestParams, "UTF-8"));CloseableHttpClient httpClient = builder.build();CloseableHttpResponse response = httpClient.execute(httpPost);int statusCode = response.getStatusLine().getStatusCode();String body = EntityUtils.toString(response.getEntity());

4. 待补充(还有查询没有踩坑)

v3特约商户进件-Java版本相关推荐

  1. 微信特约商户进件 JAVA 案例dome

    前一段时间,小微进件接口突然关闭,根据公司业务只能对接一下微信特约商户进件接口,发现V3接口坑还是蛮多的,但是网上的例子都不是很多,抽了点时间整理了一下,欢迎个位大佬点评. 1.对应的三个证书 商户证 ...

  2. 微信V3接口:特约商户进件 提交申请单API 提示证书错误.

    ||–查看的码友,在不麻烦的情况,如果文章有用,烦请点个赞.如果没用可以留言讨论哦–|| 特约商户进件 提交申请单API 提示证书错误 最终排查弄清楚 原来证书的使用应该是: 签名中使用的证书: Au ...

  3. 微信服务商商户进件php,关于微信服务商特约商户进件的问题

    我提交了特约商户进件信息,提交成功,并且返回了applyment_id正常,但是在用business_code 查询进件状态时返回: {"code":"PARAM_ERR ...

  4. JAVA 特约商户进件对接

    需要配置如下: 1.微信证书私钥路径(账户中心->API安全->申请API证书->API证书管理) 2.微信商户证书路径(账户中心->API安全->申请API证书-> ...

  5. 金格控件java版本_金格控件宝典(问题大全.docx

    金格控件宝典(问题大全 蓝凌EKP-J 蓝凌EKP-J 金格控件宝典 文档控制/Document Control 修改记录 日期 作者 版本 备注 2013-3-22 苏韶勇 V1.0 2013-5- ...

  6. 金格控件java版本_金格全文批注中间件软件下载

    今天给大家带来金格全文批注中间件软件最新版V4.3.0.36.本款金格正文office控件最新版为安装版,支持快捷安装,相比旧版加入了很多新功能.软件支持office的word.excel.ppt程序 ...

  7. 金格控件java版本_金格全文批注中间件安装软件-金格正文office控件(插件集成)下载V4.3.0.36安装版-西西软件下载...

    金格正文office控件(插件集成)是一款中国电信综合办公系统专用金格全文批注中间件插件集成,提供在线新建.编辑office文件和在office文件中进行签名印章.正文套红等功能,安装此控件前请确认您 ...

  8. 微信支付服务商,可视化进件特约商户

    服务商拓展特约商户(子商户),可能出现如下问题: 1.人工录入大量商户资料,耗时耗力. 2.商户对标准费率不满意,无法说服商户先签约再帮其调整费率. 针对以上问题,微信支付面向服务商开放"特 ...

  9. 微信服务商快速进件,商户自己提交资料,减少工作量

    大家好,我是小悟 用好技术,让经营更高效.为了减少服务商工作量,移动端服务商进件来了,分为移动端和管理端. 移动端 包括四大模块,主体资料.经营资料.法人资料和银行账户. 点击顶部步骤条可以切换,进入 ...

最新文章

  1. 从零开始搭建一个vue项目 -- vue-cli/cooking-cli(一)
  2. mysql表索引坏掉处理_一个mysql表索引被破坏的问题及解决
  3. Linker Scripts3--简单的链接脚本命令2-Assigning Values to Symbols
  4. QML for Android 加载图片资源的几种方式
  5. Python安装scikit-learn包
  6. Ubuntu 下PySpark安装
  7. 计算机二级vb上机操作题库,2016计算机二级《VB》上机题题库(含答案)
  8. 为虚幻引擎4设置Visual Studio
  9. 自学python能找到工作吗-学完python能找到工作么
  10. GStreamer入门概念(二)
  11. 笔记本gtx1650最好用驱动_各型号笔记本显卡定位
  12. 【实用的微缩版 初级开发面试题】
  13. 360校招——最后赢家(C++)
  14. php 法定节假日接口,通过百度接口获取每一个月的工作和法定假日
  15. android高仿微信的图片查看
  16. 四参数拟合算法之牛顿法
  17. python数据库查询数据与接口字段对比_python 接口测试response返回数据对比的方法...
  18. 微信逆向分析(三)——逆向分析的实现思路
  19. 下载文件时被提醒检测到病毒
  20. C语言UNIX时间戳4字节转北京时间

热门文章

  1. 计算机专业中期答辩怎么说,中期答辩的一些注意事项和常见问题
  2. java thread 头文件_Linux 下 C++ 的多线程基类 - Thread
  3. 美学心得(第二百五十集) 罗国正
  4. Linux内核版本介绍与查询
  5. vuetify,一直使用一直爽
  6. Rtools安装步骤,快速高效!
  7. CSS消除ul和li的间隔
  8. 【数通 | BGP】使用eNSP进行IBGP的简单配置
  9. 代码随想录打卡第二天
  10. Windows下的OpenCVSharp配置