Добавление transactionSettings к объекту запроса on Authorize.net (использование sdk-python)

Я использую Authorize.net ‘ s native python sdk . В их документации по API показано, что можно вложить параметр следующим образом:

transactionSettings
    setting
        settingName
        settingValue

У меня есть установка ARBCreateSubscriptionRequestобъекта, и я пытаюсь установить duplicateWindowFalse.

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

Это, кажется, не имеет никакого влияния.

То, что я пытаюсь сделать, это переопределить Authorize.net защита по умолчанию для повторяющихся транзакций, потому что мне нужно иметь возможность отправлять несколько подписок для одного пользователя.

Любые мысли о том, как:

(1) правильно установить transactionSettingsи / или

(2) переопределить ошибку дублирования?

2 ответа

  1. Чтобы удалить дубликат защиты окна необходимо установить его на ноль:

    request = apicontractsv1.ARBCreateSubscriptionRequest()
    request.transactionSettings = {'setting': [{'settingName': 'duplicateWindow', 'settingValue': 0}] }
    
  2. Способ, которым я решил это, заключается в том, что у меня был список и словари установлены неправильно. К сожалению, потребовалось много копаться в исходном коде, чтобы понять это, потому что документация была не так ясна, как я надеялся. Несмотря на это, теперь, когда я нашел решение, все хорошо:

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