Django实现支付宝沙箱操作,太强了呀( 二 )
alipay = AliPay(appid="2016102500759596",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,# 默认Falseconfig=AliPayConfig(timeout=15)# 可选, 请求超时时间)123456789
3.注释的代码可以去掉# 支付class AlipayView(APIView):def post(self, request):# print(request.data)token = request.data.get('token')count = request.data.get('count')goods_info = request.data.get('goods_info')# print(goods_info)# 订单号 uuid唯一不重复out_trade_no = str(uuid.uuid4())# 订单金额初始total_amount = 0user_info = login_serializer.loads(token)user_id = user_info.get('user_id')# 判断是否是多个id用 , 号分割if goods_info.find(',') != -1:order_list = []for i in goods_info.split(','):print(i)# 循环输出id# # 获取购物车商品数量# goods_count = r3.hget(user_id, i).decode()# # get到等于i的商品# goods_obj = Goods.objects.get(pk=i)# # 计算总价# total_amount += int(goods_obj.price) * int(goods_count)\# 列表添加类型order_list.append(Order(out_trade_no=out_trade_no,goods_id=i,user_id=user_id,goods_num=count,status_id=1,))print(order_list)# 批量添加列表ser = Order.objects.bulk_create(order_list)# ser.save()else:# print(r3.hget(user_id, goods_info))# goods_count = r3.hget(user_id, goods_info).decode()# goods_obj = Goods.objects.get(pk=goods_info)# total_amount += int(goods_obj.price) * int(goods_count)# print(total_amount)# 单个添加ser = OrderModelSer(data=http://kandian.youth.cn/index/{"out_trade_no": out_trade_no,"goods": goods_info,"user": user_id,"goods_num": count,"status": 1})if ser.is_valid():ser.save()else:print(ser.errors)# 主题subject = "京东"# 电脑网站支付 , 需要跳转到 + order_stringorder_string = alipay.api_alipay_trade_page_pay(out_trade_no=out_trade_no,total_amount=count,subject=subject,return_url="",notify_url=""# 可选, 不填则使用默认notify url)# 拼接的数据# print(order_string)pay_url = '' + order_string# 带参数跳转的路由# print(pay_url)return Response({'pay_url': pay_url, 'msg': 'OK', "code": 200})12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m6WYKp5g-1602600230119)(C:\Users\ASUS\AppData\Roaming\Typora\typora-user-images\image-20201013223018379.png)]4.0
# 支付完回调地址class CallBackAlipayView(APIView):def get(self, request):print(request.query_params)print("------------------------------")# 判断是否有数据if request.query_params.get("sign"):# for i in request.query_params.get("out_trade_no"):# print(request.query_params.get("out_trade_no"))# 获取订单号queryset = Order.objects.get(out_trade_no=request.query_params.get("out_trade_no"))# 修改订单状态为已购买局部修改ser = OrderModelSer(instance=queryset, data=http://kandian.youth.cn/index/{"status": 2}, partial=True)if ser.is_valid():ser.save()else:print(ser.errors)return Response({'msg': 'OK', "data": request.query_params})1234567891011121314151617181920
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 可与ASML实现联机!国产光刻机传来喜讯,张绍忠预言或成真?
- 花呗、备用金之后,支付宝又出现一套路,2个月流失400万用户
- 烟台港“管道智脑系统”上线 在国内率先实现原油储运全息智能排产
- 支付宝年账单来了,你可能错失了一套房……
- 央行的“硬钱包”来势汹汹,支付不再需要手机?支付宝、微信慌了
- 华为开始进军海外支付?先给他们点甜头,新加坡成韭菜基地?
- 支付宝遇到“麻烦”了?又一支付巨头崛起,还有美国给它“撑腰”
- 国家发布“铁令”,微信、支付宝始料未及,必须作出整改
- 想实现《曼达洛人》的数字布景吗?索尼模块化屏幕即将开售
- 特朗普还在挣扎?禁支付宝、微信支付等8款中国应用