支付宝支付与微信推送
支付宝支付流程:
-项目中使用支付宝支付: -pay.py类放到项目中 -修改appid,post回调地址,get回调地址,应用私钥,支付宝公钥(在支付宝开发平台生成),通过这些参数生成一个AliPay的对象 -query_params = alipay.direct_pay( subject="充气娃娃", # 商品简单描述 out_trade_no="x2" + str(time.time()), # 商户订单号 total_amount=money, # 交易金额(单位: 元 保留俩位小数) ), -pay_url = "https://openapi.alipaydev.com/gateway.do?{}".format(query_params),向这个地址发get请求 -一旦支付成功:支付宝会发一个get请求(一般用于页面显示),一个post请求(一般用户修改订单状态)
支付宝支付整个流程: -get请求到输入支付金额页面---->点击去付款按钮,发送post请求---->返回支付宝的url地址--->浏览器向这个地址发get请求---->用户付款,付款成功 -一个用于接受回调的视图函数,用户支付成功,支付宝会回调(get,post),通常post用于修改订单信息,get用于页面支付成功的显示
微信推送流程:
微信推送流程: -用户需要关注我 -需要诱导用户把openid存到我的数据库中 -生成一个微信地址的二维码(放了一个回调地址) -用户扫描二维码,朝该地址发请求,用户一旦点击允许,微信会朝回调地址发送请求,携带一些参数(但是这些参数中没有openid) -服务器再次向微信服务器发送请求,携带code,请求回用户的openid,把openid存到自己的数据库 -发消息 -先要获取一个access_token,获取用户openid -发送消息,需要携带者两个东西,给指定的人发送消息(可以发模板消息,可以发普通消息)