我是靠谱客的博主 自然毛衣,最近开发中收集的这篇文章主要介绍微信支付:支付过期时间问题、302 问题、code 、openid,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

连续两天折腾微信支付,一直拿官方提供的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。

最后

以上就是自然毛衣为你收集整理的微信支付:支付过期时间问题、302 问题、code 、openid的全部内容,希望文章能够帮你解决微信支付:支付过期时间问题、302 问题、code 、openid所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部