这绝对是混乱的,我结束了查看源位置: https://github.com/AuthorizeNet/sdk-python/blob/master/authorizenet/constants.py
这应有助于:
>>> from authorizenet.constants import constants
>>> constants.PRODUCTION
'https://api2.authorize.net/xml/v1/request.api'
>>> constants.SANDBOX
'https://apitest.authorize.net/xml/v1/request.api'
最终,我通常最终会像这样在我的配置文件设置这些:
生产:
AUTH_NET_ENVIRONMENT = "https://api2.authorize.net/xml/v1/request.api"
开发:
AUTH_NET_ENVIRONMENT = "https://apitest.authorize.net/xml/v1/request.api"
然后在你的控制器:
controller.setenvironment(settings.AUTH_NET_ENVIRONMENT)
假设您正在创建控制器cor rectly,加入这一行:
from authorizenet.constants import constants
或更换setenvironment(constants.PRODUCTION)其中:
setenvironment("https://api2.authorize.net/xml/v1/request.api")
应该工作。希望这可以帮助!
当您将环境从SANDBOX切换到PRODUCTION时,您是否也更改了凭据?沙箱和生产凭证是分开的,不能在其他系统中使用。 – rhldr
是的,这些都是生产凭据,如果我没有指定环境,我有其他沙盒凭证可以工作。 – kainC