微信平台接入客服接口
- 格式:doc
- 大小:21.00 KB
- 文档页数:3
1. 阅读对象本文阅读对象:商户系统(在线购物平台、人工收银系统、自动化智能收银系统或其他)集成微信支付涉及的技术架构师,研发工程师,测试工程师,系统运维工程师。
2. 术语1. 支付模式1) 被扫支付被扫支付是用户展示微信上“我的刷卡条码/二维码”给商户系统扫描后直接完成支付的模式。
主要应用线下面对面收银的场景。
2) 扫码支付扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。
该模式适用于P C 网站支付、实体店单品或订单支付、媒体广告支付等场景。
3) 微信内网页支付微信内网页支付是用户在微信中打开商户的H5 页面,商户在H5 页面通过调用微信支付提供的JSAPI 接口调起微信支付模块完成支付。
应用场景有:•用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付;•用户的好友在朋友圈、聊天窗口等分享商家页面连接,用户点击链接打开商家页面,完成支付•将商户页面转换成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付4) APP 支付APP 支付又称移动端支付,是商户通过在移动端应用APP 中集成开放SDK 调起微信支付模块完成支付的模式。
5) 普通浏览器网页支付模式正在建设中,敬请期待。
2. 名词解释1) 微信公众平台微信公众平台是微信公众账号申请入口和管理后台。
商户可以在公众平台提交基本资料、业务资料、财务资料申请开通微信支付功能。
平台入口:。
2) 微信开放平台微信开放平台是商户APP 接入微信支付开放接口的申请入口,通过此平台可申请微信APP 支付。
平台入口:。
3) 微信商户平台微信商户平台是微信支付相关的商户功能集合,包括参数配置、支付数据查询与统计、在线退款、代金券或立减优惠运营等功能。
平台入口:。
4) 微信支付系统微信支付系统是指完成微信支付流程中涉及的API 接口、后台业务处理系统、账务系统、回调通知等系统的总称。
5) 商户收银系统商户收银系统即商户的POS 收银系统,是录入商品信息、生成订单、客户支付、打印小票等功能的系统。
微信接口开发与应用设计 随着智能手机的普及和移动互联网的发展,手机应用已成为人们生活中不可或缺的一部分。其中,微信作为国内最大的即时通讯工具,具有覆盖面广、用户数量多等优势,为开发者们提供了许多机会。在这篇文章中,我们将探讨微信接口开发与应用设计,并介绍如何使用微信接口开发自己的微信应用程序。
一、微信公众平台 要进行微信接口开发,首先需要了解微信公众平台。微信公众平台是腾讯公司提供的一个服务平台,开发者们可以通过该平台创建自己的公众号并进行运营管理。微信公众平台提供了一系列的接口,包括了以下几种类型:
1.基础接口:提供了类似授权、获取access_token等接口。 2.媒体接口:提供了包括上传、下载、转换素材等接口。 3.消息接口:提供了自定义菜单、文本、图文、模板消息等接口。 4.用户接口:提供了获取用户资料、获取用户列表等接口。 5.帐号管理接口:提供了帐号的创建、查询、更新、删除、绑定等接口。 6.数据统计接口:提供了获取接口调用次数、粉丝量等接口。 通过这些接口,开发者们可以实现自己的微信应用,并为用户提供更好的服务和体验。
二、微信接口开发 了解了微信公众平台及其提供的接口后,接下来我们将进入微信接口开发的阶段。微信接口开发的过程大致可以分为以下几步:
1.首先,需要申请获得开发者资格,并创建自己的开发者账号。 2.然后,创建自己的公众号,并进行基础设置。这里需要注意的是,自己的公众号需要有一个有效的认证,才可以进行高级接口的使用。
3.接着,开发者需要获取自己的access_token,接口调用需要用到该参数。 4.在获取到access_token后,可以使用微信提供的各种接口,进行自己的开发工作。例如,可以创建自定义菜单、发送模板消息、创建群发消息等。
5.开发完成后,需要进行测试和上线。在测试过程中,需要检查接口调用的正确性和逻辑是否合理。在上线之前,需要提交审核,并等待腾讯公司的审核通过。
微信公众平台开发者文档tacyeh收集整理文档内容截至日期:2013-12-25目录零、首页 ..................................................................................... - 1 -一、公众平台开发接口介绍 ....................................................... - 1 -二、典型案例介绍 ....................................................................... - 1 -壹、新手接入 .............................................................................. - 4 -一、接入指南 ............................................................................... - 4 -二、典型案例介绍 ....................................................................... - 6 -三、开发者规范 ........................................................................... - 9 -贰、基础支持 ............................................................................ - 10 -一、获取access_token ............................................................. - 10 -二、全局返回码说明 ................................................................. - 11 -三、接口频率限制说明 ............................................................. - 14 -四、上传下载多媒体文件 ......................................................... - 15 -叁、接收消息 ............................................................................ - 18 -一、验证消息真实性 ................................................................. - 18 -二、接收普通消息 ..................................................................... - 19 -三、接收事件推送 ..................................................................... - 23 -四、接收语音识别结果 ............................................................. - 27 -肆、发送消息 ............................................................................ - 28 -一、发送被动响应消息 ............................................................. - 28 -二、发送客服消息 ..................................................................... - 31 -伍、用户管理 ............................................................................ - 35 -一、分组管理接口 ..................................................................... - 35 -二、获取用户基本信息 ............................................................. - 39 -三、获取关注者列表 ................................................................. - 40 -四、获取用户地理位置 ............................................................. - 43 -五、网页授权获取用户基本信息 ............................................. - 43 -六、网页获取用户网络状态(JS接口)................................. - 50 -陆、自定义菜单 ........................................................................ - 50 -一、自定义菜单创建接口 ......................................................... - 50 -二、自定义菜单查询接口 ......................................................... - 53 -三、自定义菜单删除接口 ......................................................... - 54 -四、自定义菜单事件推送 ......................................................... - 54 -柒、推广支持 ............................................................................ - 55 -一、生成带参数的二维码 ......................................................... - 55 -二、创建二维码ticket............................................................... - 55 -三、通过ticket换取二维码...................................................... - 56 -捌、Winxin JS接口.................................................................. - 57 -一、隐藏微信中网页右上角按钮 ............................................. - 57 -二、隐藏微信中网页底部导航栏 ............................................. - 58 -三、网页获取用户网络状态 ..................................................... - 59 -零、首页一、公众平台开发接口介绍公众平台是为微信用户提供服务的平台,而公众平台开发接口则是提供服务的基础,开发者在公众平台网站中创建公众号、获取接口权限后,可以通过阅读本接口文档来帮助开发。
公众平台开发者文档公众平台开发者文档1. 概述1.1 简介1.2 什么是公众平台开发1.3 相关概念解释2. 开发准备2.1 注册公众号2.2 获取开发者凭据2.3 配置服务器2.4 验证开发者身份3. 接入与配置3.1 接入与配置流程3.2 接入方式选择3.3 开发者模式与安全模式3.4 域名与IP白名单设置3.5 通信加密设置4. 消息与事件4.1 接收普通消息4.2 接收事件消息4.3 回复消息格式与规范4.4 消息加密与解密5. 菜单与自定义功能5.1 创建与配置菜单5.2 自定义功能开发指南 5.3 接受用户事件5.4 发送客服消息6. 用户管理6.1 获取用户基本信息 6.2 用户分组管理6.3 获取用户列表6.4 用户行为统计7. 素材管理7.1 媒体文件7.2 素材与管理7.3 图文消息管理7.4 群发与订阅8. 高级功能8.1 支付开发指南8.2 授权登录8.3 客服功能接入与管理8.4 卡券开发指南9. 常见问题解答9.1 接入问题与解决方法9.2 开发调试遇到的问题9.3 用户反馈与投诉处理10. API接口文档10.1 公共API接口说明10.2 消息管理API接口说明 10.3 用户管理API接口说明10.4 素材管理API接口说明11. 附件11.1 示例代码11.2 图片资源12. 法律名词及注释12.1 公众平台:指腾讯公司开发的一种集服务、接口、工具、文档等于一体的开放平台。
12.2 开发者凭据:包含AppID和AppSecret,用于标识开发者身份。
12.3 通信加密:在传输过程中对消息进行加密,增加信息安全性。
12.4 用户分组:将公众号的关注用户分为不同的组,方便进行精准推送。
12.5 素材管理:管理多媒体资源,包括图片、语音、视频等。
12.6 支付:用户可以在里轻松完成支付的功能。
12.7 授权登录:使用账号登录第三方网站或应用。
12.8 客服功能:提供在线客服功能,方便与用户进行互动。
微信公众平台二次开发解决方案在进行微信公众平台的二次开发时,需要考虑到一些常见的问题和解决方案,以提高开发效率和用户体验。
以下是一些常见的解决方案:1. 接口调用与权限验证:在进行微信公众平台的二次开发时,可能需要调用微信的接口来获取用户信息、发送消息等。
在这种情况下,需要进行接口调用和权限验证。
解决方案可以是使用开源的微信开发工具包,如Wechat SDK,或使用微信官方提供的接口进行调用和验证。
2. 消息回复与自定义菜单:微信公众平台可以通过自定义菜单来实现用户与公众号的交互,例如点击菜单触发事件、回复消息等。
在二次开发中,可能需要自定义菜单并实现与菜单相关的功能。
解决方案可以是使用微信公众平台提供的菜单接口进行自定义菜单的创建和管理,并通过配置菜单的触发事件来实现相关功能。
3. 消息推送与模板消息:微信公众平台可以通过消息推送功能来向用户发送消息,包括文本、图片、语音、视频等类型。
在二次开发中,可能需要实现消息推送并定制消息内容。
解决方案可以是使用微信公众平台提供的消息接口进行消息的推送,并使用模板消息来定制消息的内容和格式。
4. 用户管理与数据统计:微信公众平台可以通过用户管理功能来管理用户的基本信息,包括用户的关注状态、标签等。
在二次开发中,可能需要进行用户管理和数据统计。
解决方案可以是使用微信公众平台提供的用户管理接口进行用户管理,并使用第三方数据统计工具进行数据统计和分析。
5. 素材管理与图片上传:微信公众平台可以通过素材管理功能来管理各类素材,包括图片、语音、视频等。
在二次开发中,可能需要进行素材管理和图片的上传。
解决方案可以是使用微信公众平台提供的素材管理接口进行素材管理,并使用第三方图片上传工具来实现图片的上传和管理。
通过以上的解决方案,开发者可以更好地进行微信公众平台的二次开发,并实现更丰富和个性化的功能,提升用户的体验。
当然,具体的开发需求会根据实际情况有所差异,开发者需要根据自己的需求选择适合的解决方案。
微信公众平台开发(十二)发送客服消息一、简介当用户主动发消息给公众号的时候(包括发送信息、点击自定义菜单、订阅事件、扫描二维码事件、支付成功事件、用户维权),微信将会把消息数据推送给开发者,开发者在一段时间内(目前修改为48小时)可以调用客服消息接口,通过POST一个JSON数据包来发送消息给普通用户,在48小时内不限制发送次数。
此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务。
二、思路分析官方文档中只提供了一个发送客服消息的接口,开发者只要POST一个特定的JSON数据包即可实现消息回复。
在这里,我们打算做成一个简单的平台,可以记录用户消息,并且用网页表格的形式显示出来,然后可以对消息进行回复操作。
首先,我们使用数据库记录用户主动发送过来的消息,然后再提取出来展示到页面,针对该消息,进行回复。
这里我们只讨论文本消息,关于其他类型的消息,大家自行研究。
三、记录用户消息3.1 创建数据表创建一张数据表tbl_customer 来记录用户消息。
---- 表的结构`tbl_customer`--CREATE TABLE `tbl_customer` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '//消息ID',`from_user` char(50) NOT NULL COMMENT '//消息发送者',`message` varchar(200) NOT NULL COMMENT '//消息体', `time_stamp` datetime NOT NULL COMMENT '//消息发送时间',PRIMARY KEY (`id`),KEY `from_user` (`from_user`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;3.2 创建sql.func.php 文件创建_query($_sql) {} 函数,来执行INSERT 操作。
微信公众平台的功能微信公众平台作为一个社交媒体平台,提供了多种功能,以满足用户的不同需求。
以下是微信公众平台的一些主要功能。
1. 自定义菜单:公众号可以自定义设置菜单,方便用户浏览和获取所需信息。
通过自定义菜单,用户可以轻松了解公众号的主要内容和服务。
2. 消息群发:公众号可以发送消息给关注者,包括文字、图片、链接等。
通过群发功能,公众号可以向大量用户传达信息、宣传产品或服务。
3. 推送通知:公众号可以向关注者发送消息提醒。
这可以是新文章、活动通知、特殊促销等。
关注者可以通过接收通知及时了解公众号的最新动态。
4. 图文素材管理:公众号可以上传和管理图文素材,方便制作推文或群发消息。
用户可以使用富媒体内容提高信息的吸引力和可阅读性。
5. 数据统计:公众号可以查看用户的阅读和行为数据,包括阅读量、转发量、活跃用户等。
这些数据可以帮助公众号了解目标用户的兴趣和行为,进而优化内容和营销策略。
6. 小程序支持:公众号可以与小程序进行关联,提供更多功能和服务。
小程序可以为用户提供更多交互和购物体验,以及更多线下服务。
7. 会员卡:公众号可以提供会员卡服务,用户可以通过公众号申请会员卡,获取积分、优惠券和专属权益。
8. 在线支付:公众号可以集成在线支付功能,用户可以通过公众号完成购物和支付。
这方便了用户的购物体验,也提供了更多营销手段。
9. 客服接入:公众号可以接入客服功能,用户可以通过公众号发送消息与客服人员进行互动。
这提供了便捷的客服渠道,增加用户的满意度和忠诚度。
10. 第三方接入:微信公众平台还提供了第三方开放接口,允许开发者开发和集成更多功能。
这使得微信公众平台成为了一个完善的生态系统,提供了更多的服务和工具。
总结起来,微信公众平台的功能丰富多样,包括自定义菜单、消息群发、推送通知、图文素材管理、数据统计、小程序支持、会员卡、在线支付、客服接入和第三方接入等。
这些功能帮助公众号更好地与用户互动,提供优质的服务和内容。
微信公众平台开发者文档注:本人引用微信公众平台开发者文档只为方便,一切版权归微信公众平台所有。
目录一、新手指南 (15)1、接入指南 (15)目录 (15)概述 (15)第一步:填写服务器配置 (15)第二步:验证服务器地址的有效性 (18)第三步:依据接口文档实现业务逻辑 (19)2、典型案例介绍 (20)招商银行信用卡中心 (21)中国南方航空 (22)广东联通 (23)3、开发者规范 (23)4、模板消息运营规范 (25)5、公众号类型的接口权限说明 (28)6、微信开发者互助问答系统 (31)二、测试号申请|在线调试 (31)1、接口调试工具 (31)2、接口测试号申请 (31)三、报警排查|返回码 (32)1、接口频率限制说明 (32)2、全局接口返回码说明 (34)3、报警排查指引 (43)目录 (43)概要说明 (43)报警内容说明 (45)各类报警的排查方法 (47)常见问题 (49)附录 (51)附录1:微信推送的消息事件列表和响应格式 (51)附录2:查看服务器性能负载的常用工具 (51)附录3:nginx配置和排查指引 (53)4、微信推送消息与事件说明 (54)四、消息加解密|消息签名 (55)1、方案概述 (55)2、接入指引 (57)目录 (58)函数说明 (58)使用方法 (59)注意事项 (62)示例代码下载 (63)微信公众平台接口调试工具 (63)3、技术方案 (64)阅读须知 (64)公众账号接收用户消息 (65)公众账号向用户回复消息 (69)4、开发者FAQ (70)消息加解密功能开发者FAQ (70)五、基础接口 (73)1、获取access_token (73)2、获取微信服务器IP地址 (75)六、接收消息 (77)1、验证消息真实性 (77)2、接收普通消息 (78)目录 (79)文本消息 (79)图片消息 (80)语音消息 (81)视频消息 (81)小视频消息 (82)地理位置消息 (83)3、接收事件推送 (86)目录 (86)关注/取消关注事件 (86)扫描带参数二维码事件 (87)上报地理位置事件 (89)自定义菜单事件 (90)点击菜单拉取消息时的事件推送 (91)点击菜单跳转链接时的事件推送 (91)4、接收语音识别结果 (92)七、发送消息 (94)1、发送被动回复消息 (94)目录 (95)回复文本消息 (95)回复图片消息 (96)回复语音消息 (96)回复视频消息 (97)回复音乐消息 (98)回复图文消息 (99)2、客服接口 (100)目录 (101)客服帐号管理 (101)3、高级群发接口 (110)目录 (111)上传图文消息素材【订阅号与服务号认证后均可用】 (111)根据分组进行群发【订阅号与服务号认证后均可用】 (114)根据OpenID列表群发【订阅号不可用,服务号认证后可用】 (118)删除群发【订阅号与服务号认证后均可用】 (123)预览接口【订阅号与服务号认证后均可用】 (124)查询群发消息发送状态【订阅号与服务号认证后均可用】 (127)事件推送群发结果 (128)4、模板消息接口 (130)目录 (131)设置所属行业 (131)获得模板ID (134)发送模板消息 (135)事件推送 (139)5、获取自动回复规则 (141)八、素材管理 (147)1、新增临时素材 (147)2、获取临时素材 (150)3、新增永久素材 (151)新增永久图文素材 (152)4、获取永久素材 (155)5、删除永久素材 (158)6、修改永久图文素材 (159)7、获取素材总数 (161)8、获取素材列表 (163)九、用户管理 (166)1、用户分组管理 (166)目录 (166)创建分组 (166)查询所有分组 (168)查询用户所在分组 (170)修改分组名 (171)移动用户分组 (172)批量移动用户分组 (173)删除分组 (174)2、设置用户备注名 (175)设置备注名 (175)3、获取用户基本信息(UnionID机制) (176)获取用户基本信息(包括UnionID机制) (177)4、获取用户列表 (180)5、获取用户地理位置 (182)6、网页授权获取用户基本信息 (184)目录 (186)第一步:用户同意授权,获取code (186)第二步:通过code换取网页授权access_token (189)第三步:刷新access_token(如果需要) (191)第四步:拉取用户信息(需scope为snsapi_userinfo) (192)附:检验授权凭证(access_token)是否有效 (194)十、自定义菜单管理 (195)1、自定义菜单创建接口 (195)2、自定义菜单查询接口 (201)3、自定义菜单删除接口 (202)4、自定义菜单事件推送 (203)目录 (203)点击菜单拉取消息时的事件推送 (203)点击菜单跳转链接时的事件推送 (204)scancode_push:扫码推事件的事件推送 (205)scancode_waitmsg:扫码推事件且弹出“消息接收中”提示框的事件推送 (206)pic_sysphoto:弹出系统拍照发图的事件推送 (207)pic_photo_or_album:弹出拍照或者相册发图的事件推送 (208)pic_weixin:弹出微信相册发图器的事件推送 (210)location_select:弹出地理位置选择器的事件推送 (211)5、获取自定义菜单配置接口 (212)十一、帐号管理 (217)1、生成带参数的二维码 (217)创建二维码ticket (218)通过ticket换取二维码 (220)2、长链接转短链接接口 (221)接口调用请求说明 (221)十二、数据统计接口 (223)1、用户分析数据接口 (223)2、图文分析数据接口 (227)3、消息分析数据接口 (236)4、接口分析数据接口 (243)十三、微信JS-SDK (247)1、微信JS-SDK说明文档 (247)目录 (248)概述 (249)基础接口 (252)分享接口 (253)图像接口 (254)音频接口 (256)智能接口 (258)设备信息 (258)地理位置 (259)界面操作 (259)微信扫一扫 (260)微信小店 (261)微信卡券 (261)微信支付 (264)附录1-JS-SDK使用权限签名算法 (265)附录2-所有JS接口列表 (267)附录3-所有菜单项列表 (269)附录4-卡券扩展字段及签名生成算法 (270)附录5-常见错误及解决方法 (273)附录6-DEMO页面和示例代码 (277)附录7-问题反馈 (278)十四、微信小店接口 (279)1、微信小店接口 (279)十五、微信卡劵接口 (281)1、微信卡劵接口说明 (281)目录 (281)卡券接口概述 (281)卡券资料包下载 (282)2、创建卡劵 (283)目录 (283)创建卡券 (283)3、会员卡、特殊票劵 (301)目录 (301)会员卡 (301)特殊票类 (318)景区门票 (321)电影票 (321)会议门票 (325)飞机票 (325)汽车票 (329)4、投放卡劵 (332)目录 (332)创建二维码接口 (332)添加卡券JS-SDK (336)群发卡券 (336)投放渠道数据统计 (339)5、核销卡劵 (340)目录 (340)核销Code接口 (340)线上核销接口 (342)拉取卡券列表接口 (342)Code解码接口 (343)目录 (345)查询code (345)查看卡券详情 (347)批量查询卡列表 (354)更改卡券信息接口 (355)修改库存接口 (361)更改Code接口 (363)删除卡券接口 (365)设置卡券失效接口 (367)7、卡卷事件推送 (369)目录 (369)卡券事件推送 (369)8、卡劵错误码 (376)十六、微信智能接口 (378)1、语义理解接口 (378)十七、设备功能介绍 (382)1、设备功能介绍 (382)目录 (382)服务号设备功能介绍 (382)十八、多客服功能 (385)1、将消息转发到多客服 (385)目录 (388)3、多客服会话控制 (396)目录 (396)4、获取客服聊天记录 (404)获取客服聊天记录接口 (404)5、PC客户端自定义插件接口 (407)目录 (407)PC客户端自定义页面插件接口 (407)十九、摇一摇周边 (416)1、设备管理 (416)目录 (416)申请设备ID (416)编辑设备信息 (419)配置设备与门店的关联关系 (420)查询设备列表 (421)2、页面管理 (425)目录 (425)新增页面 (425)编辑页面信息 (426)查询页面列表 (428)删除页面 (430)上传图片素材 (431)4、配置设备与页面的关联关系 (433)配置设备与页面的关联关系 (433)5、获取设备及用户信息 (434)获取摇周边的设备及用户信息 (434)6、数据统计 (436)以设备为维度的数据统计接口 (436)以页面为维度的数据统计接口 (439)7、摇一摇关注JSAPI (441)摇一摇关注JS API (441)一、新手指南1、接入指南接入微信公众平台开发,开发者需要按照如下步骤完成:下面详细介绍这3个步骤。
微信公众平台开发者文档1 新手接入 (1)1,1 接入指南 (1)1.2 开发者规范 (2)2 基础支持 (3)2.1 获取access_token (3)2.2 全局返回码说明 (4)2.3 接口频率限制说明 (7)2.4 上传下载多媒体文件 (9)1 新手接入1,1 接入指南第一步:申请消息接口在公众平台网站的高级功能–开发模式页,点击“成为开发者”按钮,填写URL和Token,其中URL是开发者用来接收微信服务器数据的接口URL。
Token可由开发者任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。
第二步:验证URL有效性开发者提交信息后,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数:开发者通过检验signature对请求进行校验(下面有校验方式)。
若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
检验signature的PHP示例代码:第三步:成为开发者验证URL有效性成功后即接入生效,成为开发者。
如果公众号类型为服务号(订阅号只能使用普通消息接口),可以在公众平台网站中申请认证,认证成功的服务号将获得众多接口权限,以满足开发者需求。
此后用户每次向公众号发送消息、或者产生自定义菜单点击事件时,响应URL将得到推送。
公众号调用各接口时,一般会获得正确的结果,具体结果可见对应接口的说明。
返回错误时,可根据返回码来查询错误原因。
全局返回码说明用户向公众号发送消息时,公众号方收到的消息发送者是一个OpenID,是使用用户微信号加密后的结果,每个用户对每个公众号有一个唯一的OpenID。
此外请注意,微信公众号接口只支持80接口。
1.2 开发者规范开发者进行公众号开发时,除了需要满足每个接口的规范限制、调用频率限制外,还需特别注意模版消息、用户数据等敏感信息的使用规范。
涉及用户数据时:∙您的服务需要收集用户任何数据的,必须事先获得用户的明确同意,且仅应当收集为运营及功能实现目的而必要的用户数据,同时应当告知用户相关数据收集的目的、范围及使用方式等,保障用户知情权。
1. 阅读对象本文阅读对象:商户系统(在线购物平台、人工收银系统、自动化智能收银系统或其他)集成微信支付涉及的技术架构师,研发工程师,测试工程师,系统运维工程师。
2. 术语1. 支付模式1) 被扫支付被扫支付是用户展示微信上“我的刷卡条码/二维码”给商户系统扫描后直接完成支付的模式。
主要应用线下面对面收银的场景。
2) 扫码支付扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。
该模式适用于P C 网站支付、实体店单品或订单支付、媒体广告支付等场景。
3) 微信内网页支付微信内网页支付是用户在微信中打开商户的H5 页面,商户在H5 页面通过调用微信支付提供的JSAPI 接口调起微信支付模块完成支付。
应用场景有:•用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付;•用户的好友在朋友圈、聊天窗口等分享商家页面连接,用户点击链接打开商家页面,完成支付•将商户页面转换成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付4) APP 支付APP 支付又称移动端支付,是商户通过在移动端应用APP 中集成开放SDK 调起微信支付模块完成支付的模式。
5) 普通浏览器网页支付模式正在建设中,敬请期待。
2. 名词解释1) 微信公众平台微信公众平台是微信公众账号申请入口和管理后台。
商户可以在公众平台提交基本资料、业务资料、财务资料申请开通微信支付功能。
平台入口:。
2) 微信开放平台微信开放平台是商户APP 接入微信支付开放接口的申请入口,通过此平台可申请微信APP 支付。
平台入口:。
3) 微信商户平台微信商户平台是微信支付相关的商户功能集合,包括参数配置、支付数据查询与统计、在线退款、代金券或立减优惠运营等功能。
平台入口:。
4) 微信支付系统微信支付系统是指完成微信支付流程中涉及的API 接口、后台业务处理系统、账务系统、回调通知等系统的总称。
5) 商户收银系统商户收银系统即商户的POS 收银系统,是录入商品信息、生成订单、客户支付、打印小票等功能的系统。
微信平台接入客服接口
第一步:通过appid和secret获取token
第一步:通过curl方式发送数据
header("Content-type: text/html; charset=utf-8");
$appid = "yourAppID";
$secret = "yourSecret";
content('news');
send($appid,$secret,$reuslt);
function content($type){
switch ($type) {
case 'text':
$array = array();
$array[0]['touser'] = 'ojrXWjiQ72jOJZcO4mFb06VE7GPU';
$array[0]['content'] = '有没有那么一首歌,会让你轻轻跟着合?';
$res = array();
foreach($array as $resc){
$res['touser'] = $resc['touser'];
$res['msgtype'] = 'text';
$res['text']['content'] = urlencode($resc['content']);
$datas = json_encode($res);
$data[] = urldecode($datas);
}
break;
case 'news':
$array = array();
for ($i = 0; $i < 1; $i++) {
$array[$i]['touser'] = 'ojrXWjiQ72jOJZcO4mFb0VE76GPU';
$array[$i]['msgtype'] = 'msgtype';
$array[$i]['news']['articles'][0]['title'] = '新的工单:我要报修';
$array[$i]['news']['articles'][0]['description'] = '我要报修我要报修
我要报修我要报修我要报修我要报修我要报修我要报修我要报修';
$array[$i]['news']['articles'][0]['url'] = 'http://baidu.com';
$array[$i]['news']['articles'][0]['picurl'] = 'http://www.baidu.com';
}
$res = array();
foreach($array as $resc){
$res['touser'] = $resc['touser'];
$res['msgtype'] = 'news';
$re = array();
$res['news']['articles'] = array();
foreach($resc['news']['articles'] as $articles){
$re['title'] = urlencode($articles['title']);
$re['description'] = urlencode($articles['description']);
$re['url'] = urlencode($articles['url']);
$re['picurl'] = urlencode($articles['picurl']);
$res['news']['articles'][] = $re;
}
$datas = json_encode($res);
$data[] = urldecode($datas);
}
break;
}
return $data;
}
function send($appid,$secret,$data){
$token_url =
"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret=
{$secret}";
$json = file_get_contents($token_url);
$result = json_decode($json,TRUE);
//var_dump($result);
foreach($data as $res){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
"https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={$result['access_token']}"
);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE
5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $res);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$tmpInfo2 = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Errno'.curl_error($ch);
}
curl_close($ch);
}
}
?>