微信支付:请求参数与订单信息不一致
目录
- 问题描述
- 解决方案
- 备注
- 总结
问题描述
在小程序支付退款调用api(https://api.mch.weixin.qq.com/secapi/pay/refund)时出现您的请求参数与订单信息不一致
的问题
解决方案
常见错误是
total_fee
、refund_fee
金额设定错误,这两个参数单位为分
,并且只能为整数,total_fee
的值需与原始的订单支付的金额相对应,refund_fee
的值不能超过可退款的余额appid
需与小程序id对应退款单
out_refund_no
不能重复商户号id
与订单生成时的商户号id
不一致我们项目的错误出在这种较为少见的情况:
我们是通过云开发的
CloudPay.unifiedOrder()
的api创建的支付单,传入参数列表包含子商户号id[subMchId]
然后在后台调用的时候通过调用退款接口进行退款处理,但是调用的时候传入的商户号是
商户号id[mch_id]
,并且通过微信订单号[transaction_id]
查询,就出现了您的请求参数与订单信息不一致
的情况,后来想在退款接口传入子商户号
,发现并不满足条件,则通过云开发api的CloudPay.refund()
解决
备注
云开发的退款功能需要授权,在微信开发者工具->云开发->设置->全局设置页的微信支付配置中,即
再通过授权网址进行通过授权即可
示例代码
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 // 商户自建退款订单号,退款单不能重复 })
触发云函数
总结
这次错误其实有预兆,因为我们在通过商户订单号[out_trade_no]
查询不到订单,但是通过微信订单号[transaction_id]
能查询到订单时直接忽略了,以为微信支付不能通过商户订单号[out_trade_no]
查询,在接下来的退款操作时就出现了以上参数与订单信息不一致
的错误,纠错了半天,殊不知是子商户号
和商户号
填写错误的问题
微信支付:请求参数与订单信息不一致相关推荐
- 您的请求参数与订单信息不一致_[淘客订单检测]淘宝客订单检测接口,淘客订单查询API...
功能 1.输入交易的订单编号,即可查询该订单是否为淘宝客订单.有意向请联系卫星weixiaot168. 2.查询结果 0:不是淘宝客订单:1:是. 3.根据淘宝官方的后台数据,进行检测,数据真实且有效 ...
- 您的请求参数与订单信息不一致_长春各学校信息审核结果出炉!这些情况不符合“两个一致”...
昨天在长春34℃的高温天气下,那种胸口好像有一团火的憋闷感差点让八卦小编窒息! 八卦小编本想吸取一下昨天穿得太多的教训,结果今天穿的凉快了点儿,结果又下雨了. 今天是信息审核结果通知的最后一天,下了会 ...
- java微信支付v3系列——3.订单创建准备操作
目录 java微信支付v3系列--1.微信支付准备工作 java微信支付v3系列--2.微信支付基本配置 java微信支付v3系列--3.订单创建准备操作 java微信支付v3系列--4.创建订单的封 ...
- nodejs+Koa2实现小程序的微信支付请求(一)
nodejs+koa2 实现微信支付请求 在开发之前我们先看一下小程序向微信请求支付的业务流程 第一步,小程序先发起支付请求 小程序首先先向"商家系统后台"发起请求支付,也就是我们 ...
- 微信支付报201商户订单号重复问题
微信支付报201商户订单号重复问题 问题描述: 用户在PC端使用扫码支付(微信NATIVE支付方式)生成一个微信支付预订单后,为对该订单立即完成支付:用户打开手机APP后看到该订单状态为未支付,点 ...
- 微信支付提示参数错误
开发微信支付功能,提示"参数错误", 随后用微信官方的demo代码测试,正常! 再经测试发现SetTotal_fee中的money参数为获取到,是空的.当money变量是固定变量时 ...
- PHP 实现微信支付 “请求单次分账”
目录 一.小总结 二.服务层 一.小总结 分账 1:调用分账的订单必须是请求下单中以下参数等于 Y 的订单并且在下单接口中该参数也等于 Y 才能使用分账(可以参考一下PHP JSAPI调起微信支付A ...
- 微信支付之01------获取订单微信支付二维码的接口------Java实现
[ 前言:以前写过一个获取微信二维码支付的接口,发现最近公司新开的项目会经常用到,现在我又翻出代码看了一遍,觉得还是把整个代码流程记下来的好 ] 借鉴博客: 他这篇博客写得不错,挺全的:https:/ ...
- 微信撤销订单java,Java微信支付开发之关闭订单
一.应用场景 商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付 系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口 注意:订单生成后不能马上调用关单 ...
- 微信支付配置参数:支付授权目录、回调支付URL
一.开通微信支付的首要条件是:认证服务号或政府媒体类认证订阅号(一般认证订阅号无法申请微信支付) 二.微信支付分为老版支付和新版支付,除了较早期申请的用户为老版支付,现均为新版微信支付. 三.公众平台 ...
最新文章
- 【swjtu】数据结构实验6_二叉树的遍历算法
- css字体更小 css比12px更小的方法
- android遍历拼接字符串,写个批处理脚本帮忙干活---遍历amp;字符串处理
- c语言case无参,如何使用可变参数模板构建switch-case
- ssms 缺少索引信息_MySQL3:索引
- 如果你恨一个程序员,忽悠他去做iOS开发
- 【ubuntu】服务器新增user,并且配置ssh
- levelshifter工作原理_从滑块问题看Level Shifter中Latch的状态转换
- Linux mail 邮件发送
- 删除MySql表中的大量记录后,文件不变小的解决方法
- pyinstaller打包tensorflow+python程序成.exe各种坑(持续添加)
- Nik Collection 4 for Mac可独立使用的ps滤镜工具
- 面向对象8:继承性、Object类的理解、写项目经验、debug经验
- T61 拆机4短报警 续
- MATLAB 2017a 下载及安装
- ​重磅:IBM以340亿美元收购红帽软件 或将成为云计算市场领军者
- win10易升_小科普 | 彻底关闭Win10自动更新
- ailoop2里面的1个待考察的,在ailoop3里面的操作。(先使用海巨人,不使用英雄技能召唤图腾的问题)...
- conda 清除已经下载的缓冲包
- 转载:深度工作:充分使用每一份脑力