django项目对接支付宝支付接口的时候报错如下:
debug=settings.ALIPAY_DEBUG
TypeError: __init__() got an unexpected keyword argument 'app_private_key_path
代码如下
# 创建支付宝支付接口的sdk对象
alipay = AliPay( # 传入公共参数,对接任何接口都要传递的
appid=settings.ALIPAY_APPID, # 应用id
app_notify_url=None, # 默认回调url,若采用同步通知则不传
# 应用的私钥和公钥路径
app_private_key_path=os.path.join(os.path.dirname(os.path.abspath(__file__)), "keys/app_private_key.pem"),
alipay_public_key_path=os.path.join(os.path.dirname(os.path.abspath(__file__)), "keys/alipay_public_key.pem"),
sign_type="RSA2",
debug=settings.ALIPAY_DEBUG
)
原因是我用的python-alipay-sdk是最新的3.0.4,我写的代码适用于3.0之前版本,所以出错。有两种方法解决:
一是卸载掉原先的sdk,安装低版本的python-alipay-sdk。
另一种方法是改自己的代码,原作者有提供3.0版本的初始化例子