openid

调用微信现金红包接口发放红包

可紊 提交于 2020-03-10 19:25:01
1.通过code获取到用户的openid. 引导用户到指定的授权页面 例如: https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri= redirect_uri &response_type=code&scope=SCOPE&state=STATE#wechat_redirect 参考文章: http://www.cnblogs.com/ansiboy/p/3755158.html redirect_uri 为微信调用地址,返回code,然后用code通过下面的地址去换取openid 地址: "https://api.weixin.qq.com/sns/oauth2/access_token?appid=wxid&secret=secret&code=" + code + "&grant_type=authorization_code"; 公众号需获取网页授权获取用户基本信息权限。 2.通过openid及用户相关信息向用户发放红包。 地址:"https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack" 需要发放商户号用户openid等相关信息,需要注意的是签名信息与随机字符串 代码如下: 1. public static

微信登录(微信内登录,浏览器扫码,App登录)小记

蹲街弑〆低调 提交于 2020-03-10 01:06:30
1.在微信开放平台创建一个移动应用(APP登录)获取到appid和appsecret。 2.创建一个网站应用(网页扫码登录)获取到appid和appsecret。 3.在开放平台公众账号内绑定公众号,登录公众平台获取到appid和appsecret。 绑定完公众号,在微信登录获取openID时会返回 UnionID 以unionID代替openid来唯一标识一个用户,从而解决了同一用户通过不同方式登录同一网站获取到的openid不同的问题。 参考: http://mp.weixin.qq.com/wiki/1/8a5ce6257f1d3b2afb20f83e72b72ce9.html 来源: oschina 链接: https://my.oschina.net/u/1411814/blog/805042

手把手教会你小程序登录鉴权

这一生的挚爱 提交于 2020-03-08 18:14:20
导语 为了方便小程序应用使用微信登录态进行授权登录,微信小程序提供了登录授权的开放接口。乍一看文档,感觉文档上讲的非常有道理,但是实现起来又真的是摸不着头脑,不知道如何管理和维护登录态。本文就来手把手的教会大家在业务里如何接入和维护微信登录态 接入流程 这里官方文档上的流程图已经足够清晰,我们直接就该图展开详述和补充。 首先大家看到这张图,肯定会注意到小程序进行通信交互的不止是小程序前端和我们自己的服务端,微信第三方服务端也参与其中,那么微信服务端在其中扮演着怎样的角色呢?我们一起来串一遍登录鉴权的流程就明白了。 1. 调用wx.login生成code wx.login()这个API的作用就是为当前用户生成一个临时的登录凭证,这个临时登录凭证的有效期只有五分钟。我们拿到这个登录凭证后就可以进行下一步操作:获取 openid 和 session_key wx.login({ success : function ( loginRes ) { if (loginRes.code) { // example: 081LXytJ1Xq1Y40sg3uJ1FWntJ1LXyth } } }); 2. 获取openid和session_key 我们先来介绍下openid,用过公众号的童鞋应该对这个标识都不陌生了,在公众平台里,用来标识每个用户在订阅号、服务号、小程序这三种不同应用的唯一标识

一文带你了解微信/支付宝支付的相关概念

雨燕双飞 提交于 2020-03-07 19:04:55
今天写了一篇非技术文,需求来源于老大的老大,老老大。 这偏文章用以说明微信/支付宝相关参数之间错综复杂的关系,所有资料来自微信/支付宝官网,以及相关银联给的微信/支付宝对接文档。 嘿嘿,如果同行的小伙伴,也有这个疑惑,希望本篇文章帮你解惑。 微信 名词解释: appid :公众号、小程序、移动应用唯一标识 mchid :商户申请微信支付后,由微信支付分配的商户收款账号。 openid ,微信用户在公众号 appid 下的唯一用户标识,可用于永久标记一个用户 sub_appid :子 appid ,服务商模式/银行服务商模式起作用 sub_mch_id :子商户号, 服务商模式/银行服务商模式起作用 sub_openid :子 appid 下的唯一标识 channel_id :服务商模式下,微信支付分配给收单服务商的ID 微信支付接入可以分为 普通商户 服务商模式 普通服务商 银行类服务商 银行类服务商与普通类服务商的最大区别在于,普通类服务商不能清算资金,微信将会直接把资金清算给商户账户。 而银行类服务商是可以为下属特约商户清算资金的。 现有银行类服务商实际上是通过银联/网联转接微信 银行服务商省申请资质要求较高,一般只有银行、支付机构可以申请成为银行类服务商。两者申请要求如下: 官网地址: https://pay.weixin.qq.com/partner/public/home

公众号开发入门:查询用户是否已经关注公众号?

久未见 提交于 2020-03-07 13:31:45
背景 最近,小明在参与app改版时,有一个业务场景是:用户完成指定的任务,判断当前登录用户是否已经关注指定的官方微信公众号,如果关注会获得相应的奖励,为了弥补语言的匮乏,小明偷偷给大家上张图: 众所周知,我们程序员第一次接收到之前没做过的需求时,第一步肯定离不开搜查资料(我觉得国内的产品,百度就够用),小明也不例外,花了大概五分钟,一切就了然于胸,由此可见,程序员的 搜商 很重要 😂。ok,废话少说,翠花,上菜!。 必备条件 微信公众平台-开发-基本配置-成为开发者,得到 appId 和 appSecret (注意: appSecret 只展示一次,需保存下来,否则需要重置获取), 添加ip白名单,这个是为了提高公众平台开发者接口调用的安全性,避免一旦开发者ID和密码泄露后给帐号造成损失。对调用“获取 access_token ”接口增加IP白名单校验:只有将IP地址设置为公众号的IP白名单,才能成功调用该接口。 微信认证通过,拥有获取用户基本信息的权限(注意:如果帐号主体为个人,是无法开通微信认证的); 详细步骤 获取access_token https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 参数说明 参数

微信公众平台开发(71)OAuth2.0网页授权

放肆的年华 提交于 2020-03-07 07:20:32
本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称、头像、性别、国家、省份、城市、语言。 本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息,而无需模拟登录。 在本文中,特别要注意的是有两个不同的Access Token,他们产生的方式不一样,一种是使用AppID和AppSecret获取的access_token,一种是OAuth2.0授权中产生的access_token,方倍工作室分别称为全局Access Token和授权Access Token。 一、通过全局Access Token获取用户基本信息 1. 用户关注以及回复消息的时候,均可以获得用户的OpenID <xml> <ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName> <FromUserName><![CDATA[ollB4jv7LA3tydjviJp5V9qTU_kA]]></FromUserName> <CreateTime>1372307736</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[subscribe]]></Event> <EventKey><![CDATA[]]></EventKey> </xml>

老哥,你的订单到了(前后端微信小程序订阅消息推送)

蹲街弑〆低调 提交于 2020-03-05 16:28:31
小程序消息推送种类 订阅消息 模板消息 统一服务消息 客服消息 由于 模板消息 已经下线 ,这里的示例消息是 订阅消息 实现订阅消息我们开始需要知道几个小程序的参数值 小程序appid 小程序密钥 小程序订阅模板 id (template_id) 以上参数都可以在 小程序管理后台 上找到 小程序端 开发前需要获取小程序设置模板 ID,没有设置模板消息时可以添加新的模板 mp.weixin.qq.com 拥有模板 ID 后,需要获取到下发消息权限 用户下发推送消息权限 在订单或者其它操作完成时,调起客户端小程序订阅消息界面,获取到用户操作结果 // index.wxml <button bindtap="bindSubscribeMessage"> 获取下发权限 </button> // index.js bindSubscribeMessage() { wx.requestSubscribeMessage({ tmplIds: ['tmplIds'], success (res) { console.log(res) } }) } 复制代码 传送用户 code 由于消息推送服务端需要小程序 openid 所以我们需要将通过 wx.login 登录小程序将 code 发送给服务端 bindLogin() { /* 1. 获取code 请求开发服务器 * 2. 开发服务器通过 code

JAVA微信支付

走远了吗. 提交于 2020-03-05 14:58:06
1,简单说明   现在好多项目上都需要用到微信支付接口,官方文档上也是简单的描述了下,技术不高深的真的难以理解(我自己看官方文档就看不懂),还是需要自己收集,总结, 网上看了好多 有些照着弄最后还是没法成功。接下来我分享下自己的微信支付。这个微信支付的微信公众号或者小程序,都是需要微信认证的,不然无法申请微信支付,这个就不说了 ,既然到了这一步,相信所有的前提都已经准备好了。直接上代码吧~ 2,java微信支付 一,首先了解下各个参数的意义   https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1 这个是微信官方的说明 截取部分,详细的请到这个链接查看。 二,微信支付代码 首先创建service层插入如下代码: public interface WeiXinPayService { Object WeiXinPay(String outTradeNo,String openid, String body, int total_fee) throws UnsupportedEncodingException; } @Service public class WeiXinPayServiceImpl implements WeiXinPayService { private static final

app使用微信登录java

北慕城南 提交于 2020-03-05 00:06:57
微信登录是个oauth2协议,app点击微信授权,弹出页面,用户点击授权后,app获得code,携带code访问服务端,服务端用code、appid(申请)、秘钥 获取用户openid和accesstoken,如果需要更多用户信息,用accesstoken调用微信服务端接口。 直接上代码: 登录接口: /** * @Description: 微信登录,后端通过code 进行OAuth2登录获取微信信息 * @Param: * @Return: * @Author: Pang * @Date: 2019/12/21 */ @PostMapping("/login/wx") public WebApiResult<LoginResult> wxLogin(@RequestBody UserLoginWX userLoginWX) { LoginResult loginResult = wxComposition.wxLogin(userLoginWX); return WebApiResult.success(loginResult,LoginResult.class); } public class UserLoginWX { @NotNull(message = "微信code不能为空") private String code; @NotNull(message =

node-wechat 微信实践

纵然是瞬间 提交于 2020-03-03 22:33:58
node-wechat 从去年开始微信开发越来越火了,体现在sdk和h5上(h5如果大家想听,可以回复),这里就简单介绍一下sdk开发 既然是noder,那肯定要用nodejs写,不然会被鄙视的。 node-webot简介 node-webot是老朴几个人建的org,主要开发微信sdk相关的node modules 地址 https://github.com/node-webot/ wechat 微信公共平台消息接口服务中间件 weixin-robot 微信公共帐号自动回复机器人 A Node.js robot for wechat. wechat-oauth 授权 wechat-api Wechat API/主动调用API wechat sdk开发常用包 wechat-oauth wechat-api(菜单,消息回复等) wx_jsapi_sign(js-sdk) 创建菜单 wxapi.js var API = require('wechat-api'); var config = require('config'); var menu_config = config.get('wx.wx_menu'); var app_id = config.get('wx.app_id'); var app_secret = config.get('wx.app_secret'); //配置