【问题标题】:Set environment to production in Authorize.net Python SDK在 Authorize.net Python SDK 中将环境设置为生产环境
【发布时间】:2023-04-09 05:01:02
【问题描述】:

谁能告诉我如何将已解决的批次列表请求的环境从 SANDBOX 切换到 PRODUCTION?

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

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

但我仍然收到“无效凭据”错误

【问题讨论】:

  • 当您将环境从 SANDBOX 切换到 PRODUCTION 时,您是否也更改了您的凭据?沙盒和生产凭据是分开的,不能在其他系统中使用。
  • 是的,这些是生产凭据,如果我不指定环境,我还有其他沙盒凭据可以工作。

标签: python authorize.net


【解决方案1】:

这绝对令人困惑,我最终在这里查看了源代码: 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)

假设您正确地创建了控制器,添加这一行:

from authorizenet.constants import constants

或将 setenvironment(constants.PRODUCTION) 替换为:

setenvironment("https://api2.authorize.net/xml/v1/request.api")

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

【讨论】:

  • 这个解决方案非常适合我。在此之前,我将authorizenet/apicontrollersbase.py 中的第235 行从APIOperationBase.__environment = constants.SANDBOX 更改为APIOperationBase.__environment = constants.PRODUCTION。这不是理想的,但正在工作。
猜你喜欢
  • 1970-01-01
  • 2020-06-24
  • 1970-01-01
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 2017-08-31
  • 2019-10-14
  • 1970-01-01
相关资源
最近更新 更多