微信公众号获取用户id可以看到用户微信支付的商品详情吗

334被浏览187,834分享邀请回答3811 条评论分享收藏感谢收起31 条评论分享收藏感谢收起微信开发之微信公众号支付
阅读 年08月04日 发布,来源:
上月初的时候写过一篇关于的文章,文章里面大概用通(啰)俗(里)易(啰)懂(嗦)的话语讲述了关于在微信登陆这块的一些理论要点和代码实现。这次算是微信开发系列的延续篇,主要记录一下在工作中遇到的关于微信支付部分功能的实现
由于工作范围有限,这篇就暂时谈论一下关于微信公众号支付的有关功能。
俗话说的好,(前方高能...)有一件战斗力爆表的装备,升级打怪的速度自然也就更快了,当然这不是一篇介绍如何升级打怪的文章,而是一篇有深度的、有长远意义的文章,好了,自夸的话就不多说了,博主有自知之明。
虽说不是升级打怪,但是作为一只“猿”,尤其是是聪明的“猿类”,在遇到新功能的时候,找到好的方法,也就相当于找到了一件衬手的、牛X的兵刃,搞出新(刷)功(野)能的速度自然也就快很多
1、匍匐前进,观察敌情
关键词:阅读文档。工作中遇到之前未曾做过的功能的时候,相信一个好的猿叔叔/媛姐姐都会有一套自己的解决思路,那么第一步相信能获得大家集体点赞的就是阅读相关的文档了,仔细阅读,细心观察。喏~有关微信支付文档已经放在这里了。文档读得好,下班下的早~mie~~~
2、扩大范围,隐秘嗅探
关键词:关键字/词搜索。在看完文档之后,仍有不解之处,这时候身边没有可以请教的大佬,映入眼帘的只有电脑、键盘、鼠标,心里一阵慌乱。。。想到下午完不成任务、无延期的加班、组长的白眼,眼前一黑.............................................................“兄弟...兄弟...你特么醒醒啊,代码需要你,还有个bug没改啊,你不能这样啊”。夏天的时候,网络上段子说的好空调、wifi、西瓜,‘苏菲’一夏。那么程序员的法宝可就多了,这段就写相关的————搜索引擎、输入关键字、回车。得到的是整个互联网的资源,如果有谷歌的话,那就是整个宇宙的资源了。拥有了整个宇宙的资源之后,还怕啥,就是干,犹豫不划算嘛
3、发现雷区,获取情报
关键词:取经。上面2里面提到的扩大范围,隐秘嗅探,意在我们通过庞大的搜索引擎和互联网获取资源,但是在浏览这些资源的时候,我们要学会辨别哪些是有用的,哪些是已经了解过的,对于无用的水文和了解过的文章可以略过....我们大概会浏览到相当多的博文,良心博主(比如我,歪脸笑.jpg)的博文里,或多或少都会提到些开发过程中遇到的坑/bug,以妨后来者踩坑。
通过上面的准备工作,相信我们已经获取到了诸多的相关资料,本文涉及到的功能实现所需要的相关资料,将会在下面无偿分享出来(PS:为博主的无私奉献精神而感动啊~333333)
什么是公众号支付?
公众号支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付。应用场景有:
用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付
用户的好友在朋友圈、聊天窗口等分享商家页面连接,用户点击链接打开商家页面,完成支付
将商户页面转换成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付
微信支付用户————泛指微信用户
微信客户端————微信APP
商户后台系统————商户平台
微信支付系统————故名思议,微信自己的支付系统
我们先通过一张图了解一下微信支付的流程:
这张图相信小伙伴在浏览微信支付文档的时候已经看到过了,虽然从用户点击支付按钮开始到微信支付系统确认支付完毕中间经过要13步之多的过程,但是实际上这也是很有必要的,我们可以看到支付在任何时候都是需要重视的,因为这是一个关于钱的问题,只要涉及到了它,就必须确保它每一步的顺利执行和安全性。在我们快速开发功能的时候,有时候不得不压抑住我们想要窥探其具体实现的好奇心,只了解其中关键几步,以达到快速开发的目的,剩下的好奇心只能等课后了。
总结了其中的关键几步,以便大家参(快速)考(查阅),其中个把关键词均已红色字体标出
用户在页面点击支付按钮,商户后台系统生成微信支付系统的订单信息,调用下单API,发送给微信支付系统
微信支付系统接收支付信息生成临时支付单信息,返回给商户后台系统
商户后台系统拿到临时支付单信息,生成JSAPI(微信支付SDK)调用所需要的支付参数并签名
通过JSAPI接口发起支付请求给微信支付系统
微信支付系统检查参数合法性和授权域信息,返回验证结果给微信客户端,微信客户端弹出支付窗,输入密码,支付
用户输入密码完之后,客户端主动提交支付信息到微信支付系统,微信支付系统验证授权并处理相应业务,返回处理结果给商户后台,商户后台系统根据结果给用户相应提示
微信已经提供了完整的、安全的、方便使用的SDK供我们饮用,就在微信支付文档里面,或者
支付授权目录
支付授权目录,和上篇文章中说到的登陆授权回调域性质差不多,但是区别在于这里用于支付授权。现在的公众号支付授权目录配置已经从公众号迁移到了微信商户平台中,开发者可以在商户平台中进行配置,下图所示:
具体公告,请点击:查看
其他几个点
要使用微信公众号支付功能必须是要微信服务号或者企业号
支付的时候也要检查网页授权域名是否设置哦
没有微信开发者工具的一定要下载个微信开发者工具,因为接下来,包括你在做微信开发的时候一定会需要它,它很强势,不用不行啊
饿货,来个代码饼干?
终于来到开坦克杀敌的环节了,一阵莫名激动,能看到这里的小伙伴一定是真爱啊!~
为什么把这个文件单独提出来,因为它很重要啊(博主君废话模式开启,23333),这个页面通俗点来说用于调起支付框,输入支付密码的操作。当我们下载好了PHP版的微信支付SDK的时候,打开目录大概会是这个美丽的样子
关键代码块:
//②、统一下单
$input = new WxPayUnifiedOrder();
// 商品名称
$input-&SetBody('坦克');
// 描述吧应该是 可以省略不写
$input-&SetAttach("");
$input-&SetOut_trade_no($pay_info['trade_no']);
// 支付金额
$input-&SetTotal_fee($pay_info['total_fee']);
// 开始时间
$input-&SetTime_start(date("YmdHis"));
// 失效时间
$input-&SetTime_expire(date("YmdHis", time() + 600));
// 标签 可以省略不写
$input-&SetGoods_tag("");
// 支付回调url
$input-&SetNotify_url("http://website.szlytx.com/mall/sz_front/wx_alipay/notify");
以上代码均产生于jsapi.php这个文件,代码的注释差不多就是这个意思,没有写注释的博主也不知道啥意思(绝望.jpg,知道的可以告知下...感谢大恩大德)
WxPay.Config.php
这个是关于微信支付配置的文件,放置在SDK根目录下的lib目录里,找到它更改里面的对应配置项。具体有什么作用怎么改,这里就不解释了。文件里的注释写的很清楚,讲真,ZZ都能看的明白,微信SDK开发组的兄弟还是很用心的...点赞
结合CI框架
首先,把SDK目录文件放在application\libraries目录。
1、唤起支付页面当用户在前端点击支付的时候,跳转到如下方法:
* 跳转到微信支付页面
* @param int $order_id 订单ID
public function index($order_id) {
* 首先要校验订单ID、真实性等
* 这里略过
$goods_name = $this-&order_goods_model-&get_value_by_notpk('goods_name', array('order_id' =& $order_id));
$data['pay_info'] = array(
'trade_no' =& $order_info[0]['order_sn'],//订单名称,必填
'goods_name' =& $goods_name, //商品名称
'total_fee' =& $order_info[0]['pay_fee']*100,//付款金额,必填
'remark' =& $goods_name,//商品描述,可空
// 调用支付页面 jsapi
$this-&load-&view("sz_front/wx_alipay/jsapi", $data);
2、jsapi页面赋值大部分代码和原生的差不多,修改一小部分,包括引入各种类库等,这里为了方便展示,采用图片的形式列出
上面三张图一共做了四件事:
引入所需要的支付类库
赋值支付信息
根据支付结果进行提示并跳转页面
隐藏共享地址
支付异步通知 notify
异步通知,支付完结之后,微信支付系统会发送支付结果到这个地址,要求这个地址可以访问,可以在浏览器输入地址进行测试
public function notify() {
// 引入异步通知处理类库
require_once APPPATH.'libraries/Payment/wxpay/example/notify.php';
$notify = new PayNotifyCallBack();
$notify-&Handle(false);
// 获取支付状态
$is_success = $notify-&IsSuccess();
* $wx_payinfo 微信支付回调数据
* 包括支付状态、商户平台的订单、金额、支付成功支付号等
$wx_payinfo = $is_success['data'];
//支付成功
if($is_success['code'] == 1){
* 业务处理
由于异步通知是在“暗地里”进行,所以我们想要监控它,了解它返回了什么数据,可以简单的使用file_put_contents()函数把结果json_encode()一下写入log文件记录。
微信开发其实很简单,有SDK在手,支付我有。博主君为了凑字数,才编的这么多废话,哈哈哈~一不小心说了实话,心机博~~~
距离当初做出这个功能已经有一段时间了,当初在百度查阅资料获取到的资源和众多博文地址也已经记不太清了,有兴趣的朋友可以百度搜索PHP微信开发等关键字进行查阅。实际在功能的实现中,遇到最多的问题就是路径引入了。还有就是强烈推荐微信开发者工具,在微信开发的时候相当有用处(就算我不说,各位朋友应该也知道,又一次打脸...啪(pia)啪(pia)啪(pia))。
再见,七月。
你好,八月。
更多精彩文章
segmentfault的文章发布系统出现了问题,字数较长...
泊浮目 · 4 小时前
简述 iBrand 产品立项时是商业性质的项目,但是在...
iBrand · 7 小时前
序 本文主要研究一下reactor-netty中TcpClient的ne...
codecraft · 15 小时前
基于dapper的分布式追中介绍的文章见过不少,但是...
liudanking · 1 天前
更多精彩文章
SegmentFault
一起探索更多未知微信支付正确设置的方法 第三方开发平台微商城也可以实现在线微_微牛牛(w-nn.cn)―微信营销,免费制作!微信活动定制开发平台!
位置 : 在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
各位神门,请教下,在京东APP里使用微信支付成功后,弹出的页面(该页面应该是微信的统一提示页面,不知我的理解是否有错)下面有一个是否关注京东公众号的选择项,想知道这个页面中的公众号appid是哪个阶段哪个接口哪个参数传给微信服务器的,不然页面中是怎么准确显示具体的公众号的,如下图,是如何实现的?
了解到了开放平台中微信支付有一个公共【】API,疑问如下图,请大虾们解答解答。。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
微信6.0的新接口:
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
没这个接口,京东是微信的亲戚,有很多特权,你懂得
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
确实是新接口,注意观察的话,在支付成功页面右下角会有一个复选框,默认选中的是关注对方的公众号。不知道为啥第一个回答居然有2个赞。(⊙﹏⊙)
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
弱弱的问句这个是APP支付端的功能?还是公众号支付功能?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
我也疑惑,这个是否关注公众号怎么配置,这个好像是腾讯返回给我们的结果啊,不知道怎么设置啊
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
请问LZ问题解决了吗?如果解决了的话求指点!
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
同问,希望了解的大神帮忙解答一下~
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
到这个地址申请:
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
这个好像是和支付的多少钱有关系,钱多了就有;钱少就没有
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
同问关于自动关注。因为我们公司的页面直接就是购买产品页面,价格是150以上的。是否客人支付成功了就自动关注了我公司的服务号呐
该答案已被忽略,原因:答非所问:内容本应通过编辑、评论方式补充,而不是写成一个答案,无意义的内容:赞、顶、同问等毫无意义的内容,垃圾广告信息:广告、招聘、推广、测试等内容,不符合答题规范:内容不是答案,可用评论、投票替代
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。是一个微信号 下面有微信公众号和微信支付吗 都有什么区别_百度知道
是一个微信号 下面有微信公众号和微信支付吗 都有什么区别
我有更好的答案
微信公众号,是用于品牌宣传发文和服务推广用的,用一个微信来管理。而微信支付你个人微信上自带的,只要你身份认证就可以使用。当然公众号也是可以申请开通微信支付功能,目前不支持个人的订阅号。
采纳率:79%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 微信公众号用户分析 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信