将 transactionSettings 添加到 Authorize.net 上的请求对象(使用 sdk-python)

Addition transactionSettings to a request object on Authorize.net (using sdk-python)

我用的是Authorize.net的原生python sdk. In their API documentation,说明可以嵌套一个设置如下:

transactionSettings
    setting
        settingName
        settingValue

我已经设置了一个 ARBCreateSubscriptionRequest 对象,并且正在尝试将 duplicateWindow 设置为 False

request = apicontractsv1.ARBCreateSubscriptionRequest()
request.transactionSettings = {'setting': [{'settingName': 'duplicateWindow', 'settingValue': False}] }

好像没什么影响。

我想做的是覆盖 Authorize.net 对重复交易的默认保护,因为我需要能够为单个用户提交多个订阅。

关于如何做的任何想法:

(1)正确设置transactionSettingsand/or

(2) 重写重复错误?

要删除重复的 window 保护,您需要将其设置为零:

request = apicontractsv1.ARBCreateSubscriptionRequest()
request.transactionSettings = {'setting': [{'settingName': 'duplicateWindow', 'settingValue': 0}] }

我解决这个问题的方法是我的列表和词典设置不正确。不幸的是,由于文档并不像我希望的那样清晰,因此需要大量挖掘源代码才能解决这个问题。无论如何,现在我找到了解决方案,一切都很好:

request.transactionSettings = [{'setting': {'settingName': 'duplicateWindow', 'settingValue': False} }]