def wx_userinfo(): json_dict = request.args OpenID = json_dict.get('openid') Token = json_dict.get('access_token') param = {"access_token": Token, "openid": OpenID} r = httpc_util.get(GET_USER_URL, param) Result = r.json() if Result.has_key("errcode") and int(Result["errcode"]) > 0: return jsonify(errcode=Result["errcode"]) Result["timestamp"] = int(time.time()) Result["token"] = md5( str(Result["unionid"]) + str(Result["timestamp"]) + SECRET_KEY) print Result["unionid"], Result["timestamp"], Result["token"] return jsonify(Result)
def wx_share_access_token(): json_dict = request.args AppID = json_dict.get('appid') WXKey = get_wx_key(AppID) WXKey = get_wx_key(AppID) if WXKey: param = { "appid": AppID, "grant_type": "client_credential", "secret": WXKey } r = httpc_util.get(SHARE_URL, param) return jsonify(r.json()) else: return jsonify(errmsg='appid err')
def wx_refresh(): json_dict = request.args AppID = json_dict.get('appid') Token = json_dict.get('refresh_token') WXKey = get_wx_key(AppID) if WXKey: param = { "appid": AppID, "grant_type": "refresh_token", "refresh_token": Token } r = httpc_util.get(REFRESH_TOKEN_URL, param) return jsonify(r.json()) else: return jsonify(errmsg='appid err')
def wx_access(): json_dict = request.args AppID = json_dict.get('appid') Code = json_dict.get('code') WXKey = get_wx_key(AppID) if WXKey: param = { "appid": AppID, "secret": WXKey, "code": Code, "grant_type": "authorization_code" } r = httpc_util.get(GET_TOKEN_URL, param) return jsonify(r.json()) else: return jsonify(errmsg='appid err')
def pre_pay_after_for_zfb(money, channel, pay_channel, data, callback_url): AppID = data["appid"] OrderNo = data["orderno"] PrivateKey = data["private_key"] URL = data["url"] ## 预创建订单成功 payload = { "app_id":AppID, "method":"alipay.trade.precreate", "charset":"utf-8", "sign_type":"RSA2", "timestamp":time_util.formatDateTime(time_util.now_sec()), "version":"1.0", "notify_url":callback_url, "biz_content":json.dumps({ "out_trade_no":OrderNo, "total_amount":"%.2f" % (float(money) / 100), "subject":u"会员充值" }) } ## 重新拼私钥(可能因为提交表单时 把换行符给干掉了) 加上前后一段 private_key = '''-----BEGIN RSA PRIVATE KEY----- %s -----END RSA PRIVATE KEY----- ''' % "\n".join(PrivateKey.split()) payload["sign"] = httpc_util.gen_sign(payload, private_key, lower = None, sign_type = "RSA2") ## 发消息给支付宝产生一条订单 data = httpc_util.get(URL, payload, charset = None) jdata = data.json() res = jdata['alipay_trade_precreate_response'] if res["code"] == "10000": path = qrcode_util.qc(res["qr_code"]) return '<html><body><img src="%s" /></body></html>' % path else: return jsonify(result = "fail", msg = "zfb err")
def get(self, url, data): r = httpc_util.get(self.web_site + url, data, ctype = "json") return r