目录

  • 问题描述
  • 解决方案
  • 备注
  • 总结
问题描述

​ 在小程序支付退款调用api(https://api.mch.weixin.qq.com/secapi/pay/refund)时出现您的请求参数与订单信息不一致的问题

解决方案
  1. 常见错误是total_feerefund_fee金额设定错误,这两个参数单位为,并且只能为整数,total_fee的值需与原始的订单支付的金额相对应,refund_fee的值不能超过可退款的余额

  2. appid 需与小程序id对应

  3. 退款单out_refund_no不能重复

  4. 商户号id与订单生成时的商户号id不一致

  5. 我们项目的错误出在这种较为少见的情况:

    1. 我们是通过云开发的CloudPay.unifiedOrder()的api创建的支付单,传入参数列表包含子商户号id[subMchId]

      然后在后台调用的时候通过调用退款接口进行退款处理,但是调用的时候传入的商户号是商户号id[mch_id],并且通过微信订单号[transaction_id]查询,就出现了您的请求参数与订单信息不一致的情况,后来想在退款接口传入子商户号,发现并不满足条件,则通过云开发api的CloudPay.refund()解决

备注
  1. 云开发的退款功能需要授权,在微信开发者工具->云开发->设置->全局设置页的微信支付配置中,即

    再通过授权网址进行通过授权即可

  2. 示例代码

    const result = await cloud.cloudPay.refund({nonceStr,  // 随机字符串 可通过Math.random().toString(36).substr(2, 13)生成total_fee,  // 订单总额refund_fee, // 退款金额sub_mch_id, // 需授权退款且与订单生成时一致的商户号idout_trade_no, // 与transaction_id二选一out_refund_no // 商户自建退款订单号,退款单不能重复
    })
    
  3. 触发云函数

总结

​ 这次错误其实有预兆,因为我们在通过商户订单号[out_trade_no]查询不到订单,但是通过微信订单号[transaction_id]能查询到订单时直接忽略了,以为微信支付不能通过商户订单号[out_trade_no]查询,在接下来的退款操作时就出现了以上参数与订单信息不一致的错误,纠错了半天,殊不知是子商户号商户号填写错误的问题

微信支付:请求参数与订单信息不一致相关推荐

  1. 您的请求参数与订单信息不一致_[淘客订单检测]淘宝客订单检测接口,淘客订单查询API...

    功能 1.输入交易的订单编号,即可查询该订单是否为淘宝客订单.有意向请联系卫星weixiaot168. 2.查询结果 0:不是淘宝客订单:1:是. 3.根据淘宝官方的后台数据,进行检测,数据真实且有效 ...

  2. 您的请求参数与订单信息不一致_长春各学校信息审核结果出炉!这些情况不符合“两个一致”...

    昨天在长春34℃的高温天气下,那种胸口好像有一团火的憋闷感差点让八卦小编窒息! 八卦小编本想吸取一下昨天穿得太多的教训,结果今天穿的凉快了点儿,结果又下雨了. 今天是信息审核结果通知的最后一天,下了会 ...

  3. java微信支付v3系列——3.订单创建准备操作

    目录 java微信支付v3系列--1.微信支付准备工作 java微信支付v3系列--2.微信支付基本配置 java微信支付v3系列--3.订单创建准备操作 java微信支付v3系列--4.创建订单的封 ...

  4. nodejs+Koa2实现小程序的微信支付请求(一)

    nodejs+koa2 实现微信支付请求 在开发之前我们先看一下小程序向微信请求支付的业务流程 第一步,小程序先发起支付请求 小程序首先先向"商家系统后台"发起请求支付,也就是我们 ...

  5. 微信支付报201商户订单号重复问题

    微信支付报201商户订单号重复问题 问题描述:   用户在PC端使用扫码支付(微信NATIVE支付方式)生成一个微信支付预订单后,为对该订单立即完成支付:用户打开手机APP后看到该订单状态为未支付,点 ...

  6. 微信支付提示参数错误

    开发微信支付功能,提示"参数错误", 随后用微信官方的demo代码测试,正常! 再经测试发现SetTotal_fee中的money参数为获取到,是空的.当money变量是固定变量时 ...

  7. PHP 实现微信支付 “请求单次分账”

    目录 一.小总结 二.服务层 一.小总结 分账 1:调用分账的订单必须是请求下单中以下参数等于  Y 的订单并且在下单接口中该参数也等于 Y 才能使用分账(可以参考一下PHP JSAPI调起微信支付A ...

  8. 微信支付之01------获取订单微信支付二维码的接口------Java实现

    [ 前言:以前写过一个获取微信二维码支付的接口,发现最近公司新开的项目会经常用到,现在我又翻出代码看了一遍,觉得还是把整个代码流程记下来的好 ] 借鉴博客: 他这篇博客写得不错,挺全的:https:/ ...

  9. 微信撤销订单java,Java微信支付开发之关闭订单

    一.应用场景 商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付 系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口 注意:订单生成后不能马上调用关单 ...

  10. 微信支付配置参数:支付授权目录、回调支付URL

    一.开通微信支付的首要条件是:认证服务号或政府媒体类认证订阅号(一般认证订阅号无法申请微信支付) 二.微信支付分为老版支付和新版支付,除了较早期申请的用户为老版支付,现均为新版微信支付. 三.公众平台 ...

最新文章

  1. 【swjtu】数据结构实验6_二叉树的遍历算法
  2. css字体更小 css比12px更小的方法
  3. android遍历拼接字符串,写个批处理脚本帮忙干活---遍历amp;字符串处理
  4. c语言case无参,如何使用可变参数模板构建switch-case
  5. ssms 缺少索引信息_MySQL3:索引
  6. 如果你恨一个程序员,忽悠他去做iOS开发
  7. 【ubuntu】服务器新增user,并且配置ssh
  8. levelshifter工作原理_从滑块问题看Level Shifter中Latch的状态转换
  9. Linux mail 邮件发送
  10. 删除MySql表中的大量记录后,文件不变小的解决方法
  11. pyinstaller打包tensorflow+python程序成.exe各种坑(持续添加)
  12. Nik Collection 4 for Mac可独立使用的ps滤镜工具
  13. 面向对象8:继承性、Object类的理解、写项目经验、debug经验
  14. T61 拆机4短报警 续
  15. MATLAB 2017a 下载及安装
  16. ​重磅:IBM以340亿美元收购红帽软件 或将成为云计算市场领军者
  17. win10易升_小科普 | 彻底关闭Win10自动更新
  18. ailoop2里面的1个待考察的,在ailoop3里面的操作。(先使用海巨人,不使用英雄技能召唤图腾的问题)...
  19. conda 清除已经下载的缓冲包
  20. 转载:深度工作:充分使用每一份脑力

热门文章

  1. c语言 srand,函数srand在C中
  2. 强化学习的方法总结与分类
  3. ES文件浏览器曝严重漏洞,或影响数亿Android用户
  4. 【解决办法】ES文件浏览器使用局域网功能帐号不正确/查看局域网共享文件登录失败
  5. OpenDDS和RTI DDS内置数据类型的互联互通测试
  6. 搜狐公司董事局主席兼首席执行官——张朝阳名言4
  7. 多台计算机直接连接打印机,多台电脑如何连接打印机?
  8. 【英语:基础高阶_全场景覆盖表达】K6.口语主题陈述——人物类
  9. microsoft的罗马帝国——浪潮之巅
  10. python常用单词