1、问题描述:开发项目中需要微信的jsapi支付和退款操作,支付成功后调起退款接口报invalid transaction_id
2、排查发现:经过日志排查,transaction_id 已传,而且正式线上和测试上overtrue/wechat 插件版本不同,测试上版本为3.3.33版本,正式上是3.3.30版本,更新版本后还是报错证书错误之类的。
最后发现:3.3.30版本的正确参数:

3.3.33版本的正确参数:
两个版本的证书和key参数字段不一样。
3、最终正式线上更新版本到3.3.33,参数修改后退款成功
总结:由于项目是thinkphp5.0框架,支付插件是easyWechat, 这个插件的退款参数字段变了,导致退款不成功。