小程序添加卡券至卡包 本地服务器测试
一、前提
- 开发所需工具:微信开发者工具、python Flask框架(pycharm + anaconda)
- 账号需求:具体过程链接.
- 认证的微信公众号,并且具有卡券插件功能
- 小程序账号 (需要与 1 关联)
- 补充:官方文档中需要申请【微信开放平台】,并将【微信公众号】和【微信小程序】绑定到该开放平台。并且需要认证 2 次,一次认证300元。(注:绑定到开发平台下的作用只是为了获取unionid,因为同一用户在 公众号 和 小程序下获得的openid是不一样的,如果公众号 和 小程序都需要领取卡券,则最好通过unionid来跟踪用户;如果你只是开发微信小程序的领取卡券,则完全可以忽略第4点,本人也没有去绑定到微信开放平台。具体过程看上面的【微信公众号认证、公众号与小程序管理】说明
二、开始开发
2.1、创建微信卡券
-
卡券类别:折扣券、代金券、兑换券、团购券、优惠券
-
创建方式:后台代码实现、微信公众号创建
由于微信公众号创建卡券是可视化的,并且对于互联网新手的我肯定是优先考虑的,因此我在此就写一下如何在【微信公众号】创建卡券吧
查看card_id,后面代码会用到
2.2、领取卡券
- 难点重点:后端生成领取卡券的签名
- 后端代码、微信开发者工具代码
- 设置:1)需要在【微信公众号】添加白名单 2)自己的电脑作为服务器接受数据需要在【微信开发者工具】中进行设置
2.2.1 设置
1)在【微信公众号】添加IP白名单
只有添加这两个 IP 才可以访问 https://api.weixin.qq.com/cgi-bin 和 https://api.weixin.qq.com/sns ,而这两个url 是获取access_token、jsapi_ticket、api_ticket、小程序openid的访问url
2)设置自己的电脑【微信开发者工具】可访问
2.2.2 后端代码
from flask import Flask, request
from wxcard import *
APP_ID_app = 'wx15165165'
APP_SECRET_app = '1225213513132'
# 公众号的APP_ID、APP_SECRET,此处是随便写的,请查看自己小程序的具体信息
APP_ID = 'wx13213513'
APP_SECRET = '65113232113213'
app = Flask(__name__)
@app.route('/getCardSign',methods = ['POST', 'GET'])
def addcard():
ACCESS_TOKEN = get_access_token(APP_ID,