关于微信支付开发,记录一下

2015-11-10 13:52:37 +08:00
 caoyujia2000
有个小项目,需要用到微信支付,所以就开始鼓捣了,特此记录一下,查看了微信的官方开发文档, https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1 ,基本上按照这里的教程走,然后下载对应的 demo ,就可以把 demo 跑起来,注:在开发教程里 没有提及 OAuth2.0 网页授权回调页面域名的设置,在微信公众后台-开发者中心-网页服务-网页账号里没有设置的话, demo 页面会提示‘ redirect_url 参数错误‘。
demo 跑起来后,就要根据自己的需求来做二次开发了,需求很简单,一个页面,上面有金额的入力框,和一个提交按钮,然点击提交按钮,唤出密码输入框,输入密码,完成一个支付流程。
我这里是 PHP 版本的 demo ,采用的接口是 H5 网页端调起支付接口, demo 页中金额是固定的,提交按钮和初始化调用 JSAPI 的参数都在同一张页上,肯定不能实现我的需求,解决方法是分成 2 张页, A 页是 form 表单提交, B 页是初始化 JSAPI 接口参数,用以调用接口,于是问题出现了,当 A 页通过 POST 提交传递过来的参数 total_fee 无故消失了,在 B 页主要分成 3 个步骤,
步骤 1 :网页授权获取用户 openid
步骤 2 :使用统一支付接口,获取 prepay_id
步骤 3 :使用 jsapi 调起支付
调试发现,参数 total_fee 在执行步骤 1 之前是有的,但之后就消失了,好神奇,于是一番 google 后,也没能找到类似解决的方法,最后在请教了同行后方得意解决,需要把步骤 1 的操作移到 A 页去做,然后获得的 openid ,同样也通过 POST 提交到 B 页,继续步骤 2 ,步骤 3 的操作,这样就可以了。花了不少时间,特此记录下。
2960 次点击
所在节点    微信
1 条回复
pheyer
2015-11-10 14:22:17 +08:00
未来几周可能就用得到这个微信支付了,感谢 LZ 分享

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/235043

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX