更新记录

1.0.0(2020-12-15) 下载此版本

1.0.0 发布。


平台兼容性

阿里云 腾讯云 支付宝云
×

云函数类插件通用教程

使用云函数类插件的前提是:使用HBuilderX 2.9+


EXPLAIN-WEIXIN

explain扩展模块,微信公众号开发工具包,包含微信公众号网页授权、统一下单支付、订单退款、订单查询等。

加入QQ群:970799055

若从插件市场直接部署后报错,在本地重新上传部署一次即可。

模块依赖

需要安装依赖:

模块名称 最低版本 链接
explain 1.0.88 https://ext.dcloud.net.cn/plugin?id=3312
explain-cache 1.0.0 https://ext.dcloud.net.cn/plugin?id=3425

配置说明

名称 类型 说明
appId String 微信公众号ID
secret String 微信公众号密钥
mchId String 微信支付商户号
key String 微信支付商户秘钥
payNotifyUrl String 支付结果通知地址,请先开启云函数URL化后,配置成自己的云函数URL化地址
refundNotifyUrl String 退款结果通知地址,请先开启云函数URL化后,配置成自己的云函数URL化地址
certPath String 微信支付证书文件路径,退款功能必填
certPassword String 微信支付证书密码

模块方法

authorize 网页授权

getAuthorizeUrl(options)

获取微信授权地址

参数 类型 必填 说明
redirect_uri String 授权后重定向的回调链接地址, 请使用 urlEncode 对链接进行处理
scope String 应用授权作用域,默认snsapi_userinfo,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且, 即使在未关注的情况下,只要用户授权,也能获取其信息 )
state String 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节,默认1

使用示例

const explain = require("explain");
explain.weixin = require("explain-weixin");

let url = explain.weixin.authorize.getAuthorizeUrl({
    redirect_uri: "http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php"
});
// url为https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect

getAccessToken(options)

通过code换取网页授权access_token。 请注意,这里通过code换取的是一个特殊的网页授权access_token,与基础支持中的access_token(该access_token用于调用其他接口)不同。

参数 类型 必填 说明
code String 通过授权URL得到的code

使用示例

const explain = require("explain");
explain.weixin = require("explain-weixin");

let accessToken = await explain.weixin.authorize.getAccessToken({
    code: "CODE"
});
/**
 * accessToken为
 * {
 *   "access_token": "ACCESS_TOKEN",
 *   "expires_in": 7200,
 *   "refresh_token": "REFRESH_TOKEN",
 *   "openid": "OPENID",
 *   "scope": "SCOPE" 
 * }
 */

getUserInfo(options)

拉取用户信息(需scope为 snsapi_userinfo)

参数 类型 必填 说明
access_token String 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
openid String 用户的唯一标识
lang String 返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语,默认zh_CN

使用示例

const explain = require("explain");
explain.weixin = require("explain-weixin");

let accessToken = await explain.weixin.authorize.getAccessToken({
    code: "CODE"
});
let userInfo = await explain.weixin.authorize.getUserInfo({
    access_token: accessToken.access_token,
    openid: accessToken.openid
});
/**
 * userInfo为
 * {
 *   "openid": "OPENID",
 *   "nickname": "NICKNAME",
 *   "sex": "1",
 *   "province": "PROVINCE",
 *   "city": "CITY",
 *   "country": "COUNTRY",
 *   "headimgurl": "https://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
 *   "privilege": ["PRIVILEGE1" "PRIVILEGE2"],
 *   "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL" 
 * }
 */

refreshAccessToken(options)

刷新access_token(如果需要)

参数 类型 必填 说明
refresh_token String 通过access_token获取到的refresh_token

checkAccessToken(options)

检验授权凭证(access_token)是否有效

参数 类型 必填 说明
access_token String 网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
openid String 用户的唯一标识

pay 支付

unifiedorder(options)

统一下单

参数与官方文档一致,官方文档地址:统一下单 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1

使用示例

const explain = require("explain");
explain.weixin = require("explain-weixin");

let res = await explain.weixin.pay.unifiedorder({
    body: `测试订单-4200000001202012152100111`,
    out_trade_no: "4200000001202012152100111",
    total_fee: 100,
    trade_type: "JSAPI",
    openid: "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
});
/**
 * res为
 * {
 *    "return_code": "SUCCESS",
 *    "return_msg": "OK",
 *    "appid": "wx2421b1c4370ec43b",
 *    "mch_id": "10000100"
 *    "nonce_str": "IITRi8Iabbblz1Jc",
 *    "openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o",
 *    "sign": "7921E432F65EB8ED0CE9755F0E86D72F",
 *    "result_code": "SUCCESS",
 *    "prepay_id": "wx201411101639507cbf6ffd8b0779950874",
 *    "trade_type": "JSAPI"
 * }
 */

orderquery(options)

查询订单

参数与官方文档一致,官方文档地址:查询订单 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_2

closeorder(options)

关闭订单

参数与官方文档一致,官方文档地址:关闭订单 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_3

refund(options)

申请退款

参数与官方文档一致,官方文档地址:申请退款 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4

refundquery(options)

查询退款

参数与官方文档一致,官方文档地址:查询退款 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_5

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问