订单生成回调接口

1. 支付回调页支付信息


在这里插入图片描述

  • vue需要把支付凭证传递给django,django把订单状态改为已支付,并在UserCourse表中存储用户购买课程信息
mounted() {
    this.query = this.$route.query
    payment_post(this.query).then((resp) => {
        // ({"code": 999, "msg": "非法请求"})
        this.msg = resp.msg
    })
},

2. goods/views 中写视图函数


class PaymentApi(APIView):

    def post(self, request):
        data = request.data
        # 获取订单对象
        order_obj = Orders.objects.get(order_id=data.get('out_trade_no'))
        # 需要保存支付宝订单信息,支付时间,支付状态
        order_obj.trade_no = data.get('trade_no')
        order_obj.pay_time = data.get('timestamp')
        order_obj.status = 2
        order_obj.save()
        # 获取用户购买的课程对象和当前用户
        course_obj = Course.objects.get(pk=order_obj.goods.course_id)
        user = UserCourse(user=request.user, course=course_obj)
        user.save()
        return Response({"code": 200, "msg": "OK"})

goods/urls 中注册路由


urlpatterns = [
    path('payment/', views.PaymentApi.as_view())         # /goods/payment/
]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值