From 86789ddd870713bdf40bef6e26a130761cc71006 Mon Sep 17 00:00:00 2001 From: zhuhan1236 Date: Tue, 3 Nov 2015 18:20:26 +0800 Subject: [PATCH] fix notify_verify bug caused by urlencode function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 手动拼接GET参数,避免urlencode再转义一次 --- alipay/alipay.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/alipay/alipay.py b/alipay/alipay.py index cf0b6ae..231ffb1 100644 --- a/alipay/alipay.py +++ b/alipay/alipay.py @@ -172,10 +172,14 @@ def notify_verify(post): if settings.ALIPAY_TRANSPORT == 'https': params['service'] = 'notify_verify' gateway = 'https://mapi.alipay.com/gateway.do' + verify_url = gateway + '?service=notify_verify&partner=' + \ + params['partner'] + '¬ify_id=' + params['notify_id'] else: gateway = 'http://notify.alipay.com/trade/notify_query.do' - veryfy_result = urlopen(gateway, urlencode(params)).read() - if veryfy_result.lower().strip() == 'true': + verify_url = gateway + '?partner=' + params['partner'] + \ + '¬ify_id=' + params['notify_id'] + verify_result = urlopen(verify_url).read() + if verify_result.lower().strip() == 'true': return True return False