All Projects → xfan001 → Weixin Sdk

xfan001 / Weixin Sdk

微信公众平台和微信支付Python-SDK

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Weixin Sdk

Xiaochengxu demos
小程序优秀项目源码汇总,每个项目都有图有源码,零基础学微信小程序,小程序表格,小程序视频,小程序视频弹幕,小程序仿天猫大转盘抽奖等源码,小程序云开发,小程序发邮件,小程序支付,微信支付,持续更新。。。
Stars: ✭ 855 (+4175%)
Mutual labels:  wechat, weixin
Python Weixin
微信(weixin|wechat) Python SDK 支持开放平台和公众平台 支持微信小程序云开发
Stars: ✭ 746 (+3630%)
Mutual labels:  wechat, weixin
Wechat Miniprogram Examples
WeChat mini program examples. 微信小程序示例
Stars: ✭ 634 (+3070%)
Mutual labels:  wechat, weixin
Weixin Pay
微信支付
Stars: ✭ 863 (+4215%)
Mutual labels:  wechat, weixin
Koa Weixin Jssdk
koa weixin jssdk middleware
Stars: ✭ 7 (-65%)
Mutual labels:  wechat, weixin
Ocbarrage
iOS 弹幕库 OCBarrage, 同时渲染5000条弹幕也不卡, 轻量, 可拓展, 高度自定义动画, 超高性能, 简单易上手; A barrage render-engine with high performance for iOS. At the same time, rendering 5000 barrages is also very smooth, lightweight, scalable, highly custom animation, ultra high performance, simple and easy to use!
Stars: ✭ 589 (+2845%)
Mutual labels:  wechat, weixin
Iview Weapp
一套高质量的微信小程序 UI 组件库
Stars: ✭ 6,145 (+30625%)
Mutual labels:  wechat, weixin
Planmaster
套餐助手:手机套餐对比选购小程序
Stars: ✭ 487 (+2335%)
Mutual labels:  wechat, weixin
Weixinmpsdk
微信全平台 SDK Senparc.Weixin for C#,支持 .NET Framework 及 .NET Core、.NET 6.0。已支持微信公众号、小程序、小游戏、企业号、企业微信、开放平台、微信支付、JSSDK、微信周边等全平台。 WeChat SDK for C#.
Stars: ✭ 7,098 (+35390%)
Mutual labels:  wechat, weixin
Weixin Java Miniapp Demo
基于Spring Boot 和 WxJava 实现的微信小程序Java后端Demo
Stars: ✭ 779 (+3795%)
Mutual labels:  wechat, weixin
Wechat Jssdk
🐧WeChat JS-SDK integration with NodeJS
Stars: ✭ 571 (+2755%)
Mutual labels:  wechat, weixin
Ios Chat
开源的即时通讯(野火IM)系统
Stars: ✭ 867 (+4235%)
Mutual labels:  wechat, weixin
Wecron
✔️ 微信上的定时提醒 - Cron on WeChat
Stars: ✭ 537 (+2585%)
Mutual labels:  wechat, weixin
Wechattweak Macos
A dynamic library tweak for WeChat macOS - 首款微信 macOS 客户端撤回拦截与多开
Stars: ✭ 6,505 (+32425%)
Mutual labels:  wechat, weixin
Sns auth
通用第三方登录SDK,支持微信,微信扫码,QQ,微博登录,支付宝登录,Facebook,Line,Twitter,Google
Stars: ✭ 520 (+2500%)
Mutual labels:  wechat, weixin
Quietweather
☀️ Develop a weather wechat mini program application in two days - 两天撸一个天气应用微信小程序
Stars: ✭ 677 (+3285%)
Mutual labels:  wechat, weixin
Weindex
微信相关资源汇总索引
Stars: ✭ 466 (+2230%)
Mutual labels:  wechat, weixin
Wechat sender
随时随地发送消息到微信
Stars: ✭ 474 (+2270%)
Mutual labels:  wechat, weixin
Juejin
💰 Unofficial JueJin wechat mini program application - 掘金非官方微信小程序
Stars: ✭ 771 (+3755%)
Mutual labels:  wechat, weixin
Taro scaffold
基于 Taro / dva / redux-saga / react 的微信小程序脚手架,同时集成了 sprite 。
Stars: ✭ 24 (+20%)
Mutual labels:  wechat, weixin

weixin-sdk

微信公众平台python SDK

安装

pip install weixin-sdk

基本使用(以tornado为例)

# -*- coding: utf-8 -*-
import tornado.web, tornado.ioloop
from weixin_sdk.public import WxBasic

class WechatHandler(tornado.web.RequestHandler):

    def prepare(self):
        self.wechat = WxBasic(appid='YOUR APPID',
                              appsecret='YOUR APPSECRET',
                              token='YOUR TOKEN')

    def get(self):
        #首次接入验证,传入url上的query字符串键值对
        if self.wechat.check_signature(self.query_arguments):
            echo_str = self.get_query_argument('echostr', '')
            self.write(echo_str)
        else:
            self.write('wrong, request not from wechat!')

    def post(self):
        self.wechat.parse_data(self.request.body)
        message = self.wechat.message
        #收到消息后针对不同消息类型进行处理
        if message.msgType == 'text':
            content = message.content
            print u'收到文本消息:%s' % content
            self.write(self.wechat.pack_text(content))
            return
        elif message.msgType == 'image':
            pass
        elif message.msgType == 'event':
            pass

    @property
    def query_arguments(self):
        """获取url中的查询字符串dict"""
        query = {}
        for k in self.request.arguments.keys():
            query[k] = self.get_query_argument(k)
        return query

if __name__ == '__main__':
    app = tornado.web.Application([
        (r"/?", WechatHandler),
    ], autoreload=True)
    app.listen(8888)
    print('server starting...')
    tornado.ioloop.IOLoop.instance().start()

接口

(要知道接口具体调用形式,直接定位到源代码函数查看即可~)

weixin-sdk.public包含类

1. WxBasic-基本消息解析及被动回复,包含签名校验和加解密

初始化参数: appid, appsecret, token, aes_key=None(默认明文)

相关接口如下:

  • check_signature 检查签名,传入url-query-string,必须包含signature,timestamp,nonce三个键
  • parse_data 解析原始消息,传入request-body(原始xml字符串)
  • message(property修饰) 返回消息字典(对象), 类型有:text,image,voice,video,shortvideo,location,news,event. 字典对象是由xml转换成的键值对,key为驼峰式,也可作为对象属性访问,如message.msgType
  • pack_text 将待回复的文本消息打包成xml字符串,下同
  • pack_image
  • pack_voice
  • pack_video
  • pack_music
  • pack_news
  • pack_transfer_kf

2. WxApi-微信基本接口

staticmethod:

  • request_access_token 网络请求获取access_token, 返回{'access_token':'', 'expires_in':3600}, 获取后需要全局缓存,并在有效期到后需要重新调用接口获取

初始化,传入参数access_token, 相关实例方法:

  • request_jsapi_ticket 网络请求jsapi_ticket
  • request_card_api_ticket 网络请求card_api_ticket(卡券需要)

客服消息接口:

  • send_text 主动发送文本消息,下同
  • send_image
  • send_voice
  • send_video
  • send_music
  • send_news
  • send_mp_news
  • send_template_msg
  • add_kfaccount 客服账号操作,下同
  • update_kfaccount
  • del_kfaccount
  • get_kf_list

素材管理API:

  • get_material_count
  • get_material_list
  • download_tmp_material 获取临时素材(下载多媒体文件)
  • get_material 获取永久素材

用户管理API:

  • create_group
  • get_groups
  • get_group_by_openid
  • rename_group
  • move_user
  • delete_group
  • remark_user
  • get_user_info 获取/批量获取用户信息
  • get_user_list 获取用户列表dict

自定义菜单API:

  • create_menu 创建自定义菜单/个性化菜单
  • get_menu 获取自定义菜单/个性化菜单
  • delete_menu 删除所有菜单
  • delete_condition_menu 删除个性化菜单

其他功能API:

  • get_wechat_ips 获取微信服务器ip地址
  • url_long2short 长连接转短链接
  • create_qrcode 创建临时二维码或永久二维码

3. WxAuthApi-网页授权获取用户信息

所有方法均为静态方法

  • authorized_redirect_url 给定参数,生成授权url
  • get_access_token 通过code换取网页授权acces_token
  • refresh_access_token 刷新网页授权acces_token
  • check_access_token 检验授权凭证(access_token)是否有效
  • get_user_info 拉取用户信息, snsapi_base中不需此步骤

4. WxJsApi-微信JS-API

  • sign 对页面进行签名 传参:appid, jsapi_ticket, page_url(不含#之后的部分), 返回:{'appid':'', 'timestamp':123456789, 'nonce_str':'', 'signature':''}

weixin-sdk.pay包含类

1. WxPay-微信支付

构造参数: appid, mch_id(商户号), sign_key(商户签名密钥), cert=None(商户证书文件,tuple:(apiclient_cert.pem路径, apiclient_key.pem路径),涉及到资金回滚的接口需要)

相关接口:

  • unified_order 微信统一下单api
  • query_order 查询订单api
  • close_order 关闭交易
  • refund 退款
  • query_refund 查询退款

其他功能接口:

  • parse_notify_result 微信服务器通知支付结果时使用, 将request body的xml格式转为dict,签名错误时返回None
  • pack_notify_response 将支付结果通知请求的响应结果打包成xml
  • sign_for_jspay jssdk调起支付时需要的sign
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].