Python作为一种多用途编程工具,可以用于Web开发、数据分析、人工智能等。其中,Python也可以被用于监听支付宝的支付通知。
import urllib
import urllib2
import json
import hashlib
import ConfigParser
# 读取配置文件
config = ConfigParser.RawConfigParser()
config.read('config.cfg')
# 获取配置信息
ali_public_key = config.get('alipay', 'ali_public_key')
app_id = config.get('alipay', 'app_id')
app_private_key = config.get('alipay', 'app_private_key')
notify_url = config.get('alipay', 'notify_url')
partner = config.get('alipay', 'partner')
sign_type = config.get('alipay', 'sign_type')
# 监听支付宝支付通知
def alipay_notify(param):
sorted_param = sorted(param.items())
query_string = urllib.urlencode(sorted_param)
sign = hashlib.md5(query_string + app_private_key).hexdigest()
param['sign'] = sign
param['sign_type'] = sign_type
result = urllib2.urlopen(notify_url, urllib.urlencode(param)).read()
result = json.loads(result)
if result['code'] == '10000':
return True
else:
return False代码中使用了Python的urllib、urllib2、json、hashlib等库,实现了对支付宝支付通知的监听。代码首先读取配置文件中的信息,包括支付宝公钥、应用程序ID、应用私钥、通知URL、合作商ID和签名方式等。然后,使用urllib库中的urlencode方法将所有参数进行编码,并使用哈希算法对编码后的参数进行签名。签名后的参数会被发送到支付宝notify_url的接口。接口返回的结果会被解释为JSON格式,从中提取出相应的字段,以判断支付状态是否成功。
本文可能转载于网络公开资源,如果侵犯您的权益,请联系我们删除。
0
