2017-03-10 75 views
0

任何人都可以告诉我如何将解决方案批处理列表请求的环境从SANDBOX切换到生产?在Authorize.net中将环境设置为生产Python SDK

我四处寻找文档和源代码,我已经得到了最远的是

settledBatchListRequest = apicontractsv1.getSettledBatchListRequest() 
apicontrollersbase.APIOperationBase(settledBatchListRequest).setenvironment(constants.PRODUCTION) 

但我仍然得到一个“无效的凭证”错误

+0

当您将环境从SANDBOX切换到PRODUCTION时,您是否也更改了凭据?沙箱和生产凭证是分开的,不能在其他系统中使用。 – rhldr

+0

是的,这些都是生产凭据,如果我没有指定环境,我有其他沙盒凭证可以工作。 – kainC

回答

0

这绝对是混乱的,我结束了查看源位置: 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") 

应该工作。希望这可以帮助!