def paydetail(request): """获取支付信息""" openid = get_openid_from_user(request) #openid = request.openid print "openid: ", openid try: jsApi = JsApi_pub() unifiedOrder = UnifiedOrder_pub() unifiedOrder.setParameter("openid",openid) #商品描述######################## order = create_unpay_order_mobile(request.user, int(request.POST['video_id']) ) money = int(order.price*100) unifiedOrder.setParameter("body", order.name.encode('utf-8')) #商品描述 #out_trade_no = "{0}{1}".format(getRandomStr(), int(timeStamp*100)) out_trade_no = order.order_num unifiedOrder.setParameter("out_trade_no", out_trade_no) #商户订单号 unifiedOrder.setParameter("total_fee", str(money)) #总金额 unifiedOrder.setParameter("notify_url", WxPayConf_pub.NOTIFY_URL) #通知地址 unifiedOrder.setParameter("trade_type", "JSAPI") #交易类型 unifiedOrder.setParameter("attach", "6666") #附件数据,可分辨不同商家(string(127)) prepay_id = unifiedOrder.getPrepayId() jsApi.setPrepayId(prepay_id) jsApiParameters = jsApi.getParameters() jsApiParameters = eval(jsApiParameters) jsApiParameters['order_num'] = out_trade_no except Exception as e: printError("paydetail: " + str(e)) else: jsApiParameters = str(jsApiParameters) print jsApiParameters, type(jsApiParameters) return HttpResponse(jsApiParameters)
def get_wxpay_qrcode(order): outfile = "/static/images/banner.png" unifiedOrder = UnifiedOrder_pub() unifiedOrder.setParameter("body",order.name.encode("utf-8")) unifiedOrder.setParameter("total_fee",str(int(order.price*100)))#str(int(order.price*100))) unifiedOrder.setParameter("out_trade_no",order.order_num) unifiedOrder.setParameter("notify_url",WxPayConf_pub.NOTIFY_URL) unifiedOrder.setParameter("trade_type","NATIVE") result = unifiedOrder.getResult() if result["return_code"] == "SUCCESS": if result["result_code"] == "SUCCESS": code_url = unifiedOrder.result["code_url"] img = generate_qrcode(code_url) APP_PATH = os.path.dirname(os.path.dirname(__file__)) STATIC_PATH = os.path.join(APP_PATH, 'app/static/storage/qrcode/').replace('\\','/') img_name = getRandomStr()+".png" outfile = os.path.join(STATIC_PATH, img_name) img.save(outfile) outfile = '/static/storage/qrcode/'+img_name #base64_code = base64.encode(img) else: print result["err_code"] else: print result["return_msg"] return outfile