def confirmOrder(request): oid = request.POST.get("oid", None) fee = request.POST.get("fee", None) notes = request.POST.get("notes", "") ipaddr = request.POST.get("ipaddr", "127.0.0.1") body = request.POST.get("body", "Unknown") detail = request.POST.get("detail", "Unknown") prepayid = request.POST.get("prepayid", None) if not fee or not oid: return Jsonify({"status":False, "error":"1101", "error_message":u"输入信息不足。"}) oid = int(oid) fee = float(fee) _order = Order.objects.filter(oid=oid) if not _order: return Jsonify({"status":False, "error":"1302", "error_message":u"订单不存在。"}) else: _order = _order[0] _sign = "" for i in range(8): _sign = _sign + ALPHABET[random.randint(0, 62)] _order.signature = _sign if notes: _order.notes = notes if fee != _order.fee: return Jsonify({"status":False, "error":"1303", "fee":fee, "order":_order.toDict(), "error_message":u"订单价格有误, 请重新下单。"}) ##wechat order if fee==0: _order.paid_time=datetime.now() _order.state=1 _order.save() return Jsonify({"status":True, "error":"", "error_message":"", "order":_order.toDict(), "detail":u"会员免运费: 0元。"}) else: _order.state=0 result = unifyOrder(_order.toDict(), body, detail, ipaddr, 0) if not prepayid: try: root = ET.fromstring(result) if root.find("return_code").text == "SUCCESS": prepayid = root.find("prepay_id").text else: return Jsonify({"status":False, "error":"1310", "error_message":u"微信预支付失败,响应失败"}) _order.prepayid = prepayid _order.save() except Exception, e: logger.error(e) logger.error("1311 微信预支付失败, 未知错误") return Jsonify({"status":False, "error":"1311", "error_message":u"微信预支付失败, 未知错误。"}) #为iOS准备调起支付所需的参数 data = iosOrder(prepayid) return Jsonify({"status":True, "error":"", "error_message":"", "order":_order.toDict(), "data":data, "detail":u"同仓存取快递费: 6元。"})
"status": False, "error": "1310", "error_message": u"微信预支付失败,响应失败" }) except Exception, e: logger.error(e) logger.error("1311 wechat order failed") return Jsonify({ "status": False, "error": "1311", "error_message": u"微信预支付失败, 未知错误。" }) _order.prepayid = prepayid _order.save() #为iOS准备调起支付所需的参数 data = iosOrder(prepayid) return Jsonify({ "status": True, "error": "", "error_message": "", "order": model_to_dict(_order), "data": data }) @UserAuthorization def vipConfirm(request): _user = request.user _vip = VIP.objects.filter(vid=_user["vip"]) if _vip: _vip = _vip[0]
result = unifyOrder(model_to_dict(_order), body, detail, ipaddr, 1) prepayid = "" try: root = ET.fromstring(result) if root.find("return_code").text == "SUCCESS": prepayid = root.find("prepay_id").text else: return Jsonify({"status":False, "error":"1310", "error_message":u"微信预支付失败,响应失败"}) except Exception, e: logger.error(e) logger.error("1311 wechat order failed") return Jsonify({"status":False, "error":"1311", "error_message":u"微信预支付失败, 未知错误。"}) _order.prepayid = prepayid _order.save() #为iOS准备调起支付所需的参数 data = iosOrder(prepayid) return Jsonify({"status":True, "error":"", "error_message":"", "order":model_to_dict(_order), "data":data}) @UserAuthorization def vipConfirm(request): _user = request.user _vip = VIP.objects.filter(vid=_user["vip"]) if _vip: _vip = _vip[0] _vip.flush() vip_info = _vip.toDict() else: _vip = None vip_info = {} has_processing_order = False unfinishedOrder = VIPOrder.objects.filter(user_id=_user['uid']).filter(state=2)