Python 3.x 如何传递生产变量以授权.Net API?

Python 3.x 如何传递生产变量以授权.Net API?,python-3.x,authorize.net,Python 3.x,Authorize.net,我正在授权.NETAPI上获取事务。 我使用相同的代码示例,SDK说为了切换到生产环境,我需要在控制器上设置环境变量。 链接是。我不确定我应该在哪里添加这行代码 createtransactioncontroller.setenvironment(constants.PRODUCTION) 代码的其余部分是 这是使用控制器的正确方法吗 import os import sys import imp from datetime import datetime, timedelta from a

我正在授权.NETAPI上获取事务。 我使用相同的代码示例,SDK说为了切换到生产环境,我需要在控制器上设置环境变量。 链接是。我不确定我应该在哪里添加这行代码

createtransactioncontroller.setenvironment(constants.PRODUCTION)
代码的其余部分是

这是使用控制器的正确方法吗

import os
import sys
import imp

from datetime import datetime, timedelta
from authorizenet import apicontractsv1
from authorizenet.apicontrollers import getSettledBatchListController
from authorizenet.apicontrollers import createTransactionController
constants = imp.load_source('modulename', 'constants.py')



def get_settled_batch_list():
    """get settled batch list"""
    createTransactionController.setenvironment(constants.PRODUCTION)
    merchantAuth = apicontractsv1.merchantAuthenticationType()

我也有同样的错误,我修复它的方法是将文件constants.py更改为credentials.py,然后将变量更改为MY_constants,但如果需要,可以将它们更改为凭据

如果它在那一点上不起作用,您可以尝试用createtransactioncontroller.setenvironment(“”)硬编码它 但如果你不这样做,那就让它成为常量

    createtransactioncontroller = createTransactionController(createtransactionrequest)
    createtransactioncontroller.setenvironment(constants.PRODUCTION)
    # or createtransactioncontroller.setenvironment('https://api2.authorize.net/xml/v1/request.api')
    createtransactioncontroller.execute()
我使用字典作为凭证(在你的例子中是常量),所以我的凭证看起来有点不同

    import imp
    import os
    import sys
    import importlib
    from authorizenet.constants import constants
    from authorizenet import apicontractsv1
    from authorizenet.apicontrollers import createTransactionController

    from .credentials import MY_CONSTANTS

# retrieved from the constants file
merchantAuth = apicontractsv1.merchantAuthenticationType()
merchantAuth.name = MY_CONSTANTS['apiLoginId']
merchantAuth.transactionKey = MY_CONSTANTS['transactionKey']

我希望这对您有所帮助。

这段代码有效吗?你有错误吗?如果是这样,您会收到什么错误消息?我收到的错误是身份验证错误,因为我正在传递生产用户ID和密钥,API正在ping沙盒API URL。默认情况下,代码会命中沙盒API,正如他们在git hub上提到的,我想将生产API传递给控制器。我提到的问题是,我不知道如何将值传递给控制器。您的代码似乎是正确的。您是否使用了调试器来验证您是否正在执行此代码路径?是的,我这样做了,它仍然使用
sandbox
变量,而不是
production