开发环境{个人书信后注意PDF获取十套电子文档书}
win10
python 2.7.13 (64位)
Flask (0.12.2)
线上环境
CentOS 6.5
python 2.7.13 (64位)
Flask (0.12.2)
一: 编写后端程序
查看统一的订单界面。这里有两点值得注意。在一个中,参数OpenID是必需的,因为TrasyType=JSAPI;B符号。
生成签名(sign)
a.设置要签名的参数(注意:添加OpenID,否则将导致签名错误)
数据= { AppID”:AppID,'MCHYID':MCHYID,“NoCeNeSTR”:GETZONEXYSTR(),“BoSE”:“测试”,“产品描述”OutuTrasyNo::STR(int(time)。时间()),“订单号”TooTyAuff':'SPBILCREATEYIP':SPBILYCREATEYIP,“NoTIFYYURL”:NoTyjyTuffyNo:“URL”,“附加”:“{ MSG”:“自定义数据”},‘TrutyType’:TrasyType,OpenID(111111111111111111)}
b .根据指定的格式,拼接商人键,然后生成md5
Stringa='&'.Join (["{0} = {1}") string SignTemp=' {0} & key= {1}') string SignTemp=' {0} & key= {1}' The Stringa,Sel.Commerce_key symbol = hashlib.md5 (String SignTemp).
c.签名验证工具(如果看不到调试工具,请替换浏览器内核)
获取prepay_id
将上面生成的MD5添加到数据中。
data[‘sign‘] = md5
b.将数据字典转换为xml,并通过POST提交
Req = urllib2. Request (url, data, header = {'Content-Type': application / xml'}) result = urllib2. urlopen (req, timeout = timeout).
c. 得到prepay_id
在wx.requestPaymentMini程序中生成PaySsignSignatingDescription文档
a .生成参数,这里要注意prepay_id = prepay_id包参数
PaySize_data= {'appId':appId,' timestamp': timestamp, 'nonceStr':nonceStr,'Package':'preaday_id= {0}'. Format (Upay_Id), 'signType':'md5'}
参考生成签名步骤。注意:这里还有一个商人钥匙的马赛克。
5.返回wx.requestPaymentMini程序接口所需的参数
6.支付回调通知
A. WeChat将在POST模式下通知服务器,数据类型是XML。
b .收到通知后应检查数据,然后返回信息,微信,注意:这里以XML方式返回数据
‘return_code‘: ‘SUCCESS‘,‘return_msg‘: ‘OK‘
二:编写小程序
1.新建一个快速项目
2.没有什么困难,直接对代码,通过上面的界面返回迷你程序所需的参数(警告:支付接口可以在本地测试)
Wx.request ({url:' http://127.0.0.1:5000/wxpay/pay head: {'content-type':'application/json'}, success:function (res) {wx.requestPayment ({timeStamp:res.data.timeStamp,nonceStr:res.data.nonceStr,package:res.data.package,signType:res.data.signType,paySign:res.data.paySign,'success':function (res) {console.log (res)},' fail':function (res) {console.log (res)})
分享到: