【发布时间】:2019-11-06 13:34:32
【问题描述】:
我正在处理 Authorize.Net API 上的交易。 我使用的是相同的代码示例,SDK 说为了切换到生产环境,我需要在控制器上设置环境变量。 链接是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()
【问题讨论】:
-
这段代码有效吗?你有错误吗?如果是这样,您会收到什么错误消息?
-
我得到的错误是身份验证错误,因为我正在传递生产用户 ID 和密钥,并且 API 正在 ping 沙箱 api url
-
代码默认命中 SANDBOX API,正如他们在 git hub 上提到的,我想将 PRODUCTION API 传递给控制器。我提到的问题是我不知道如何将值传递给控制器。
-
您的代码似乎是正确的。您是否使用调试器来验证您是否正在执行此代码路径?
-
是的,我这样做了,它仍然使用
sandbox变量而不是production