python怎么开发微信小程序,Python小程序开发
正文
因为最近自己在支付小程序,所以在这里简单介绍一下用大蟒支付小程序的流程。当然建议在进行开发之前先阅读具体流程,清楚支付的过程。
1 .支付往来流程
当然具体参数配置请参考官方文档API。PHP https://pay.weixin.QQ.com/wiki/doc/API/wxa/wxa?第七章_ 3索引=1
2 .获取OpenID(微信用户id)
导入请求
来自配置导入应用程序id,秘密
classopenidutils(对象) :
def __init__(self,jscode):
自我URL= https://API.weixin.QQ.com/SNS/jscode2session
self.appid=APPID #小程序编号
请不要与自我秘密=秘密#后付款的键混淆
self.jscode=jscode #前端返回的动态代码
efget_openid(self):
#网址请务必连接。无法使用参与方法
url=self.url ?appid= self。appid secret= self。secret js _ code= self。jscode grant _ type=authorization _ code
r=requests.get(URL)
打印(约翰逊)
OpenID=r.JSON ([ OpenID ]返回OpenID
3 .报销申请
#-* -编码:utf-8-* -
导入请求
导入摘要算法
导入xmlto字典
导入时间
导入随机
导入字符串
导入urllib2
导入系统
类WX _支付工具():
微信支付工具""
def_init_(self,APP_ID,MCH_ID,API_KEY,NOTIFY_URL):
自我. APP_ID=APP_ID #小程序身份
自我. MCH_ID=MCH_ID #商户编号
自我. API_KEY=API_KEY
自我. ufd oder _ URL= https://API.mch.weixin.QQ.com/pay/unified订单 #接口链接
自我。_通知URL=通知URL #异步通知
defgenerate_sign(self,param):
""生成签名""
stringA=
ks=已排序(Param.keys))
#参数排序
对于抢人头中的k:
Stringa=(k=Param[k]))
#城市建设商户键
字符串符号temp=string a key= self ._ API _ key
# md5加密也可以是其他方式
hash _ MD5=哈希库MD5(stringsigtemp。编码( utf8 ))
sign=hash_md5.hexdigest().上))).
返回签名
# python2的另一种实现方法
定义生成符号(自,参数) :
ret=[]forkinsorted(Params.keys()):
如果(k!=符号)和(k!= )和(Params[k]isnotnone):
ret.append(%s=%s% ) k,params[k])
params_str= .加入(返回)
Params _ str= %(Params _ str)skey=%)Partner _ key)s % { Params _ str :Params _ str, Partner_}
重新加载(sys))。
sys.set默认值编码(utf8))。
params _ str=哈希库MD5 (params _ str.encode ( utf-8 ).hexdigest())。
sign=params_str.upper(
返回签名
defgetpayurl(self,orderid,openid,goodsPrice,**kwargs):
向""微信支付端发出请求,获取url " "
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。