一、注意服务器的时间与微信接口是否相同,如时间不同接口也不通即使是0.1秒

二、调用支付相关接口需要加载私钥,和证书两个认证文件,官网文档给了java和php两个demo,逻辑应该是一样的,但实际却走了两个逻辑,加载私钥过程php和java是一样的。加载证书java是需要实时下载(个人认为没必要每次使用平台接口都要先去下载证书,因为平台有说明证书有效期是5年),php版demo就很简单想加载私钥一样直接加载事先下载好的证书。减少了不必要的通信,同时也减少了通信失败的可能。

java版demo

public void setup() throws IOException {// 加载商户私钥(privateKey:私钥字符串)PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey(new ByteArrayInputStream(privateKey.getBytes("utf-8")));// 加载平台证书(mchId:商户号,mchSerialNo:商户证书序列号,apiV3Key:V3密钥)这步会去下载证书,不同于php版AutoUpdateCertificatesVerifier verifier = new AutoUpdateCertificatesVerifier(new WechatPay2Credentials(mchId, new PrivateKeySigner(mchSerialNo, merchantPrivateKey)),apiV3Key.getBytes("utf-8"));/* //实际可以像加载私钥一样直接加载证书X509Certificate wechatpayCertificate = PemUtil.loadCertificate(new ByteArrayInputStream(certificate.getBytes("utf-8")));*/ // 初始化httpClienthttpClient = WechatPayHttpClientBuilder.create().withMerchant(mchId, mchSerialNo, merchantPrivateKey).withValidator(new WechatPay2Validator(verifier)).build();
}

php版demo

// 商户相关配置,
$merchantId = '1000100'; // 商户号
$merchantSerialNumber = 'XXXXXXXXXX'; // 商户API证书序列号
$merchantPrivateKey = PemUtil::loadPrivateKey('./path/to/mch/private/key.pem'); // 私钥 $wechatpayCertificate = PemUtil::loadCertificate('./path/to/wechatpay/cert.pem'); // 证书// 构造一个WechatPayMiddleware
$wechatpayMiddleware = WechatPayMiddleware::builder()->withMerchant($merchantId, $merchantSerialNumber, $merchantPrivateKey) // 传入商户相关配置->withWechatPay([ $wechatpayCertificate ]) // 可传入多个微信支付平台证书,参数类型为array->build();

微信支付平台技术文档的一个小坑相关推荐

  1. atitit.微信支付的教程文档 attilax总结

    atitit.微信支付的教程文档 attilax总结 1. 支付流程概览 1 2. 设置支付起始目录   host/app/paydir/ 1 3. 设置oauth验证域名 1 4. 测试目录 可以使 ...

  2. 微信|公众平台开发者文档

    微信|公众平台开发者文档 http://mp.weixin.qq.com/wiki/3/ecfed6e1a0a03b5f35e5efac98e864b7.html 爱父母项目(提示用户名,密码在项目文 ...

  3. wps在线预览接口_金山文档在线编辑 - 快速接入 - 《WPS开放平台技术文档》 - 书栈网 · BookStack...

    快速接入 一.申请和上线流程如下: 1.申请Appid和SecretKey 需要前往https://open.wps.cn 注册服务商,并且申请开通金山文档在线编辑服务. 2.实现回调接口 根据本文档 ...

  4. android微信支付插件,AppCan文档中心-Android微信插件接入指引

    开发者在使用APPCAN平台提供的微信插件时,需要配置相关的包名,AppID和签名.具体步骤如下(以大众版打包为例): 1. 获取apk相关的包名和签名 1.1包名 自定义包名(推荐使用) APPCA ...

  5. 微信公众号用户标签php,用户标签管理 - 微信公众平台开发者文档 - php中文网手册...

    开发者可以使用用户标签管理的相关接口,实现对公众号的标签进行创建.查询.修改.删除等操作,也可以对用户进行打标签.取消标签等操作. 标签管理 1. 创建标签 一个公众号,最多可以创建100个标签. 接 ...

  6. 微信公众平台开发者文档

    http://mp.weixin.qq.com/wiki/index.php?title=接入指南

  7. 微信 公众平台开发者文档

    官方地址: https://mp.weixin.qq.com/wiki/16/52e198333f5c127ddd5c45e875191b14.html

  8. python使用微信设置-微信 python 接口 -- itchat 文档

    itchat 一. 安装 $ pip install itchat 特殊的字典使用方式 通过打印 itchat 的用户以及注册消息的参数, 可以发现这些值都是字典. 但实际上 itchat 精心构造了 ...

  9. 如何写一篇好的技术文档

    最近在公司内部审查(Review)一篇详细设计文档时,对于文档作者所写的文档觉得很多地方需要改进.对于其中所存在的值得提高的地方,我想不是我们中国软件行业的个别问题,相反,存在一定的普遍性.以下我列出 ...

最新文章

  1. ThinkPHP 模板循环输出 Volist 标签
  2. idea从mapper接口跳到xml文件
  3. MyBatis源码-深入理解MyBatis Executor的设计思想
  4. np.c_与np.r_
  5. 下拉菜单实现树状结构_树形图:复杂层次结构的数据可视化
  6. 在ubuntu下面安装glew
  7. node sqlite 插入数据_方便且实用,Python内置的轻量级数据库实操
  8. OpenStack Trove2
  9. 2台主机极致实现双主复制架构及MMM
  10. 锐捷EG易网关与NBR路由器命令执行漏洞-2
  11. 微软模拟飞行10 简体中文豪华版 2DVD
  12. 学习笔记16-HC05
  13. java 添加图片到word中,并导出word到前端
  14. 医疗器械A类B类C类物料区分
  15. 最新鸽哒IM即时通讯系统源码+带安装教程,正常运行版,无报错
  16. vscode使用wsl远程调试linux代码
  17. 【小程序】384- 如何一人五天开发完复杂小程序(前端必看)
  18. 汕头示范新品种技术 国稻种芯·中国水稻节:广东水稻粒粒归仓
  19. Apache Pulsar的数据写入和读取流程,及读写异常处理流程
  20. 移动硬盘不能识别的常见7种解决方案 ~ By 逆天经验

热门文章

  1. 数据库中@代表什么意思
  2. 在线html批量生成工具,在线网址链接批量生成器
  3. CX51 用户手册----MDU_F120伪指令
  4. [RFID]射频卡介绍(一)ID-EM4100
  5. 【转】python获取计算股票技术指标DIF/DEA/MACD
  6. Kali Linux系统下无线网卡MW310UH的驱动安装教程
  7. 【数据建模 极端值的检测】离群值检测
  8. 金融风控实战入门-特征工程
  9. 一:以理论结合实践方式梳理前端 CSS 3 ———真正了解样式表
  10. 爬虫工具之Beautiful Soup学习