-支付宝支付
-商户号:须要跟支付宝申请,这个必需要有公司的营业执照(开发人员在开发以前就拿到了商户号)
-appid:开发用的商户的惟一id
-开发人员须要去支付宝官方文档按照步骤一步一步作(有人帮你封装好了)
-沙箱环境(测试环境) 地址:https://openhome.alipay.com/platform/appDaily.htm?tab=info
登陆注册之后能够获得沙箱环境的appid
支付宝网管 https://openapi.alipaydev.com/gateway.do(朝该地址发送请求)
沙箱帐户:提供买家信息和商家信息都是虚拟的
沙箱工具:下载沙箱环境下的虚拟app
-点击设置应用公钥,查看秘钥生成方法,下载秘钥生成工具(运行RSA签名验签工具.bat”(WINDOWS))
-三种秘钥(非对称加密:公钥加密,私钥解密)
-应用私钥(商户私钥):不能外泄
-应用公钥:能够给别人
-支付宝公钥:在支付宝开发平台配置上应用公钥,自动生成支付宝公钥
-在项目中配置两个密钥:
-应用私钥
-支付宝公钥(不是应用公钥,是应用公钥生成的支付宝公钥)
-支付宝支付流程****************************:
-1 生成一个AliPay对象,传入appid,get回调地址(用于页面的跳转),post回调地址(用于最后的检测),
商户私钥(配置在app_private_2048.txt),支付宝公钥(配置在alipay_public_2048.txt)
-商户公钥和私钥是支付宝提供的软件生成的
-支付宝的公钥:在网站上经过商户公钥生成的
-2 调用对象的direct_pay()方法,传入商品描述,商品订单号,商品价格,返回一堆字符串,拼接到支付宝网关的后面
-3 向支付宝网关发送get请求,看到支付页面,用户付款
-4 付款成功,支付宝会有一个get回调,一个post回调(须要用alipay.verify对回调内容进行验签)
-通常get回调用于显示页面
-post回调用于修改订单状态
支付宝返回的数据
{'gmt_create': '2019-04-04 10:31:21',
'charset': 'utf-8',
'gmt_payment': '2019-04-04 10:31:33',
'notify_time': '2019-04-04 10:31:34',
'subject': '充气娃娃',
'sign': 'am0BCP1/GSxhBa11o+YBd4/fZJN1+hLmYgB4WAyX5ep+kQNTEwbzvI6mIqr42c5/Km8+LZRUJ8wbE/X99XLVKIjUiVeFRfbeQD2NBylhdPaOZaO7UpMYKlgVDqvHZ0ic6Cv1Mqk+1z+GknGt+T1h4ST4X7a9AzJSzB/tEKBYJbJGJEKeI3Pu5wmJENAyhOORYeQBkyLCBewCckCuS9+AUP/LMgrO0jb9Cp/qL8y/SqIisIhMGqNZM6kNLeXvJ74gr0fpdtKpKFj5xv/LM9VHQvrDl0jLzv2rAtUl1TahchpbUb/5mjgEBnTOHzBD04ZAmKEUymlSHxvkbFpShakWVQ==', 'buyer_id': '2088102176738683',
'invoice_amount': '1000.00',
'version': '1.0',
'notify_id': '2019040400222103133038681000092328',
'fund_bill_list': '[{"amount":"1000.00","fundChannel":"ALIPAYACCOUNT"}]', '
notify_type': 'trade_status_sync',
'out_trade_no': 'x21554345048.4412248',
'total_amount': '1000.00', 'trade_status': 'TRADE_SUCCESS',
'trade_no': '2019040422001438681000028458',
'auth_app_id': '2016092000554611', 'receipt_amount': '1000.00',
'point_amount': '0.00', 'app_id': '2016092000554611', 'buyer_pay_amount': '1000.00',
'sign_type': 'RSA2', 'seller_id': '2088102176466324'}
须要安装Crypto模块须要使用pip3 install pycryptodome安装
https://www.cnblogs.com/liuqingzheng/articles/10072695.html
-公众号(不能主动与粉丝聊天)
-未认证公众号
-一天只能推送一条
-已认证工做号
-一天推送多条
-服务号(微信推送须要服务号,微信提供了测试的沙箱环境,完成微信推送前提是关注服务号)
-注册服务号须要企业资质(营业执照)
-主动推送消息
-企业号
-企业中使用
-企业中沟通
# 沙箱环境地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
登陆成功之后关注服务号,而后绑定我的帐户(wx_id)
咱们扫的全部二维码本质上都是url地址
-url地址能够转成二维码
-二维码也能够解析出url地址
python后台提供了模块QRcode能够生成二维码
前台js也能够将url转换成二维码
-微信推送的流程:
-1 登录成功,须要用户关注个人服务号(扫描一下二维码)
-2 想让用户把微信惟一id添加到数据库中
-2.1 用url(微信的)地址生成了一个二维码,让用户去扫描(包含回调地址,包含用户惟一id)
-2.2 当用户扫描二维码,向微信服务器发送get请求,用户点确认,微信会回调到我们的/callback/
-2.3 回调该地址,只携带用户的惟一id回来,并无用户微信id
-2.4 向微信一个地址发送请求,去请求用户的微信id,请求回来
-2.5 根据用户惟一id,去修改用户的微信id,完成后,我们数据库就会存入用户的微信id
-3 发送消息
-用用户微信id推送消息(普通消息和模板消息)
-3.1 须要获取token
-3.2 调用发送消息接口,按照数据格式发送过去,就能给用户推送消息了