From 9f8b862b79b1da9b4688a0ce4980021938f5ab3f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 22 Aug 2019 15:23:21 +0800 Subject: [PATCH] 1 --- tools/pay_backend.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/pay_backend.py b/tools/pay_backend.py index 229b92d..eff0ce1 100644 --- a/tools/pay_backend.py +++ b/tools/pay_backend.py @@ -39,6 +39,7 @@ def md5Sign(params, secret, timestamp, connstr = '&', secret_connstr = ':'): if params_str != '' and connstr != '': params_str = params_str[0:-1] str1 = params_str + secret_connstr + str(timestamp) + secret + print(str1) try: m5 = hashlib.md5() m5.update(str1.encode('utf-8')) @@ -46,6 +47,13 @@ def md5Sign(params, secret, timestamp, connstr = '&', secret_connstr = ':'): except Exception as e: info('md5Sign error: ' + str(e)) +def urlencodeParams(params): + return urllib.parse.urlencode(params) + params_str = '' + for key in sorted(params.keys()): + params_str = params_str + key + '=' + urllib.urlencode(str(params[key])) + '&' + return params_str + def getDaySeconds(time_val, incdays): time_zone = 8 dayseconds = int((time_val + time_zone * 3600)/3600/24 + incdays) * 3600 * 24 - 3600 * time_zone; @@ -110,11 +118,13 @@ def sendOneOrder(conf, idx, orderid): 'account_id' : row[1], 'orderid' : row[4], 'itemid' : row[2], + 'itemnum': 1, 'amount' : row[3], } secret = 'fc38349c5d084e920925e614c420be9f' md5signstr = md5Sign(params, secret, timestamp) - url = notifyapi_json[str(row[5])]['notify_url'] + '×tamp=' + str(timestamp) + '&sign=' + md5signstr + url = notifyapi_json[str(row[5])]['notify_url'] + '×tamp=' + str(timestamp) + '&sign=' + md5signstr + \ + '&' + urlencodeParams(params) req = urllib.request.Request(url) data = urllib.request.urlopen(req).read() info(str(data))