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相关推荐

  1. python alipay接口文档参考注解

    alipay提供的sdk接口支持java.php..net 应用于python中,使用github上的第三方sdk,参考:https://github.com/fzlee/alipay/blob/ma ...

  2. python alipay 支付

    目前有python有两个库支持支付宝支付功能 1.python-alipay-sdk 2.alipay-sdk-python 一般2比较常用,因为使用简洁.且两者不能共存,安装2的话1就会被自动删除: ...

  3. python - alipay sdk 使用 及 注意点

    一. 在 点击跳转 这里拿到自己的 appid  和  支付宝公钥 ,     如果想要得到 支付宝的公钥 就需要获取 应用的公钥,具体获取方式 : 获取应用公钥和私钥 应用私钥和支付宝公钥 获取 和 ...

  4. python支付系统_GitHub - zhuf/alipay_python: 支付宝 alipay python接口,支持担保交易,即时到帐和自动发货接口...

    介绍 alipay_python 是支付宝接口的python版本,提供了担保交易,即时到帐和自动发货的接口. fork自这个版本 alipay. 增加了担保交易,确认发货和简单的测试站点(django ...

  5. python 交易接口_GitHub - fengli/alipay_python: 支付宝 alipay python接口,支持担保交易,即时到帐和自动发货接口...

    介绍 alipay_python 是支付宝接口的python版本,提供了担保交易,即时到帐和自动发货的接口. fork自这个版本 alipay. 增加了担保交易,确认发货和简单的测试站点(django ...

  6. python模拟支付宝扫码登录_GitHub - Jaccorot/alipay_python: 支付宝 alipay python接口,支持担保交易,即时到帐和自动发货接口...

    介绍 alipay_python 是支付宝接口的python版本,提供了担保交易,即时到帐和自动发货的接口. fork自这个版本 alipay. 增加了担保交易,确认发货和简单的测试站点(django ...

  7. python 网页版支付宝 api_GitHub - bluefoxah/alipay_python: 支付宝 alipay python接口,支持担保交易,即时到帐和自动发货接口...

    介绍 alipay_python 是支付宝接口的python版本,提供了担保交易,即时到帐和自动发货的接口. fork自这个版本 alipay. 增加了担保交易,确认发货和简单的测试站点(django ...

  8. alipay支付宝支付的python实现(flask)

    1,环境 ubuntu16.04,python3.6, alipay-sdk-python(3.20) 2,安装包 alipay提供了python包,封装了很多api调用.签名验证等功能,直接 pip ...

  9. appium+python自动化测试教程_Python+Appium实现自动化测试

    一.环境准备 1.脚本语言:Python3.x IDE:安装Pycharm 2.安装Java JDK .Android SDK 3.adb环境,path添加E:\Software\Android_SD ...

最新文章

  1. win7上安装theano keras深度学习框架
  2. Arduino可穿戴开发入门教程LilyPad和LilyPad Simple的介绍
  3. 从0到1:构建强大且易用的规则引擎
  4. 如何查看MySQL的当前存储引擎?
  5. MvcPager帮助文档 - MvcAjaxOptions 类
  6. no.2_用绳子计时15分钟
  7. ZeroMQ--使用jzmq进行编程
  8. 谷歌浏览器 检查功能_谷歌Chrome浏览器添加新功能,爱”吃“内存有应对之策?...
  9. 【Elasticsearch】 Kibana 里程碑插件的使用
  10. 为了在简历上写掌握【Java多线程和并发编程】,做了两万字总结
  11. MySQL技术内幕 InnoDB存储引擎【一】
  12. 两个EXCEL对比是完全否相同
  13. 周赛-mZY寻宝(bfs搜索)
  14. ArcGIS晕渲图的制作(解决山体阴影问题——平坦地区凸点过于突出)
  15. matlab中ans的含义
  16. 查找list中某个元素出现的位置
  17. 企业如何做新闻软文发布? 软文推广和新闻源发布有何不同之处?
  18. 谈谈CornerStone这个工具的使用
  19. 需求评审会如何做才不会沦为形式主义
  20. 游戏美术3D建模次世代制作流程图文详解

热门文章

  1. python中的__dict__,__getattr__,__setattr__
  2. 十六进制七段LED显示译码器 静态显示
  3. VPS主机适合干什么?
  4. 【JVM学习笔记】垃圾回收基础篇
  5. mermaid sequenceDiagram使用指南
  6. [再寄小读者之数学篇](2014-06-14 自然数集到自身的两个不可交换的双射)
  7. 黑马pink老师:CSS基础 总结Ⅰ
  8. 黑龙江农垦科技职业学院喜迎寒假多校联赛2(快乐ak场)蒟弱部分题解
  9. html视频滑动抖音代码,抖音 - 分享代码,大鱼海棠,片段滚动效果代码!
  10. Javascript(前端知识)----------基础语法