个人小程序实现微信支付

2023-10-26

其实个人小程序是没办法直接调用微信支付的,但是可以间接的去调用,就是通过第三方的服务.

如:https://www.payjx.cn/
在这里插入图片描述

通过调用它得接口,返回一个带支付二维码得结果,这个二维码被微信扫码支付后,通过开发者留得通知地址回调给开发者.
在这里插入图片描述

就需要用户先进入开发者的网站,网站中展示二维码进行扫描付款.

那又会有一个问题,怎么知道是谁支付了?

我的解决办法是先扫码登录

  1. 后端通过一些算法生成一个字符串,保存在redis中,并且设置过期时间,在使用它生成二维码,最后和cookie怼到网页.

  2. 网页通过ajax带上cookie时不时得请求后端判断是否登录了没有.

  3. 小程序中扫描后传递二维码信息、临时登录凭证code和基本信息,这里的code是必须传给后端的,后端要换取openid,来区别用户,但是基本信息看自己,微信提供了根据openid获取用户信息的接口,但是这貌似不支持个人,所以,后端用到用户信息时,还得传,(妈蛋的麻烦,小程序还必须通过点击button后才可以)

  4. 后端获取openid等后,保存到数据库.并设置登录状态.

  5. 此时网页就知道是谁登录的了.在通过调用payjx的支付接口,为这个用户生成一个支付二维码.在attach中附加上用户信息,回调时候取出.

通常都有过期处理,所以,在二维码过期后,别忘了删除二维码哦.

其实还有种办法.小程序通过传递临时登录凭证code后,后端获取到openid,生成支付二维码返回给小程序,小程序保存他到相册,提示用户你去扫一扫相册中的二维码完成支付.但是我没去尝试.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

个人小程序实现微信支付 的相关文章

  • 我可以确定谁在调用 Java 中的函数或实例化类吗? [复制]

    这个问题在这里已经有答案了 可能的重复 在Java中 如何使用堆栈跟踪或反射找到方法的调用者 https stackoverflow com questions 421280 in java how do i find the caller
  • Java中RandomAccessFile的并发

    我正在创建一个RandomAccessFile对象通过多个线程写入文件 在 SSD 上 每个线程都尝试在文件中的特定位置写入直接字节缓冲区 并且我确保线程写入的位置不会与另一个线程重叠 file getChannel write buffe
  • 检查发送到网页的请求数

    我正在编写一个 Java 多线程应用程序 它可以访问不同 Web 服务器的数百万个 有时甚至数十亿个 URL 这个想法是检查这些 URL 是否给出有效的 200OK 响应或 404 其他代码 我如何知道我的程序是否不会在他们的服务器上造成高
  • jvm中本机代码如何转换为机器代码[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我读过一些文章说 jvm将字节码转换为机器码 jvm将字节码转换为本机代码 jvm 将字节码转换为系统调用 系统调用又由操作系统与硬件
  • 如何实现具有LinkedHashMap类似功能的ConcurrentHashMap?

    我用过LinkedHashMap with accessOrdertrue 并同时允许最多 500 个条目作为数据的 LRU 缓存 但由于可扩展性问题 我想转向一些线程安全的替代方案 ConcurrentHashMap在这方面似乎不错 但缺
  • 通过 html tidy 提供渲染 jsp 页面

    我有一个在 Glassfish 上运行的 Java 项目 它会呈现一些难看的 HTML 这是使用各种内部和外部 JSP 库的副作用 我想设置某种渲染后过滤器 通过 HTMLTidy 提供最终的 HTML 这样源代码就很好且整洁 有助于调试
  • 使用正则表达式验证输入字符串是否为 0-255 之间的数字

    我在将输入字符串与正则表达式匹配时遇到问题 我想验证输入数字在 0 255 之间并且长度最多应为 3 个字符 代码工作正常 但当我输入 000000 至任意长度时 显示 true 而不是 false 这是我的代码 String IP 000
  • EL 通过 Scriptlet

    在 JSP 中使用 EL 相对于 scriptlet 的优势是什么 EL 被认为是无脚本语言 EL 使 JSP 免受容易出错原始 Java 代码并强制您根据 MVC 思想编写 JSP EL 或像 JSTL 这样的标签库 不可能实现的任何事情
  • 使用 Hibernate Dialect 设置表字符集/排序规则?

    我使用 Hibernate MySQLInnoDB Dialect 来生成 DDL hibernate cfg xml
  • c和java语言中的换行符

    现在行分隔符取决于系统 但在 C 程序中我使用 n 作为行分隔符 无论我在 Windows 还是 Linux 中运行它都可以正常工作 为什么 在java中 我们必须使用 n 因为它与系统相关 那么为什么我们在c中使用 n 作为新行 而不管我
  • 我需要一个字数统计程序[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要弄清
  • 强制 Java 最低版本以“java -version:”运行在 Windows 上不起作用

    我想强制应用程序运行的 JVM 最低版本为 1 6 或更高版本 即 1 6 我的理解是 您可以使用 version 命令行参数来执行此操作 我尝试了一下 在Linux下似乎可以正常工作 但在Windows下却不行 LINUX 我在 Linu
  • 如何导入 Java 密钥库中现有的 X.509 证书和私钥以在 SSL 中使用?

    我在 ActiveMQ 配置中有这个
  • Java 不可变对象 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习不变性的概念 据我了解 一旦创建对象 不可变对象就无法更改其值 但我不明白不可变对象的以下用途 They are 自动是线程
  • Java LRU 缓存使用 LinkedList

    堆栈溢出的新手 所以请不要介意我以菜鸟的方式问这个问题 我正在尝试使用链表实现 LRU 缓存 我在这里看到了使用 linkedHashMap 和其他数据结构的其他实现 但对于这种情况 我正在尝试使用链表创建最佳优化版本 正如我在技术期间被问
  • javax.xml.bind.JAXBException: 类 *** 及其任何超类在此上下文中均未知

    我正在尝试通过 REST Web 服务传递对象 以下是我的课程 使用一些示例代码解释了我需要的功能 Rest Web 服务类方法 POST Path find Consumes MediaType APPLICATION FORM URLE
  • Lucene/Hibernate 搜索锁定异常

    我使用 Hibernate Search 在 Web 应用程序上索引和全文搜索项目 没有问题 来自我的 pom xml
  • 如何列出Resources文件夹中的所有文件(java/scala)

    我正在编写一个函数 需要访问资源中的文件夹 并循环遍历所有文件名 如果这些文件符合条件 则加载这些文件 new File getClass getResource images sprites getPath listFiles 返回空指针
  • AndroidAnnotations 和 Dagger

    我正在尝试使用 Dagger 注入 Android 带注释的 Activity java lang IllegalArgumentException No inject registered for members com app serv
  • 获取Java中ResultSet返回的行数

    我用过一个ResultSet返回一定数量的行 我的代码是这样的 ResultSet res getData if res next System out println No Data Found while res next code t

随机推荐