关于微信支付-商户平台:查询订单提示“查询失败:操作失败,请稍候重试”的分析

news2024/9/22 7:22:11

 

目录

引子

分析

应对

小结


引子

在开发和实施微信 JSAPI 支付的应用后,我们遇到了一些问题,订单的状态更新不正常,当然我们首先需要从自身寻找原因和完善解决问题的办法和方案。在支付的过程中,客户会给我们一些反馈,应用系统的订单状态与微信手机端支付状态不一致,即信息状态更新异常。其中一个客户给我我们提供了手机截图,我们根据用户提供的订单号,登录微信支付商户平台,交易中心,按订单号进行查询,如下图,查询后的结果却显示“查询失败:操作失败,请稍候重试”...

分析

一般的情况下,查询订单会有两种结果,一、查不到,二、查得到。

一、查询不到订单号的显示如下图:

点击查询按钮后,系统显示“查询失败:商户订单号输入不正确”。

二、查询得到订单,如下图:

但第三种情况,某些存在且更新异常的订单,仍然提示 “查询失败:操作失败,请稍候重试”,则比较让人疑惑,如果按照字面的稍候重试去理解,则永远的答案都会是显示这一句话。客服咨询的回复和社区的求助目前也没有太理想的答案,这也在预期之中。

如引子里提供的订单号为:3328e4bae5ee40f5b6ff2fcd2782d5d8 的订单,则属于更为极端的一种情况,根据客户的反馈,通过系统其它的信息比对及排查(如支付时间、支付银行等),最终确定订单号为:3aa33681f24a41139a79e6ce431adf82,这种情况就难以解释了。

应对

目前来看,查询订单的结果无非这三种情况,无论何种情况,我们需要以下几点应对方案:

(1)建立日志跟踪机制是必不可少的,我们以 MS SQL SERVER 举例建立类似如下表:

序号字段名类型说明
1project_ciduniqueidentifier项目ID,连接项目活动表
2projectName[nvarchar](100)项目名称(冗余字段)
3per_ciduniqueidentifier个人ID,连接个人详情表
4payName[nvarchar](50)交费项目名称
5price[money]交费金额
6orderid[nvarchar](50)订单号
7ordertime[datetime]订单交易时间
8openid[nvarchar](50)微信个人openid标识
9err_msg[nvarchar](500)微信支付API返回消息
10status[nvarchar](50)支付状态,可设置消费交易成功、消费交易失败、待支付等
11paytime[datetime]支付时间
12paytype[nvarchar](10)支付类型,可包括消费、退款
13nickname[nvarchar](100)个人微信昵称(冗余字段,便于排查)
14rorderid[nvarchar](50)微信返回的退款订单号
15ciduniqueidentifier日制记录唯一标识

 (2)建立对帐排查功能

如下图登录微信支付商户平台,进入交易中心、交易订单、批量订单查询、输入或选择交易时间范围,点击查询

我们可以下载 Excel 格式的文件,如下图:

 下载的文件为CSV格式,我们可以根据实际需求转存为XLSX格式,通过读入EXCEL数据或导入数据库,与自己的业务表(如交易表、交易日志表)进行关键字比对(如订单号、微信用户openid)等,以排查异常数据进行提醒与处理。

(3)实现手工更新功能,手动更新是最后的处理方式,可以根据前面所述的排查结果单一或批量进行更新,更新的时候可以做好日志记录及标记标注等操作。

(4)对于示例中所叙述的极端情况,我们尽量还是要创建有意义的可用于后期可排查的订单号,微信订单号要求是32位数字,我们可以基于这个规则进行分段拼接,如连接个人信息表中的ID,加项目编号 加 时间戳信息,以免被动的无法主动跟踪交易信息,无法联系交易当事人的情况。

小结

在微信支付交易开发的过程中,我们会遇到很多种情况,需要不断的根据问题反馈来完善我们的应用系统 ,相关开发可参考我的文章:

《C# 实现微信退款及对帐》

​《C# 微信支付接口V2版本回调开发实践》

以上是本人的一些体会与实践,再次感谢您的阅读,欢迎讨论、指教!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1906982.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

K8S篇之Ingress详解以及用法说明

一、Ingress简介 Ingress 是 Kubernetes 中用于管理和配置从集群外部访问集群内部服务的资源对象。它通过定义路由规则来控制外部流量的访问方式,支持基于 HTTP 和 HTTPS 的高级路由功能和安全性配置。 Ingress是一种HTTP方式的路由转发机制,为K8S服务配…

【力扣高频题】014.最长公共前缀

经常刷算法题的小伙伴对于 “最长”,“公共” 两个词一定不陌生。与此相关的算法题目实在是太多了 !!! 之前的 「动态规划」 专题系列文章中就曾讲解过两道相关的题目:最长公共子序列 和 最长回文子序列 。 关注公众…

SpringCloud 负载均衡

目录 一、负载均衡 1、问题 2、什么是负载均衡 服务端负载均衡 客户端负载均衡 二、Spring Cloud LoadBalance 1、使用 Spring Cloud LoadBalance 2、负载均衡策略 3、LoadBalancer 原理 一、负载均衡 1、问题 我们来看一下前面写的代码&#xff1a; List<Serv…

【易捷海购-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…

Drools开源业务规则引擎(五)- jBPM流程图元素介绍

文章目录 Drools开源业务规则引擎&#xff08;五&#xff09;- jBPM流程图元素介绍1.process2.startEvent3.Connections3.1.sequenceFlow3.2.Association 4.Activities4.1.businessRuleTask4.2.scriptTask 5.Gateways5.1.exclusiveGateway 6.endEvent Drools开源业务规则引擎&a…

Windows netstat命令详解,Windows查看网络连接

「作者简介」&#xff1a;冬奥会网络安全中国代表队&#xff0c;CSDN Top100&#xff0c;就职奇安信多年&#xff0c;以实战工作为基础著作 《网络安全自学教程》&#xff0c;适合基础薄弱的同学系统化的学习网络安全&#xff0c;用最短的时间掌握最核心的技术。 netstat 常用来…

支持图片识别语音输入的LobeChat保姆级本地部署流程

文章目录 前言1. LobeChat对我们有哪些帮助?2. 本地安装LobeChat3. 如何使用LobeChat工具4. 安装Cpolar内网穿透5. 实现公网访问LobeChat6. 固定LobeChat公网地址 前言 本文主要介绍如何在Windows系统电脑本地部署LobeChat&#xff0c;一款高颜值的开源AI大模型智能应用&…

【删库跑路】一次删除pip下载的所有第三方库方法

进入命令行&#xff0c;先list看下库存 pip list导出所有的第三方库至一文件列表 pip freeze >requirements.txt按照列表卸载所有库 pip uninstall -r requirements.txt -y再list看下&#xff0c;可见库存已清空

MATLAB基础应用精讲-【数模应用】 岭回归(Ridge)(附MATLAB、python和R语言代码实现)

目录 前言 算法原理 数学模型 Ridge 回归的估计量 Ridge 回归与标准多元线性回归的比较 3. Ridge 参数的选择 算法步骤 SPSSPRO 1、作用 2、输入输出描述 3、案例示例 4、案例数据 5、案例操作 6、输出结果分析 7、注意事项 8、模型理论 SPSSAU 岭回归分析案…

第三届机器学习、云计算与智能挖掘国际会议(MLCCIM 2024)

随着科技的不断进步&#xff0c;机器学习和挖掘技术已成为推动现代社会发展的重要力量。本届机器学习、云计算与智能挖掘国际会议&#xff08;MLCCIM&#xff09;将于2024年8月8日至8月11日在中国湖北省神农架盛大召开&#xff0c;旨在汇聚全球智慧&#xff0c;共同探讨这一领域…

Linux安装elasticsearch单机版

一、检查内核 uname -a uname -m 二、下载版本 下载版本选择自己服务器相同的内核版本 我这边是aaech64 ES下载地址 Kibana 下载地址 二、上传服务器解压 tar -xvf elasticsearch-8.14.1-linux-aarch64.tar.gz 三、安装ES 因为ES不能用root用户启动先创建用户 #新增 es …

[python]Markdown图片引用格式批处理桌面应用程序

需求 使用python编写一个exe&#xff0c;实现批量修改图片引用&#xff0c;将修改后的文件生成为 文件名_blog.md。有一个编辑框&#xff0c;允许接收拖动过来md文件&#xff0c;拖入文件时获取文件路径&#xff0c;有一个编辑框编辑修改后的文件的输出路径&#xff0c;用户拖入…

抖音商城自定义小程序源码系统 前后端分离 带完整的源代码包以及搭建教程

系统概述 在当今数字化时代&#xff0c;电商平台的便捷性和个性化体验成为了吸引用户的关键。随着短视频平台的兴起&#xff0c;抖音作为其中的佼佼者&#xff0c;其商城小程序成为了商家连接消费者的新阵地。为了帮助商家快速构建个性化、高效的小程序店铺&#xff0c;本文将…

Java面试题--JVM大厂篇之深入探讨Serial GC的应用场景

目录 引言: 正文: 一、什么是Serial GC&#xff1f; 二、Serial GC的工作原理 三、适用场景 单处理器环境在单处理器环境下&#xff0c;Serial GC是一个非常好的选择。由于没有多余的处理器资源&#xff0c;单线程的垃圾回收操作不会导致额外的上下文切换开销&#xff0c…

springboot非物质文化遗产管理系统-计算机毕业设计源码16087

目录 摘要 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1系统开发流程 2.2.2 用户登录流程 2.2.3 系统操作流程 2.2.4 添加信息流程 2.2.5 修改信息流程 2.2.6 删除信息流程 2.3 系统功能…

欧拉系统(openEuler) aarch64虚拟机安装

文章目录 一、操作背景二、资源准备三、文件路径四、安装QEMU五、创建磁盘文件六、安装虚拟机七、连接虚拟机八、启动虚拟机 一、操作背景 客户公司扫描出欧拉系统aarch64架构服务器存在编号 CVE-2024-1086 的内核漏洞&#xff0c;需要对内核升级&#xff0c;首先在个人电脑虚…

硬盘错误0x80071ac3如何修复?5大免费修复法,轻松找回硬盘数据

今天我们要聊的是一个让大家头疼不已的问题——硬盘错误0x80071ac3。你是否也曾经遇到过这个烦人的错误代码&#xff0c;导致数据无法读取、文件丢失&#xff0c;甚至整个硬盘都无法正常使用&#xff1f;别担心今天小编就为大家详细解析这个错误的原因&#xff0c;并分享5个免费…

手机数据恢复:如何在没有root的情况下恢复Android数据?

您是否不小心从Android设备中删除了重要数据&#xff1f;您是否担心如何取回您的照片、视频和文档&#xff1f;有时&#xff0c;我们不小心删除了重要数据&#xff0c;并使用Android root方法取回文件。许多用户不喜欢root他们的Android设备&#xff0c;因为这是一种复杂的方法…

第十一节 动态面板加密解密显示

在原型中我们经常会遇到文件加密与解密显示问题&#xff0c;下面以一个简单案例来说明实现怎么切换明文与密文不同显示方式案例说明&#xff1b; 1、添加动态面板 2、设置加密与不加密 3、添加动作事项 注意为可见时要设置面板状态向前循环&#xff0c;上一项&#xff0c;否则…

【多条件控制生成模型综述】

多条件控制生成 1 分类2 联合训练2.1 Composer2.2 Cocktail2.3 SVDiff 3 持续学习3.1 CLoRA3.2 L2DM3.3 STAMINA 4 权重融合4.1 Cones4.2 Custom Diffusion/Mix-of-Show4.3 ZipLoRA4.4 style LoRAs 5 基于注意力的集成方法5.1 Cones25.2 Mix-of-Show 6 指导组合6.1 Decompose a…