支付宝支付
-支付宝支付 -商户号:需要跟支付宝申请,这个必须要有公司的营业执照(开发人员在开发之前就拿到了商户号) -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安装

更多精彩