微信支付 支付过期时间问题 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

相关文章

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

基于Redis自动过期的流处理暂停机制

《基于Redis自动过期的流处理暂停机制》基于Redis自动过期的流处理暂停机制是一种高效、可靠且易于实现的解决方案,防止延时过大的数据影响实时处理自动恢复处理,以避免积压的数据影响实时性,下面就来详... 目录核心思路代码实现1. 初始化Redis连接和键前缀2. 接收数据时检查暂停状态3. 检测到延时过