关于微信/支付宝支付

news2024/9/23 7:29:46

文章目录

  • 前言
  • 一、多个支付怎么统一?
  • 二、支付调试
      • 支付宝支付
        • 注意
      • 微信支付
  • 总结


前言

最近搞了下微信支付,支付宝支付;


一、多个支付怎么统一?

这个很明显,通常直接用设计模式之-- 策略模式,对外公共提出一个接口,然后通过标识采用不同的策略实现支付,即: 微信支付/支付宝支付

二、支付调试

这里不做具体支付的代码相关讲解;可以参考: 最好的支付SDK

这里简单说下支付中调试的相关细节:

支付宝支付

  1. 可通过最新sdk调用,也有响应的示例代码 支付宝文档
  2. 秘钥相关
  3. 回调通知排查

看一个成功的回调通知:
成功回调

不是这样的都是错误的,请仔细根据错误排查问题

注意

关于回调接口控制器

  1. 接受回调通知,必须为post请求,但是参数是通过@requestParam 传递的,不可用@requestbody接参
# 自定义通知回调地址
http://ip:端口/vip/notifyUrl
# 通知内容如下
http://ip:端口/vip/notifyUrl?gmt_create=2024-03-12 16:23:38&charset=UTF-8&seller_email=$$$&subject=app支付&sign=$$$&buyer_open_id=067g2-fWF2tE6WFZ1qj5MRepBxslU67HwmGwpILwYYvJIU4&invoice_amount=0.01&notify_id=2024031201222162339052671407835156&fund_bill_list=[{"amount":"0.01","fundChannel":"ALIPAYACCOUNT"}]&notify_type=trade_status_sync&trade_status=TRADE_SUCCESS&receipt_amount=0.01&app_id=2021004123610873&buyer_pay_amount=0.01&sign_type=RSA2&seller_id=2088741161866271&gmt_payment=2024-03-12 16:23:39&notify_time=2024-03-12 16:23:39&merchant_app_id=2021004123610873&version=1.0&out_trade_no=2024031278048015&total_amount=0.01&trade_no=2024031222001452671419678420&auth_app_id=2021004123610873&buyer_logon_id=188****9066&point_amount=0.00
  1. 回调通知接受后,成功的时候,控制器必须利用response返回字符串"success",方法为void
// HttpServletResponse
response.getOutputStream().print("success");

微信支付

微信支付sdk


总结

经历了一个 半拉柯基 的项目,走了很多弯路,也确实跟之前不太一样了,支付宝,微信支付等,都做了升级,以及一些新功能,不过仍然觉得,支付宝对接起来就是比微信支付舒服很多,所有错误都可以在文档中找到解决,而微信支付问题很多,但是解决办法在社区中都找不到解决办法…

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

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

相关文章

把txt、pdf等文件转为一行一行的doccano数据集输入格式

文章目录 doccano 数据集导入简介代码实现代码运行结果代码公开 doccano 数据集导入 在Doccano 导入数据集时,使用TextLine的文件格式,导入的文件需要为一行一行文本的数据格式,每一行文本在导入Doccano后就是一条数据。 简介 主要工作说明…

Android Launcher开发注意事项

在开发Android Launcher时,需要关注性能、用户体验、权限管理、兼容性等方面,同时遵循相关的开发者政策和最佳实践。有几个重要的注意事项,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎…

iStoreOS使用体验

iStoreOS是OpenWRT改版而来的易用的软路由系统 我们知道OpenWRT还是有一定的上手难度的,对于小白要玩好openwrt就需要学习openwrt的扩容 和一些插件的安装,问题的拍错,需要一定的linux系统基础 而iStoreOS这个系统对于小白非常的优化 首先他…

【随笔】Git -- 解决提交时本地与目标分支不一致导致提交失败(三)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

教学管理与教育研究知网教育类G4期刊投稿发表简介

《教学管理与教育研究》杂志是由国家新闻出版总署批准,教育部主管,北京师范大学主办,北京师范大学出版社(集团)有限公司出版的教育类G4期刊。期刊面向全国学校教育的发展管理、教学研究、科研创新和师资培养等领域&…

档案著录员好干吗

档案著录员是负责对档案资料进行著录、整理和管理的专业人员。他们的工作主要包括: 1. 著录档案资料:根据相关规范和标准,对档案资料进行详细的著录,包括档号、题名、日期、责任者、关键词等信息,以便于后续的检索和利…

用 Open-Sora 高效创作视频,让创意触手可及

近年来,视频内容以爆炸式增长席卷了我们的生活。从短视频平台到直播带货,视频正成为人们获取信息和娱乐的主要方式。然而,传统视频制作流程往往耗时费力,对于普通用户来说门槛较高。 为了降低视频创作门槛,让更多人享…

会声会影2023新版本特点以及会声会影2023序列号注册机keygen下载

会声会影简介 虽然现在已经是2024年了,但是大家对会声会影2024的热爱一直不减,很多人后台问我,有没有会声会影2023序列号和注册机,这不,今天这篇文章它来了。 会声会影2023新版特性 1.全新的进入/中场/退出标题动态功…

YOLOv9运行报错:AttributeError: ‘FreeTypeFont‘ object has no attribute ‘getsize‘

在运行yolov9时,报错:attributeerror: ‘FreeTypeFont’ object has no attribute ‘getsize’ 在网上搜索的结果大部分给出字体不对之类的答案但通过仔细研究,发现该报错的报错原因不是字体不对,而是因为安装了新版本的 Pillow…

小白也可以轻松学大模型 RAG:FlagEmbedding 重排序

RAG模型已经取得了显著的进展,但其性能仍然受到排序质量的限制。在实践中,我们发现重排序技术能够有效地改善排序的效果,从而进一步提升RAG模型在问答任务中的表现。 重排序的作用 与传统的嵌入模型不同,重排序器(rera…

SpringBoot整合Redis:Redis优化解决数据一致性问题

🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏Redis实战与进阶 本专栏讲解Redis从原理到实践 …

3.21总结​.Codeforces 第 935 轮(第 3 组)(A~D)题解​

一.Codeforces 第 935 轮(第 3 组)(A~D)题解 (直接给原文了,我电脑的翻译就是一坨.......) 这到题是一道思维题,理解题目意思就会觉得很简单首先内向的人肯定是一个人一个帐篷,我们只要关心外向的人就可以了,我们只要分外向的人可不可以被3整除,分成两种…

fyne时间选择框-自定义组件,带绑定

实现的效果如图 自定义组件代码: package widgetimport ("fmt""fyne.io/fyne/v2""fyne.io/fyne/v2/container""fyne.io/fyne/v2/widget""strconv""time" )var timeLayout "15:04"type Se…

2024临床常用的心衰评估量表,医生必备!

心衰评估的相关量表,是临床常用的量表类型。常笑医学整理了6个常用的心衰评估量表,包括NYHA心功能分级、Killip分级、2型糖尿病的心衰风险评分、心衰院内死亡率评分、急性失代偿期心衰住院患者6个月死亡率评估、心衰患者1年死亡率评估。这些心衰评估量表…

找不到msvcp110.dll无法继续执行程序的多种解决方法

在计算机操作系统中,msvcp110.dll文件扮演着至关重要的角色。作为Microsoft Visual C Redistributable Package的一部分,这个特定的dll文件包含了系统运行多种应用程序所必需的关键运行时库函数。许多Windows应用程序依赖于msvcp110.dll文件来执行基本操…

2024年【熔化焊接与热切割】模拟考试题库及熔化焊接与热切割实操考试视频

题库来源:安全生产模拟考试一点通公众号小程序 熔化焊接与热切割模拟考试题库参考答案及熔化焊接与热切割考试试题解析是安全生产模拟考试一点通题库老师及熔化焊接与热切割操作证已考过的学员汇总,相对有效帮助熔化焊接与热切割实操考试视频学员顺利通…

jupyter notebook设置代码提示方法

在命令行运行以下代码: pip install jupyter_contrib_nbextensionsjupyter contrib nbextension install --userpip install jupyter_nbextensions_configuratorjupyter nbextensions_configurator enable --user (有时安装第一行后会自动执行第二行&a…

你的电脑打不开摄像头问题

我一直以为我电脑上的摄像头老是打不开是因为硬件不匹配的问题。知道我发现了我的拯救者Y7000的机身盘边的“摄像头开关”按钮。。。 我去,你的摄像头开关按钮怎么设置在机身旁边啊。。。。 —————————————————————— 2024年3月21日更新记录&a…

Halcon ORC字符识别

OCR(Optical Character Recognition,光学字符识别)是通过使用OCR工具实现的。Halcon提供了一些用于进行字符识别的函数和工具,可以帮助用户实现文本的自动识别和提取。 read_ocr_class_mlp:用于读取一个经过训练好的OC…

Linux系统资源管理

Linux系统资源命令 在Linux中查看系统资源常用命令有哪些 在Linux中,系统资源是指计算机硬件、软件和网络设备等可以利用的一切物质和能量。Linux中的系统资源包括: CPU(中央处理器):用于处理计算机中的指令和数据的…