如何将生产变量传递给Authorize.Net API?
How to pass the production variable to Authorize.Net API?
我正在努力获取 Authorize.Net API 上的交易。
我正在使用相同的代码示例,SDK 说为了切换到生产环境,我需要在控制器上设置环境变量。
link 是 here。我不确定我应该在哪里添加这行代码
createtransactioncontroller.setenvironment(constants.PRODUCTION)
其余代码是here
这样使用控制器正确吗
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('https://api2.authorize.net/xml/v1/request.api') 对其进行硬编码
但如果你不这样做,那就让它成为 constants.PRODUCTION
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']
希望对您有所帮助。
我正在努力获取 Authorize.Net API 上的交易。 我正在使用相同的代码示例,SDK 说为了切换到生产环境,我需要在控制器上设置环境变量。 link 是 here。我不确定我应该在哪里添加这行代码
createtransactioncontroller.setenvironment(constants.PRODUCTION)
其余代码是here
这样使用控制器正确吗
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('https://api2.authorize.net/xml/v1/request.api') 对其进行硬编码 但如果你不这样做,那就让它成为 constants.PRODUCTION
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']
希望对您有所帮助。