python --- alipay
pip install python-alipay-sdk1)、提供两个url 一个是回调地址,一个是支付完成后的需要跳转的地址如果没有公网IP,可以将地址写为None2)、生成秘钥文件(公钥、私钥)在Ubuntu下,直接在终端中输入:openssl进入OpenSSl> genrsa(方式) -out app_private_key.pem(文件名称) <---->生成私钥OpenSSl> genrsa -out app_private_key.pem 2048 OpenSSl> rsa -in app_private_key.pem -pubout -out app_public_key.pem <----> 生成公钥3)、根据拿到的公钥,在支付宝上更换为支付宝的公钥:以便使用支付宝的公钥进行解密# pay_method = 3 ---> 支付宝from alipay import AliPay# 生成支付链接,,,返回给前段,进行跳转def orderpay(request):if request.method == 'POST':user = request.userif not user.is_authenticated():return JsonResponse({'res': 0, 'msg': '用户未登录'})order_id = request.POST.get('order_id')if not order_id:return JsonResponse({'res': 1, 'msg': '无效的订单号'})try:order = OrderInfo.objects.get(user=user, order_id=order_id, order_status=1, pay_method=3)except OrderInfo.DoesNotExist:return JsonResponse({'res': 2, 'msg': '订单不存在'})# 调用支付宝接口app_private_key_string = open(BASE_DIR+'\\order\\app_private_key.pem').read()alipay_public_key_string = open(BASE_DIR+'\\order\\alipay_public_key.pem').read()alipay = AliPay(appid="2016092300576149",app_notify_url=None, # 默认回调urlapp_private_key_string=app_private_key_string,# 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥alipay_public_key_string=alipay_public_key_string,sign_type="RSA2", # RSA 或者 RSA2debug=True # 默认False)total_price = order.product_price+order.transit_pricesubject = "天天生鲜{id}".format(id=order_id)# 电脑网站支付,需要跳转到https://openapi.alipay.com/gateway.do? + order_stringorder_string = alipay.api_alipay_trade_page_pay(out_trade_no=order_id,# Decimal类型需要转化成字符串total_amount=str(total_price),subject=subject,return_url=None,notify_url=None # 可选, 不填则使用默认notify url)pay_url = 'https://openapi.alipaydev.com/gateway.do?' + order_string# 将生成的支付连接返回给前端return JsonResponse({'res': 3, 'pay': pay_url})前段代码--------->:<script>status = $('.oper_btn').attr('data-status')if(status=='待评价'){$('.oper_btn').text('待评价')}$('.oper_btn').click(function () {if(status=='待支付'){csrfmiddlewaretoken = $('input[name="csrfmiddlewaretoken"]').val()order_id = $(this).attr('data-id')params = {csrfmiddlewaretoken, order_id}$.post('/order/orderpay/', params, function (data) {if(data.res==3){window.open(data.pay)// 如果没有使用公网IP,可以主动调用alipay 的查询接口$.post('/order/checkorder/', params, function (data) {if(data.res==3){alert('支付成功');location.reload()}else {alert(data.msg)}})}else {alert(data.msg)}})}else {alert('yizhifu')}})</script># 查询订单状态状态,,,,对于没有使用公网回调的地址,可以主动调用订单的查询接口,查看订单的状态def checkorder(request):user = request.userif not user.is_authenticated():return JsonResponse({'res': 0, 'msg': '用户未登录'})order_id = request.POST.get('order_id')if not order_id:return JsonResponse({'res': 1, 'msg': '无效的订单号'})try:order = OrderInfo.objects.get(user=user, order_id=order_id, order_status=1, pay_method=3)except OrderInfo.DoesNotExist:return JsonResponse({'res': 2, 'msg': '订单不存在'})# 调用支付宝查询接口app_private_key_string = open(BASE_DIR + '\\order\\app_private_key.pem').read()alipay_public_key_string = open(BASE_DIR + '\\order\\alipay_public_key.pem').read()alipay = AliPay(appid="2016092300576149",app_notify_url=None, # 默认回调urlapp_private_key_string=app_private_key_string,# 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥alipay_public_key_string=alipay_public_key_string,sign_type="RSA2", # RSA 或者 RSA2debug=True # 默认False)while True:response = alipay.api_alipay_trade_query(order_id)code = response.get('code')if code == '10000' and response['trade_status'] == 'TRADE_SUCCESS':order.trance_num = response.get('trade_no')order.order_status = 4order.save()return JsonResponse({'res': 3, 'msg': '支付成功'})elif code == '40004' or (code == '10000' and response['trade_status'] == 'WAIT_BUYER_PAY'):# 等待支付continueelse:return JsonResponse({'res': 4, 'msg': '支付失败'})
python --- alipay相关推荐
- python alipay接口文档参考注解
alipay提供的sdk接口支持java.php..net 应用于python中,使用github上的第三方sdk,参考:https://github.com/fzlee/alipay/blob/ma ...
- python alipay 支付
目前有python有两个库支持支付宝支付功能 1.python-alipay-sdk 2.alipay-sdk-python 一般2比较常用,因为使用简洁.且两者不能共存,安装2的话1就会被自动删除: ...
- python - alipay sdk 使用 及 注意点
一. 在 点击跳转 这里拿到自己的 appid 和 支付宝公钥 , 如果想要得到 支付宝的公钥 就需要获取 应用的公钥,具体获取方式 : 获取应用公钥和私钥 应用私钥和支付宝公钥 获取 和 ...
- python支付系统_GitHub - zhuf/alipay_python: 支付宝 alipay python接口,支持担保交易,即时到帐和自动发货接口...
介绍 alipay_python 是支付宝接口的python版本,提供了担保交易,即时到帐和自动发货的接口. fork自这个版本 alipay. 增加了担保交易,确认发货和简单的测试站点(django ...
- python 交易接口_GitHub - fengli/alipay_python: 支付宝 alipay python接口,支持担保交易,即时到帐和自动发货接口...
介绍 alipay_python 是支付宝接口的python版本,提供了担保交易,即时到帐和自动发货的接口. fork自这个版本 alipay. 增加了担保交易,确认发货和简单的测试站点(django ...
- python模拟支付宝扫码登录_GitHub - Jaccorot/alipay_python: 支付宝 alipay python接口,支持担保交易,即时到帐和自动发货接口...
介绍 alipay_python 是支付宝接口的python版本,提供了担保交易,即时到帐和自动发货的接口. fork自这个版本 alipay. 增加了担保交易,确认发货和简单的测试站点(django ...
- python 网页版支付宝 api_GitHub - bluefoxah/alipay_python: 支付宝 alipay python接口,支持担保交易,即时到帐和自动发货接口...
介绍 alipay_python 是支付宝接口的python版本,提供了担保交易,即时到帐和自动发货的接口. fork自这个版本 alipay. 增加了担保交易,确认发货和简单的测试站点(django ...
- alipay支付宝支付的python实现(flask)
1,环境 ubuntu16.04,python3.6, alipay-sdk-python(3.20) 2,安装包 alipay提供了python包,封装了很多api调用.签名验证等功能,直接 pip ...
- appium+python自动化测试教程_Python+Appium实现自动化测试
一.环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK .Android SDK 3.adb环境,path添加E:\Software\Android_SD ...
最新文章
- win7上安装theano keras深度学习框架
- Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍
- 从0到1:构建强大且易用的规则引擎
- 如何查看MySQL的当前存储引擎?
- MvcPager帮助文档 - MvcAjaxOptions 类
- no.2_用绳子计时15分钟
- ZeroMQ--使用jzmq进行编程
- 谷歌浏览器 检查功能_谷歌Chrome浏览器添加新功能,爱”吃“内存有应对之策?...
- 【Elasticsearch】 Kibana 里程碑插件的使用
- 为了在简历上写掌握【Java多线程和并发编程】,做了两万字总结
- MySQL技术内幕 InnoDB存储引擎【一】
- 两个EXCEL对比是完全否相同
- 周赛-mZY寻宝(bfs搜索)
- ArcGIS晕渲图的制作(解决山体阴影问题——平坦地区凸点过于突出)
- matlab中ans的含义
- 查找list中某个元素出现的位置
- 企业如何做新闻软文发布? 软文推广和新闻源发布有何不同之处?
- 谈谈CornerStone这个工具的使用
- 需求评审会如何做才不会沦为形式主义
- 游戏美术3D建模次世代制作流程图文详解
热门文章
- python中的__dict__,__getattr__,__setattr__
- 十六进制七段LED显示译码器 静态显示
- VPS主机适合干什么?
- 【JVM学习笔记】垃圾回收基础篇
- mermaid sequenceDiagram使用指南
- [再寄小读者之数学篇](2014-06-14 自然数集到自身的两个不可交换的双射)
- 黑马pink老师:CSS基础 总结Ⅰ
- 黑龙江农垦科技职业学院喜迎寒假多校联赛2(快乐ak场)蒟弱部分题解
- html视频滑动抖音代码,抖音 - 分享代码,大鱼海棠,片段滚动效果代码!
- Javascript(前端知识)----------基础语法