微信支付 支付过期时间问题 302 问题 code openid

2024-04-23 07:08

本文主要是介绍微信支付 支付过期时间问题 302 问题 code openid,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

       

连续两天折腾微信支付,一直拿官方提供的sdk ,然后加以添加和改造,发现微信支付获取code 的时候,一直重定向的问题。我原以为用ajax 在静态页面去处理获取支付订单数据,发现调试很艰难,一方面是完全对php没基础,然后一行行代码通过打印日志返回发现ajax 去post 过去的时候 总算发现了代码是抛出了错误,然而ajax 完全不晓得什么错误 一直是支付不到。

1 这两天一直拿不到code 和 openid 是本身设计的问题。当时采用OAuth2.0 获取code 然后去获取accsess_token  或者 openid

这两天卡住的原因是ajax 去post 请求php 一个页面,然后调试一直是重定向问题,一直处理不了,后来想了一个办法,先获取openid 通过session 保存下来,这样子缓存下来就可以直接在支付的时候将这个参数传过去。
  这里我看了几种方案,一种session 保存openid 一种是cookie 保存,各有各的优缺点。有的人担心每一个都保存session 对空间造成压力。其实也没有必要担心。反正会有更好办法。

我一直犯错的地方就是ajax - post 去授权获取code,发现授权重定向一直无法返回code,出现了302的问题, 而我ajax 也没有数据返回为什么。之前采用直接跳转的生成的支付页面方式是没有问题。一度怀疑php header 的问题。

后来处理了这个openid 后就没有事了

这里有争议,明天继续写

1.官方一分钱的支付案例
针对官方的一分钱的支付demo,发现好多不足,但又能满足支付功能。除了拼写错误本身sdk 的问题,一分钱支付这个案例并不是特别好,为什么?因为 他很多数据都是写死了,如果我想传递一些数据,订单,商品号,好像完全写死。大部分案例都是写死为主,很少涉及到传递参数,然后去完全一些从0开始的人和开发者。

JSSDK 可以满足很多开发了。

授权,通过code去换取openid ,重定向 是我最近遇到的问题。我一直好奇为什么微信这个案例会跳转到一个单独的页面,然后让这个php页面进行重定向获取code ,再去换取openid ,因为针对了几个版本的sdk 都是采取这样的做法,然而我当时以为直接通过ajax 提交一个价钱和 商品数 就误以为是ok,重定向就一直发现不到这个code ,ajax 也没有回调。这个时候,很坑自己,连续调试了很久, 一行行代码调试,然后采取跳转到一个支付页面。这样就没有事情了。支付有两种当时采取的不是jssdk,发现了有一些不同的情况。针对支付,微信要到微信内部打开浏览器才能调用哪个API。

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述

这篇关于微信支付 支付过期时间问题 302 问题 code openid的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/928105

相关文章

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

如何利用Java获取当天的开始和结束时间

《如何利用Java获取当天的开始和结束时间》:本文主要介绍如何使用Java8的LocalDate和LocalDateTime类获取指定日期的开始和结束时间,展示了如何通过这些类进行日期和时间的处... 目录前言1. Java日期时间API概述2. 获取当天的开始和结束时间代码解析运行结果3. 总结前言在J

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明