首页 > 编程知识 正文

如何开发微信小程序,Python微信小程序

时间:2023-05-03 10:11:48 阅读:129935 作者:4763

正文

因为最近自己在支付小程序,所以在这里简单介绍一下用python支付小程序的流程。 当然建议在进行开发之前先阅读具体流程,清楚支付的过程。

1 .支付往来流程

当然具体参数配置请参考官方文档https://pay.weixin.QQ.com/wiki/doc/API/wxa/wxa _ API.PHP? chapter=7_ 3索引=1

2 .获取OpenID (微信用户id )

导入请求

来自配置导入应用程序id,SECRET

classopenidutils(object ) :

def __init__(self,jscode ) :

self.URL=' https://API.weixin.QQ.com/SNS/jscode2session '

self.appid=APPID #小程序id

请不要与self.secret=SECRET #后付款的key混淆

self.jscode=jscode #前端返回的动态jscode

efget_openid(self ) :

# url请务必连接。 无法使用参与方法

url=self.url '? appid=' self.appid ' secret=' self.secret ' js _ code=' self.jscode ' grant _ type=authorization _ code '

r=requests.get(URL )

打印(r.JSON ) )

OpenID=r.JSON ([ ' OpenID ' ] return OpenID

3 .报销申请

#-* -编码: utf-8-* -

导入请求

import hashlib

导入xmlto dict

导入时间

导入随机

导入字符串

import urllib2

导入系统

class WX_PayToolUtil () :

微信支付工具“”

def_init_(self,APP_ID,MCH_ID,API_KEY,NOTIFY_URL ) :

self._APP_ID=APP_ID #小程序ID

self._MCH_ID=MCH_ID # #商户编号

self._API_KEY=API_KEY

self._ ufd oder _ URL=' https://API.mch.weixin.QQ.com/pay/unified order ' #接口链接

self._NOTIFY_URL=NOTIFY_URL #异步通知

defgenerate_sign(self,param ) :

“”生成签名“”

stringA=' '

ks=sorted(Param.keys ) )

#参数排序

for k in ks:

Stringa=(k'='Param[k] ' ) )

#城市建设商户KEY

stringsigntemp=stringa ' key=' self._ API _ key

# md5加密也可以是其他方式

hash _ MD5=hash lib.MD5 (stringsigntemp.encode (' utf8 ' ) )

sign=hash_md5.hexdigest ().upper ) ) )。

返回签名

''''

# python2的另一种实现方法

def generate _ sign (自,参数) :

ret=[]forkinsorted(Params.keys () ) :

if(k!='sign ' ) and(k!=' ' ) and(Params[k]isnotnone ) :

ret.append('%s=%s'% ) k,params[k] )

params_str=''.join(ret )

Params_str='%(Params_str ) skey=% ) Partner_key ) s ' % { ' params _ str ' : params _ str,' Partner_}

重新加载(sys ) )。

sys.set default编码(utf8 ) )。

params _ str=hash lib.MD5 (params _ str.encode (' utf-8 ' ).hexdigest () ) )。

sign=params_str.upper (

返回签名

''''

defgetpayurl(self,orderid,openid,goodsPrice,**kwargs ) :

向“”微信支付端发出请求,获取url“”

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。