這絕對是混亂的,我結束了查看源位置: 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")
應該工作。希望這可以幫助!
當您將環境從SANDBOX切換到PRODUCTION時,您是否也更改了憑據?沙箱和生產憑證是分開的,不能在其他系統中使用。 – rhldr
是的,這些都是生產憑據,如果我沒有指定環境,我有其他沙盒憑證可以工作。 – kainC