zoukankan      html  css  js  c++  java
  • 6.订单支付回调接口

    1.订单支付回调接口

    1.1 goods/urls.py中添加路由

    urlpatterns = [
        path('peyment/', views.PayMentView.as_view()),  # /goods/peyment/
    ]
    1.2 goods/views.py中写视图函数
    from user.models import Vip
    import datetime
    from course.models import UserCourse
    class PayMentView(APIView):
        permission_classes = (AllowAny,)
    ​
        def post(self, request):
            # 1. 获取了支付宝返回的数据
            data = request.data
            # 2.修改订单信息为已支付状态
            sign = data.pop('sign')
            """
            "sign": "Sv......kEoobbA==", 
            """
            order = Orders.objects.get(order_id=data['out_trade_no'])
            order.trade_no = data['trade_no']
            order.pay_time = data['timestamp']
            order.status = 2
            order.save()
            # 3. 处理用户购买课程流程
            # 3.1 给 UserCourse 表增加 购买课程
            # goods = order.goods
            user = order.user
            course = order.goods.course
            UserCourse.objects.create(user=user,course=course)
            return Response({"code": 0, "msg": "购买成功"})
     
    http://127.0.0.1:8888/payment/callback/?
    charset=utf-8&
    out_trade_no=SYL2020110906171516885&
    method=alipay.trade.page.pay.return&
    total_amount=44.00&
    sign=TzUZHR7Txk%2FjA9b%2BP5qASqoYpUB2QcZPYleTdFJu%2FBMlZvmh%2FwGg6sSHE02S2unNeYH77I8ojnqfatty47crle9ApjiuRNc8Gcr8vadvQbN693tu1stS1ouuw3UuqNYB4adJWCIPTNSFq%2Fq%2B3wO0Mq0G4aULjTNT2OcZNeQP2PgCUGGRdmeBnsVylvjxsIdGeJVA8JEK3ZYHdGCfBDuXiqE5CAKiVWy%2FLyWXPde6QpsO9vUkmyV3L5iByUbL3%2B11Yoz7PNzaYpVT0wxwfX9bYcVYjE4frbSLgLoEccNcKRC3Pro%2BhgAjP7TJGBe1MdrEMZ17pReC2GVhfYUrf7XT3A%3D%3D&
    trade_no=2020110922001428980501074538&
    auth_app_id=2016101800716047&version=1.0&
    app_id=2016101800716047&
    sign_type=RSA2&
    seller_id=2088102180143385&
    timestamp=2020-11-09%2014%3A17%3A39
     
  • 相关阅读:
    Django的mode的分组查询和聚合查询和F查询和Q查询
    Django的models操作
    django复习--学校管理系统用到的知识点梳理
    django做form表单的数据验证
    一个不错的git资源站点
    php异常处理
    laravel自定义验证
    docker从容器中怎么访问宿主机
    laravel 之jwt认证使用详解
    laravel更改默认的登录密码加密方式
  • 原文地址:https://www.cnblogs.com/gaodenghan/p/13957943.html
Copyright © 2011-2022 走看看