fortis-python-sdk 1.0.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (699) hide show
  1. fortis_python_sdk-1.0.0.dist-info/METADATA +183 -0
  2. fortis_python_sdk-1.0.0.dist-info/RECORD +699 -0
  3. fortis_python_sdk-1.0.0.dist-info/WHEEL +5 -0
  4. fortis_python_sdk-1.0.0.dist-info/licenses/LICENSE +28 -0
  5. fortis_python_sdk-1.0.0.dist-info/top_level.txt +1 -0
  6. fortisapi/__init__.py +12 -0
  7. fortisapi/api_helper.py +19 -0
  8. fortisapi/configuration.py +294 -0
  9. fortisapi/controllers/__init__.py +40 -0
  10. fortisapi/controllers/apple_pay_validate_merchant_controller.py +84 -0
  11. fortisapi/controllers/async_processing_controller.py +78 -0
  12. fortisapi/controllers/base_controller.py +67 -0
  13. fortisapi/controllers/batches_controller.py +179 -0
  14. fortisapi/controllers/calculate_surcharge_controller.py +76 -0
  15. fortisapi/controllers/contacts_controller.py +398 -0
  16. fortisapi/controllers/declined_recurring_transactions_controller.py +326 -0
  17. fortisapi/controllers/device_terms_controller.py +242 -0
  18. fortisapi/controllers/elements_controller.py +129 -0
  19. fortisapi/controllers/enterprise_link_redirect_controller.py +81 -0
  20. fortisapi/controllers/full_boarding_controller.py +85 -0
  21. fortisapi/controllers/level_3_data_controller.py +219 -0
  22. fortisapi/controllers/locations_controller.py +478 -0
  23. fortisapi/controllers/m_3_ds_authentication_controller.py +90 -0
  24. fortisapi/controllers/m_3_ds_transactions_controller.py +84 -0
  25. fortisapi/controllers/merchant_deposits_controller.py +295 -0
  26. fortisapi/controllers/merchant_details_controller.py +82 -0
  27. fortisapi/controllers/on_boarding_controller.py +100 -0
  28. fortisapi/controllers/paylinks_controller.py +396 -0
  29. fortisapi/controllers/payment_card_reader_token_controller.py +76 -0
  30. fortisapi/controllers/quick_invoices_controller.py +531 -0
  31. fortisapi/controllers/recurring_controller.py +545 -0
  32. fortisapi/controllers/reports_controller.py +209 -0
  33. fortisapi/controllers/signatures_controller.py +249 -0
  34. fortisapi/controllers/tags_controller.py +328 -0
  35. fortisapi/controllers/terminals_controller.py +304 -0
  36. fortisapi/controllers/tickets_controller.py +249 -0
  37. fortisapi/controllers/tokens_controller.py +679 -0
  38. fortisapi/controllers/transaction_ach_retries_controller.py +250 -0
  39. fortisapi/controllers/transactions_ach_controller.py +398 -0
  40. fortisapi/controllers/transactions_cash_controller.py +123 -0
  41. fortisapi/controllers/transactions_credit_card_controller.py +1796 -0
  42. fortisapi/controllers/transactions_ebt_card_controller.py +147 -0
  43. fortisapi/controllers/transactions_read_controller.py +248 -0
  44. fortisapi/controllers/transactions_updates_controller.py +435 -0
  45. fortisapi/controllers/webhooks_controller.py +493 -0
  46. fortisapi/exceptions/__init__.py +8 -0
  47. fortisapi/exceptions/api_exception.py +36 -0
  48. fortisapi/exceptions/response_401_token_exception.py +77 -0
  49. fortisapi/exceptions/response_412_exception.py +109 -0
  50. fortisapi/exceptions/response_error_exception.py +109 -0
  51. fortisapi/fortisapi_client.py +360 -0
  52. fortisapi/http/__init__.py +11 -0
  53. fortisapi/http/auth/__init__.py +8 -0
  54. fortisapi/http/auth/access_token.py +100 -0
  55. fortisapi/http/auth/developer_id.py +100 -0
  56. fortisapi/http/auth/user_api_key.py +100 -0
  57. fortisapi/http/auth/user_id.py +100 -0
  58. fortisapi/http/http_call_back.py +20 -0
  59. fortisapi/http/http_client_provider.py +23 -0
  60. fortisapi/http/http_method_enum.py +25 -0
  61. fortisapi/http/http_request.py +55 -0
  62. fortisapi/http/http_response.py +45 -0
  63. fortisapi/http/proxy_settings.py +50 -0
  64. fortisapi/models/__init__.py +636 -0
  65. fortisapi/models/account_info.py +519 -0
  66. fortisapi/models/account_type_12_enum.py +47 -0
  67. fortisapi/models/account_type_13_enum.py +51 -0
  68. fortisapi/models/account_type_16_enum.py +51 -0
  69. fortisapi/models/account_type_enum.py +83 -0
  70. fortisapi/models/account_vault.py +1408 -0
  71. fortisapi/models/account_vault_cau_log.py +201 -0
  72. fortisapi/models/account_vault_cau_product_transaction.py +754 -0
  73. fortisapi/models/ach_product_transaction.py +3048 -0
  74. fortisapi/models/ach_sec_code_1_enum.py +59 -0
  75. fortisapi/models/ach_sec_code_31_enum.py +61 -0
  76. fortisapi/models/ach_sec_code_3_enum.py +59 -0
  77. fortisapi/models/ach_sec_code_enum.py +67 -0
  78. fortisapi/models/acs_challenge_mandated_enum.py +52 -0
  79. fortisapi/models/action_enum.py +70 -0
  80. fortisapi/models/active_recurring.py +975 -0
  81. fortisapi/models/additional_access.py +102 -0
  82. fortisapi/models/additional_amount.py +201 -0
  83. fortisapi/models/addon.py +222 -0
  84. fortisapi/models/addon_transaction_type_enum.py +57 -0
  85. fortisapi/models/address.py +205 -0
  86. fortisapi/models/address_1.py +228 -0
  87. fortisapi/models/address_2.py +204 -0
  88. fortisapi/models/address_71.py +186 -0
  89. fortisapi/models/address_match_enum.py +54 -0
  90. fortisapi/models/address_type_enum.py +50 -0
  91. fortisapi/models/all_tag.py +194 -0
  92. fortisapi/models/alt_bank_account.py +180 -0
  93. fortisapi/models/amount_ind_enum.py +121 -0
  94. fortisapi/models/app_delivery_enum.py +50 -0
  95. fortisapi/models/auth_currency_enum.py +168 -0
  96. fortisapi/models/avs_enum.py +56 -0
  97. fortisapi/models/balance.py +154 -0
  98. fortisapi/models/bank_account.py +156 -0
  99. fortisapi/models/bank_account_1.py +186 -0
  100. fortisapi/models/batch_risk_config.py +132 -0
  101. fortisapi/models/billing_address.py +233 -0
  102. fortisapi/models/billing_address_1.py +258 -0
  103. fortisapi/models/billing_address_24.py +263 -0
  104. fortisapi/models/billing_address_5.py +155 -0
  105. fortisapi/models/body.py +134 -0
  106. fortisapi/models/branding_domain.py +867 -0
  107. fortisapi/models/branding_domain_1.py +867 -0
  108. fortisapi/models/broad_info.py +241 -0
  109. fortisapi/models/browser_information.py +401 -0
  110. fortisapi/models/business_category_enum.py +77 -0
  111. fortisapi/models/business_type_enum.py +365 -0
  112. fortisapi/models/cardholder.py +324 -0
  113. fortisapi/models/cardholder_account.py +211 -0
  114. fortisapi/models/category_enum.py +133 -0
  115. fortisapi/models/cau_subscribe_type_code_enum.py +50 -0
  116. fortisapi/models/cau_subscribe_type_id_enum.py +50 -0
  117. fortisapi/models/cau_summary_status_id_enum.py +53 -0
  118. fortisapi/models/cc_product_transaction.py +3048 -0
  119. fortisapi/models/ch_acc_age_ind_enum.py +66 -0
  120. fortisapi/models/ch_acc_change_ind_enum.py +63 -0
  121. fortisapi/models/ch_acc_pw_change_ind_enum.py +67 -0
  122. fortisapi/models/challenge_message_extension.py +177 -0
  123. fortisapi/models/challenge_window_size_enum.py +73 -0
  124. fortisapi/models/changelog.py +280 -0
  125. fortisapi/models/changelog_detail.py +178 -0
  126. fortisapi/models/children.py +822 -0
  127. fortisapi/models/communication_type_enum.py +50 -0
  128. fortisapi/models/conditions.py +125 -0
  129. fortisapi/models/conditions_18.py +146 -0
  130. fortisapi/models/conditions_181.py +146 -0
  131. fortisapi/models/conditions_191.py +146 -0
  132. fortisapi/models/conditions_27.py +125 -0
  133. fortisapi/models/conditions_4.py +146 -0
  134. fortisapi/models/conditions_41.py +146 -0
  135. fortisapi/models/conditions_42.py +146 -0
  136. fortisapi/models/conditions_43.py +146 -0
  137. fortisapi/models/contact.py +179 -0
  138. fortisapi/models/contact_1.py +822 -0
  139. fortisapi/models/contact_9.py +169 -0
  140. fortisapi/models/contact_user_default_entry_page_enum.py +59 -0
  141. fortisapi/models/context.py +125 -0
  142. fortisapi/models/country_enum.py +47 -0
  143. fortisapi/models/created_user.py +1197 -0
  144. fortisapi/models/currency_code_enum.py +186 -0
  145. fortisapi/models/currency_type.py +131 -0
  146. fortisapi/models/data.py +225 -0
  147. fortisapi/models/data_1.py +105 -0
  148. fortisapi/models/data_10.py +1283 -0
  149. fortisapi/models/data_11.py +948 -0
  150. fortisapi/models/data_12.py +369 -0
  151. fortisapi/models/data_13.py +263 -0
  152. fortisapi/models/data_14.py +552 -0
  153. fortisapi/models/data_15.py +102 -0
  154. fortisapi/models/data_16.py +930 -0
  155. fortisapi/models/data_17.py +920 -0
  156. fortisapi/models/data_18.py +102 -0
  157. fortisapi/models/data_19.py +631 -0
  158. fortisapi/models/data_2.py +1134 -0
  159. fortisapi/models/data_20.py +1657 -0
  160. fortisapi/models/data_21.py +223 -0
  161. fortisapi/models/data_22.py +1341 -0
  162. fortisapi/models/data_23.py +245 -0
  163. fortisapi/models/data_24.py +219 -0
  164. fortisapi/models/data_25.py +1456 -0
  165. fortisapi/models/data_26.py +376 -0
  166. fortisapi/models/data_27.py +1681 -0
  167. fortisapi/models/data_28.py +380 -0
  168. fortisapi/models/data_29.py +4233 -0
  169. fortisapi/models/data_3.py +296 -0
  170. fortisapi/models/data_30.py +421 -0
  171. fortisapi/models/data_31.py +150 -0
  172. fortisapi/models/data_34.py +103 -0
  173. fortisapi/models/data_35.py +259 -0
  174. fortisapi/models/data_36.py +537 -0
  175. fortisapi/models/data_4.py +482 -0
  176. fortisapi/models/data_5.py +171 -0
  177. fortisapi/models/data_6.py +469 -0
  178. fortisapi/models/data_7.py +230 -0
  179. fortisapi/models/data_8.py +616 -0
  180. fortisapi/models/data_9.py +129 -0
  181. fortisapi/models/debit_credit_enum.py +48 -0
  182. fortisapi/models/declined_recurring_notification.py +251 -0
  183. fortisapi/models/default_transaction_type_enum.py +50 -0
  184. fortisapi/models/delivery_method_enum.py +61 -0
  185. fortisapi/models/delivery_timeframe_enum.py +61 -0
  186. fortisapi/models/deposit_type_enum.py +50 -0
  187. fortisapi/models/detail.py +173 -0
  188. fortisapi/models/detail_1.py +323 -0
  189. fortisapi/models/detail_2.py +273 -0
  190. fortisapi/models/developer_company.py +270 -0
  191. fortisapi/models/device.py +123 -0
  192. fortisapi/models/device_binding_status_enum.py +373 -0
  193. fortisapi/models/device_channel_enum.py +51 -0
  194. fortisapi/models/document.py +115 -0
  195. fortisapi/models/e_format_enum.py +62 -0
  196. fortisapi/models/ebt_plan_enum.py +50 -0
  197. fortisapi/models/ebt_type_enum.py +61 -0
  198. fortisapi/models/email_blacklist.py +178 -0
  199. fortisapi/models/email_enum.py +47 -0
  200. fortisapi/models/emv_receipt_data.py +244 -0
  201. fortisapi/models/entry_mode_id_enum.py +73 -0
  202. fortisapi/models/expand_108_enum.py +48 -0
  203. fortisapi/models/expand_10_enum.py +42 -0
  204. fortisapi/models/expand_11_enum.py +99 -0
  205. fortisapi/models/expand_15_enum.py +42 -0
  206. fortisapi/models/expand_17_enum.py +96 -0
  207. fortisapi/models/expand_18_enum.py +84 -0
  208. fortisapi/models/expand_1_enum.py +75 -0
  209. fortisapi/models/expand_26_enum.py +87 -0
  210. fortisapi/models/expand_34_enum.py +42 -0
  211. fortisapi/models/expand_37_enum.py +42 -0
  212. fortisapi/models/expand_40_enum.py +63 -0
  213. fortisapi/models/expand_44_enum.py +48 -0
  214. fortisapi/models/expand_47_enum.py +69 -0
  215. fortisapi/models/expand_57_enum.py +54 -0
  216. fortisapi/models/expand_5_enum.py +48 -0
  217. fortisapi/models/expand_60_enum.py +171 -0
  218. fortisapi/models/expand_8_enum.py +57 -0
  219. fortisapi/models/expand_enum.py +51 -0
  220. fortisapi/models/field.py +125 -0
  221. fortisapi/models/field_20.py +267 -0
  222. fortisapi/models/field_27_enum.py +129 -0
  223. fortisapi/models/field_28_enum.py +168 -0
  224. fortisapi/models/field_30_enum.py +75 -0
  225. fortisapi/models/field_31_enum.py +87 -0
  226. fortisapi/models/field_33_enum.py +183 -0
  227. fortisapi/models/field_34_enum.py +195 -0
  228. fortisapi/models/field_35_enum.py +180 -0
  229. fortisapi/models/field_36_enum.py +192 -0
  230. fortisapi/models/field_37_enum.py +102 -0
  231. fortisapi/models/field_39_enum.py +186 -0
  232. fortisapi/models/field_41_enum.py +237 -0
  233. fortisapi/models/field_43_enum.py +198 -0
  234. fortisapi/models/field_45_enum.py +78 -0
  235. fortisapi/models/field_46_enum.py +126 -0
  236. fortisapi/models/field_47_enum.py +60 -0
  237. fortisapi/models/field_49_enum.py +57 -0
  238. fortisapi/models/field_51_enum.py +210 -0
  239. fortisapi/models/field_53_enum.py +84 -0
  240. fortisapi/models/field_55_enum.py +231 -0
  241. fortisapi/models/field_57_enum.py +75 -0
  242. fortisapi/models/field_59_enum.py +510 -0
  243. fortisapi/models/field_configuration.py +202 -0
  244. fortisapi/models/file.py +412 -0
  245. fortisapi/models/file_2.py +125 -0
  246. fortisapi/models/file_5.py +130 -0
  247. fortisapi/models/filter_by.py +171 -0
  248. fortisapi/models/footer.py +134 -0
  249. fortisapi/models/forecast.py +250 -0
  250. fortisapi/models/format_1_enum.py +47 -0
  251. fortisapi/models/format_enum.py +47 -0
  252. fortisapi/models/header.py +134 -0
  253. fortisapi/models/helppage.py +270 -0
  254. fortisapi/models/home_phone.py +130 -0
  255. fortisapi/models/hosted_payment_page.py +558 -0
  256. fortisapi/models/identity_verification.py +183 -0
  257. fortisapi/models/identity_verification_2.py +183 -0
  258. fortisapi/models/identity_verification_27.py +165 -0
  259. fortisapi/models/idtype_enum.py +47 -0
  260. fortisapi/models/iias_ind_enum.py +64 -0
  261. fortisapi/models/industry_type_enum.py +59 -0
  262. fortisapi/models/initiation_type_enum.py +92 -0
  263. fortisapi/models/interval_type_enum.py +50 -0
  264. fortisapi/models/item_list.py +125 -0
  265. fortisapi/models/item_list_4.py +99 -0
  266. fortisapi/models/item_list_5.py +130 -0
  267. fortisapi/models/joi.py +104 -0
  268. fortisapi/models/joi_18.py +111 -0
  269. fortisapi/models/joi_19.py +111 -0
  270. fortisapi/models/joi_27.py +104 -0
  271. fortisapi/models/joi_4.py +110 -0
  272. fortisapi/models/kyc_response_object.py +101 -0
  273. fortisapi/models/level_3_data.py +481 -0
  274. fortisapi/models/level_3_data_5.py +324 -0
  275. fortisapi/models/level_3_data_6.py +469 -0
  276. fortisapi/models/level_3_default.py +481 -0
  277. fortisapi/models/line_item.py +450 -0
  278. fortisapi/models/line_item_13.py +449 -0
  279. fortisapi/models/line_item_19.py +360 -0
  280. fortisapi/models/line_item_20.py +273 -0
  281. fortisapi/models/links.py +196 -0
  282. fortisapi/models/list.py +650 -0
  283. fortisapi/models/list_1.py +1134 -0
  284. fortisapi/models/list_10.py +1657 -0
  285. fortisapi/models/list_11.py +1341 -0
  286. fortisapi/models/list_12.py +336 -0
  287. fortisapi/models/list_13.py +731 -0
  288. fortisapi/models/list_14.py +245 -0
  289. fortisapi/models/list_15.py +219 -0
  290. fortisapi/models/list_16.py +1456 -0
  291. fortisapi/models/list_17.py +376 -0
  292. fortisapi/models/list_18.py +1681 -0
  293. fortisapi/models/list_19.py +380 -0
  294. fortisapi/models/list_20.py +4233 -0
  295. fortisapi/models/list_3.py +296 -0
  296. fortisapi/models/list_4.py +469 -0
  297. fortisapi/models/list_5.py +948 -0
  298. fortisapi/models/list_6.py +1283 -0
  299. fortisapi/models/list_8.py +552 -0
  300. fortisapi/models/list_9.py +920 -0
  301. fortisapi/models/location.py +756 -0
  302. fortisapi/models/location_18.py +217 -0
  303. fortisapi/models/location_5.py +227 -0
  304. fortisapi/models/location_billing_account.py +509 -0
  305. fortisapi/models/location_type_26_enum.py +51 -0
  306. fortisapi/models/location_type_enum.py +50 -0
  307. fortisapi/models/locationmarketplace.py +247 -0
  308. fortisapi/models/log_email.py +364 -0
  309. fortisapi/models/log_sms.py +315 -0
  310. fortisapi/models/marketplace.py +247 -0
  311. fortisapi/models/masync.py +128 -0
  312. fortisapi/models/merchant_list.py +193 -0
  313. fortisapi/models/merchant_risk_indicator.py +341 -0
  314. fortisapi/models/message_category_enum.py +119 -0
  315. fortisapi/models/message_extension.py +177 -0
  316. fortisapi/models/meta.py +107 -0
  317. fortisapi/models/method_3.py +147 -0
  318. fortisapi/models/method_50.py +145 -0
  319. fortisapi/models/method_53_enum.py +56 -0
  320. fortisapi/models/method_5_enum.py +56 -0
  321. fortisapi/models/method_enum.py +56 -0
  322. fortisapi/models/mobile_phone.py +130 -0
  323. fortisapi/models/modified_user.py +1197 -0
  324. fortisapi/models/multi_transaction.py +147 -0
  325. fortisapi/models/operator_1_enum.py +59 -0
  326. fortisapi/models/operator_enum.py +47 -0
  327. fortisapi/models/order_21.py +99 -0
  328. fortisapi/models/order_enum.py +47 -0
  329. fortisapi/models/owner.py +322 -0
  330. fortisapi/models/ownership_type_enum.py +71 -0
  331. fortisapi/models/page.py +132 -0
  332. fortisapi/models/pagination.py +196 -0
  333. fortisapi/models/parent.py +822 -0
  334. fortisapi/models/parent_3.py +756 -0
  335. fortisapi/models/partner_enum.py +71 -0
  336. fortisapi/models/paylink_action_enum.py +47 -0
  337. fortisapi/models/payment_acc_ind_enum.py +67 -0
  338. fortisapi/models/payment_method_16_enum.py +47 -0
  339. fortisapi/models/payment_method_1_enum.py +47 -0
  340. fortisapi/models/payment_method_9_enum.py +50 -0
  341. fortisapi/models/payment_method_enum.py +50 -0
  342. fortisapi/models/payment_recurring_notification.py +251 -0
  343. fortisapi/models/payment_type_priority_enum.py +47 -0
  344. fortisapi/models/postback_log.py +295 -0
  345. fortisapi/models/postback_status_id_enum.py +53 -0
  346. fortisapi/models/pre_order_purchase_ind_enum.py +52 -0
  347. fortisapi/models/preferred_language_enum.py +51 -0
  348. fortisapi/models/preferred_protocol_version_enum.py +65 -0
  349. fortisapi/models/pricing_element.py +147 -0
  350. fortisapi/models/primary_principal.py +396 -0
  351. fortisapi/models/primary_principal_1.py +376 -0
  352. fortisapi/models/process_method_enum.py +47 -0
  353. fortisapi/models/processor_enum.py +59 -0
  354. fortisapi/models/product_accountvault.py +317 -0
  355. fortisapi/models/product_file.py +416 -0
  356. fortisapi/models/product_file_1.py +414 -0
  357. fortisapi/models/product_invoice.py +651 -0
  358. fortisapi/models/product_recurring.py +387 -0
  359. fortisapi/models/product_token.py +317 -0
  360. fortisapi/models/product_transaction.py +3048 -0
  361. fortisapi/models/product_transaction_1.py +3046 -0
  362. fortisapi/models/purchase.py +501 -0
  363. fortisapi/models/quick_invoice.py +1256 -0
  364. fortisapi/models/quick_invoice_setting.py +299 -0
  365. fortisapi/models/quick_invoice_view.py +176 -0
  366. fortisapi/models/reason_code.py +131 -0
  367. fortisapi/models/reason_code_id_1_enum.py +935 -0
  368. fortisapi/models/reason_code_id_enum.py +578 -0
  369. fortisapi/models/reason_model_enum.py +74 -0
  370. fortisapi/models/received_email.py +364 -0
  371. fortisapi/models/recipients_enum.py +62 -0
  372. fortisapi/models/recurring.py +975 -0
  373. fortisapi/models/recurring_3.py +977 -0
  374. fortisapi/models/recurring_flag_enum.py +64 -0
  375. fortisapi/models/recurring_split.py +200 -0
  376. fortisapi/models/recurring_type_id_enum.py +47 -0
  377. fortisapi/models/registration_field_enum.py +87 -0
  378. fortisapi/models/rejected_transaction.py +3198 -0
  379. fortisapi/models/rejected_transaction_ach_retry.py +244 -0
  380. fortisapi/models/relationship_enum.py +50 -0
  381. fortisapi/models/reorder_items_ind_enum.py +51 -0
  382. fortisapi/models/report_export_type_enum.py +53 -0
  383. fortisapi/models/resource_12_enum.py +52 -0
  384. fortisapi/models/resource_2_enum.py +50 -0
  385. fortisapi/models/resource_enum.py +55 -0
  386. fortisapi/models/response_416_date_range.py +148 -0
  387. fortisapi/models/response_417_filter_channels.py +148 -0
  388. fortisapi/models/response_apple_pay_validate_merchant.py +126 -0
  389. fortisapi/models/response_async_status.py +126 -0
  390. fortisapi/models/response_batchs_collection.py +228 -0
  391. fortisapi/models/response_calculate_surcharge.py +126 -0
  392. fortisapi/models/response_contact.py +126 -0
  393. fortisapi/models/response_contact_searchs_collection.py +228 -0
  394. fortisapi/models/response_contacts_collection.py +228 -0
  395. fortisapi/models/response_declined_recurring_transaction.py +126 -0
  396. fortisapi/models/response_declined_recurring_transaction_payment.py +126 -0
  397. fortisapi/models/response_declined_recurring_transaction_resend.py +126 -0
  398. fortisapi/models/response_declined_recurring_transactions_collection.py +228 -0
  399. fortisapi/models/response_device_term.py +126 -0
  400. fortisapi/models/response_device_terms_collection.py +228 -0
  401. fortisapi/models/response_fullboarding.py +126 -0
  402. fortisapi/models/response_location.py +126 -0
  403. fortisapi/models/response_location_info.py +126 -0
  404. fortisapi/models/response_location_infos_collection.py +228 -0
  405. fortisapi/models/response_location_searchs_collection.py +228 -0
  406. fortisapi/models/response_locations_collection.py +228 -0
  407. fortisapi/models/response_merchant.py +126 -0
  408. fortisapi/models/response_merchant_deposit.py +126 -0
  409. fortisapi/models/response_merchant_deposits_collection.py +228 -0
  410. fortisapi/models/response_merchant_details.py +126 -0
  411. fortisapi/models/response_onboarding.py +126 -0
  412. fortisapi/models/response_paylink.py +126 -0
  413. fortisapi/models/response_paylinks_collection.py +228 -0
  414. fortisapi/models/response_payment_card_reader_token.py +126 -0
  415. fortisapi/models/response_quick_invoice.py +126 -0
  416. fortisapi/models/response_quick_invoice_resend.py +126 -0
  417. fortisapi/models/response_quick_invoices_collection.py +228 -0
  418. fortisapi/models/response_recurring.py +126 -0
  419. fortisapi/models/response_recurrings_collection.py +228 -0
  420. fortisapi/models/response_reporting_reports_cc_settled_transactions_collection.py +231 -0
  421. fortisapi/models/response_reporting_reports_chargebacks_collection.py +228 -0
  422. fortisapi/models/response_signature.py +126 -0
  423. fortisapi/models/response_signatures_collection.py +228 -0
  424. fortisapi/models/response_tag.py +126 -0
  425. fortisapi/models/response_tags_collection.py +228 -0
  426. fortisapi/models/response_terminal.py +126 -0
  427. fortisapi/models/response_terminals_collection.py +228 -0
  428. fortisapi/models/response_three_ds_authentication.py +126 -0
  429. fortisapi/models/response_three_ds_transaction.py +126 -0
  430. fortisapi/models/response_ticket.py +126 -0
  431. fortisapi/models/response_ticket_intention.py +126 -0
  432. fortisapi/models/response_tickets_collection.py +228 -0
  433. fortisapi/models/response_token.py +126 -0
  434. fortisapi/models/response_tokens_collection.py +228 -0
  435. fortisapi/models/response_transaction.py +126 -0
  436. fortisapi/models/response_transaction_ach_retry.py +126 -0
  437. fortisapi/models/response_transaction_ach_retrys_collection.py +228 -0
  438. fortisapi/models/response_transaction_bin_info.py +126 -0
  439. fortisapi/models/response_transaction_intention.py +126 -0
  440. fortisapi/models/response_transaction_level_3.py +126 -0
  441. fortisapi/models/response_transaction_level_3_master.py +126 -0
  442. fortisapi/models/response_transaction_level_3_visa.py +126 -0
  443. fortisapi/models/response_transaction_processing.py +126 -0
  444. fortisapi/models/response_transactions_collection.py +228 -0
  445. fortisapi/models/response_webhook.py +126 -0
  446. fortisapi/models/result.py +152 -0
  447. fortisapi/models/retry_transaction.py +3198 -0
  448. fortisapi/models/retry_transaction_ach_retry.py +246 -0
  449. fortisapi/models/return_fee_transaction.py +3198 -0
  450. fortisapi/models/return_fee_transaction_ach_retry.py +246 -0
  451. fortisapi/models/saved_account.py +1408 -0
  452. fortisapi/models/scheme_id_enum.py +54 -0
  453. fortisapi/models/sec_code_enum.py +51 -0
  454. fortisapi/models/settings.py +148 -0
  455. fortisapi/models/settled_currency_enum.py +168 -0
  456. fortisapi/models/severity_enum.py +62 -0
  457. fortisapi/models/ship_address_usage_ind_enum.py +62 -0
  458. fortisapi/models/ship_indicator_enum.py +101 -0
  459. fortisapi/models/ship_name_indicator_enum.py +52 -0
  460. fortisapi/models/shipping_address.py +264 -0
  461. fortisapi/models/signature.py +220 -0
  462. fortisapi/models/sms_blacklist.py +178 -0
  463. fortisapi/models/sms_enum.py +47 -0
  464. fortisapi/models/sort.py +132 -0
  465. fortisapi/models/source_enum.py +56 -0
  466. fortisapi/models/stack_enum.py +47 -0
  467. fortisapi/models/status_11.py +131 -0
  468. fortisapi/models/status_3_enum.py +47 -0
  469. fortisapi/models/status_5.py +102 -0
  470. fortisapi/models/status_code_12_enum.py +47 -0
  471. fortisapi/models/status_code_17_enum.py +102 -0
  472. fortisapi/models/status_code_enum.py +50 -0
  473. fortisapi/models/status_enum.py +50 -0
  474. fortisapi/models/status_id_enum.py +47 -0
  475. fortisapi/models/surcharge.py +574 -0
  476. fortisapi/models/surcharge_transaction.py +367 -0
  477. fortisapi/models/suspicious_acc_activity_enum.py +52 -0
  478. fortisapi/models/tag.py +194 -0
  479. fortisapi/models/tag_transaction.py +319 -0
  480. fortisapi/models/tax_exempt_enum.py +61 -0
  481. fortisapi/models/tax_surcharge_config_enum.py +47 -0
  482. fortisapi/models/terminal.py +1245 -0
  483. fortisapi/models/terminal_2.py +1243 -0
  484. fortisapi/models/terminal_application.py +411 -0
  485. fortisapi/models/terminal_cvm.py +293 -0
  486. fortisapi/models/terminal_manufacturer.py +249 -0
  487. fortisapi/models/terminal_manufacturer_code_enum.py +55 -0
  488. fortisapi/models/terminal_router.py +245 -0
  489. fortisapi/models/terminal_timeouts.py +304 -0
  490. fortisapi/models/terminal_timeouts_12.py +314 -0
  491. fortisapi/models/three_ds_req_auth_method_enum.py +154 -0
  492. fortisapi/models/three_ds_req_prior_auth_method_enum.py +123 -0
  493. fortisapi/models/three_ds_requestor.py +345 -0
  494. fortisapi/models/three_ds_requestor_authentication_ind_enum.py +141 -0
  495. fortisapi/models/three_ds_requestor_authentication_info.py +179 -0
  496. fortisapi/models/three_ds_requestor_challenge_ind_enum.py +126 -0
  497. fortisapi/models/three_ds_requestor_dec_req_ind_enum.py +72 -0
  498. fortisapi/models/three_ds_requestor_prior_authentication_info.py +188 -0
  499. fortisapi/models/three_ds_requestor_spc_support_enum.py +49 -0
  500. fortisapi/models/three_ri_ind_enum.py +180 -0
  501. fortisapi/models/tip_percents.py +160 -0
  502. fortisapi/models/trans_char_enum.py +45 -0
  503. fortisapi/models/transaction.py +3196 -0
  504. fortisapi/models/transaction_batch.py +537 -0
  505. fortisapi/models/transaction_batch_settlement.py +202 -0
  506. fortisapi/models/transaction_history.py +246 -0
  507. fortisapi/models/transaction_level_3.py +152 -0
  508. fortisapi/models/transaction_reference.py +298 -0
  509. fortisapi/models/transaction_split.py +221 -0
  510. fortisapi/models/transaction_status_enum.py +88 -0
  511. fortisapi/models/transaction_type_enum.py +68 -0
  512. fortisapi/models/trx_source_code_enum.py +155 -0
  513. fortisapi/models/trx_source_id_enum.py +155 -0
  514. fortisapi/models/type_103_enum.py +44 -0
  515. fortisapi/models/type_105_enum.py +44 -0
  516. fortisapi/models/type_10_enum.py +44 -0
  517. fortisapi/models/type_110_enum.py +44 -0
  518. fortisapi/models/type_114_enum.py +44 -0
  519. fortisapi/models/type_11_enum.py +44 -0
  520. fortisapi/models/type_121_enum.py +44 -0
  521. fortisapi/models/type_123.py +131 -0
  522. fortisapi/models/type_124_enum.py +44 -0
  523. fortisapi/models/type_125_enum.py +44 -0
  524. fortisapi/models/type_126_enum.py +44 -0
  525. fortisapi/models/type_127_enum.py +44 -0
  526. fortisapi/models/type_128_enum.py +44 -0
  527. fortisapi/models/type_134_enum.py +44 -0
  528. fortisapi/models/type_135_enum.py +44 -0
  529. fortisapi/models/type_136_enum.py +44 -0
  530. fortisapi/models/type_15_enum.py +44 -0
  531. fortisapi/models/type_16_enum.py +44 -0
  532. fortisapi/models/type_1_enum.py +44 -0
  533. fortisapi/models/type_20_enum.py +44 -0
  534. fortisapi/models/type_21_enum.py +44 -0
  535. fortisapi/models/type_22_enum.py +44 -0
  536. fortisapi/models/type_23_enum.py +44 -0
  537. fortisapi/models/type_27_enum.py +44 -0
  538. fortisapi/models/type_28_enum.py +44 -0
  539. fortisapi/models/type_29_enum.py +64 -0
  540. fortisapi/models/type_2_enum.py +44 -0
  541. fortisapi/models/type_30_enum.py +44 -0
  542. fortisapi/models/type_31_enum.py +44 -0
  543. fortisapi/models/type_35_enum.py +44 -0
  544. fortisapi/models/type_39_enum.py +44 -0
  545. fortisapi/models/type_3_enum.py +44 -0
  546. fortisapi/models/type_43_enum.py +44 -0
  547. fortisapi/models/type_44_enum.py +44 -0
  548. fortisapi/models/type_45_enum.py +44 -0
  549. fortisapi/models/type_46_enum.py +44 -0
  550. fortisapi/models/type_47_enum.py +44 -0
  551. fortisapi/models/type_48_enum.py +44 -0
  552. fortisapi/models/type_4_enum.py +44 -0
  553. fortisapi/models/type_52_enum.py +44 -0
  554. fortisapi/models/type_53_enum.py +44 -0
  555. fortisapi/models/type_54_enum.py +44 -0
  556. fortisapi/models/type_55_enum.py +44 -0
  557. fortisapi/models/type_59_enum.py +44 -0
  558. fortisapi/models/type_5_enum.py +44 -0
  559. fortisapi/models/type_60_enum.py +44 -0
  560. fortisapi/models/type_61_enum.py +45 -0
  561. fortisapi/models/type_62_enum.py +44 -0
  562. fortisapi/models/type_63_enum.py +91 -0
  563. fortisapi/models/type_64_enum.py +44 -0
  564. fortisapi/models/type_65_enum.py +44 -0
  565. fortisapi/models/type_6_enum.py +44 -0
  566. fortisapi/models/type_70_enum.py +44 -0
  567. fortisapi/models/type_71_enum.py +44 -0
  568. fortisapi/models/type_75_enum.py +44 -0
  569. fortisapi/models/type_79_enum.py +44 -0
  570. fortisapi/models/type_83_enum.py +44 -0
  571. fortisapi/models/type_84_enum.py +44 -0
  572. fortisapi/models/type_88_enum.py +44 -0
  573. fortisapi/models/type_89_enum.py +44 -0
  574. fortisapi/models/type_93_enum.py +44 -0
  575. fortisapi/models/type_94_enum.py +44 -0
  576. fortisapi/models/type_98_enum.py +44 -0
  577. fortisapi/models/type_99_enum.py +44 -0
  578. fortisapi/models/type_enum.py +44 -0
  579. fortisapi/models/type_id_enum.py +59 -0
  580. fortisapi/models/ui_prefs.py +204 -0
  581. fortisapi/models/update_if_exists_enum.py +44 -0
  582. fortisapi/models/user.py +180 -0
  583. fortisapi/models/user_1.py +1197 -0
  584. fortisapi/models/user_9.py +1195 -0
  585. fortisapi/models/user_type_code_enum.py +74 -0
  586. fortisapi/models/v_1_contacts_request.py +685 -0
  587. fortisapi/models/v_1_contacts_request_1.py +707 -0
  588. fortisapi/models/v_1_declined_recurring_transaction_payments_request.py +354 -0
  589. fortisapi/models/v_1_device_terms_request.py +161 -0
  590. fortisapi/models/v_1_elements_ticket_intention_request.py +195 -0
  591. fortisapi/models/v_1_elements_transaction_intention_request.py +591 -0
  592. fortisapi/models/v_1_fullboarding_request.py +827 -0
  593. fortisapi/models/v_1_merchant_threedsecure_authentication_request.py +696 -0
  594. fortisapi/models/v_1_onboarding_request.py +833 -0
  595. fortisapi/models/v_1_paylinks_request.py +723 -0
  596. fortisapi/models/v_1_paylinks_request_1.py +735 -0
  597. fortisapi/models/v_1_public_calculate_surcharge_request.py +527 -0
  598. fortisapi/models/v_1_quick_invoices_request.py +1035 -0
  599. fortisapi/models/v_1_quick_invoices_request_1.py +1070 -0
  600. fortisapi/models/v_1_quick_invoices_transaction_request.py +86 -0
  601. fortisapi/models/v_1_recurrings_defer_payment_request.py +86 -0
  602. fortisapi/models/v_1_recurrings_request.py +742 -0
  603. fortisapi/models/v_1_recurrings_request_1.py +750 -0
  604. fortisapi/models/v_1_recurrings_skip_payment_request.py +86 -0
  605. fortisapi/models/v_1_signatures_request.py +113 -0
  606. fortisapi/models/v_1_tags_request.py +99 -0
  607. fortisapi/models/v_1_tags_request_1.py +130 -0
  608. fortisapi/models/v_1_terminals_request.py +1005 -0
  609. fortisapi/models/v_1_terminals_request_1.py +1112 -0
  610. fortisapi/models/v_1_tickets_request.py +286 -0
  611. fortisapi/models/v_1_tokens_ach_request.py +945 -0
  612. fortisapi/models/v_1_tokens_ach_request_1.py +907 -0
  613. fortisapi/models/v_1_tokens_cc_request.py +1071 -0
  614. fortisapi/models/v_1_tokens_cc_request_1.py +905 -0
  615. fortisapi/models/v_1_tokens_previous_transaction_request.py +858 -0
  616. fortisapi/models/v_1_tokens_terminal_async_request.py +889 -0
  617. fortisapi/models/v_1_tokens_terminal_request.py +889 -0
  618. fortisapi/models/v_1_tokens_ticket_request.py +882 -0
  619. fortisapi/models/v_1_tokens_wallet_request.py +919 -0
  620. fortisapi/models/v_1_transaction_ach_retries_request.py +119 -0
  621. fortisapi/models/v_1_transactions_ach_credit_keyed_request.py +1600 -0
  622. fortisapi/models/v_1_transactions_ach_credit_prev_trxn_request.py +1616 -0
  623. fortisapi/models/v_1_transactions_ach_credit_token_request.py +1660 -0
  624. fortisapi/models/v_1_transactions_ach_debit_keyed_request.py +1600 -0
  625. fortisapi/models/v_1_transactions_ach_debit_prev_trxn_request.py +1616 -0
  626. fortisapi/models/v_1_transactions_ach_debit_token_request.py +1660 -0
  627. fortisapi/models/v_1_transactions_ach_refund_prev_trxn_request.py +1616 -0
  628. fortisapi/models/v_1_transactions_auth_complete_request.py +1519 -0
  629. fortisapi/models/v_1_transactions_auth_increment_request.py +1533 -0
  630. fortisapi/models/v_1_transactions_cash_refund_request.py +1515 -0
  631. fortisapi/models/v_1_transactions_cash_sale_request.py +1489 -0
  632. fortisapi/models/v_1_transactions_cc_auth_only_keyed_request.py +2164 -0
  633. fortisapi/models/v_1_transactions_cc_auth_only_prev_trxn_request.py +2124 -0
  634. fortisapi/models/v_1_transactions_cc_auth_only_taptopay_request.py +1843 -0
  635. fortisapi/models/v_1_transactions_cc_auth_only_terminal_request.py +2082 -0
  636. fortisapi/models/v_1_transactions_cc_auth_only_ticket_request.py +2050 -0
  637. fortisapi/models/v_1_transactions_cc_auth_only_token_request.py +2129 -0
  638. fortisapi/models/v_1_transactions_cc_auth_only_wallet_request.py +2062 -0
  639. fortisapi/models/v_1_transactions_cc_avs_only_keyed_request.py +2175 -0
  640. fortisapi/models/v_1_transactions_cc_avs_only_prev_trxn_request.py +2124 -0
  641. fortisapi/models/v_1_transactions_cc_avs_only_swiped_request.py +2086 -0
  642. fortisapi/models/v_1_transactions_cc_avs_only_terminal_request.py +2093 -0
  643. fortisapi/models/v_1_transactions_cc_avs_only_ticket_request.py +2061 -0
  644. fortisapi/models/v_1_transactions_cc_avs_only_token_request.py +2140 -0
  645. fortisapi/models/v_1_transactions_cc_avs_only_wallet_request.py +2073 -0
  646. fortisapi/models/v_1_transactions_cc_balance_inquiry_keyed_request.py +2176 -0
  647. fortisapi/models/v_1_transactions_cc_balance_inquiry_prev_trxn_request.py +2125 -0
  648. fortisapi/models/v_1_transactions_cc_balance_inquiry_swiped_request.py +2087 -0
  649. fortisapi/models/v_1_transactions_cc_balance_inquiry_terminal_request.py +2094 -0
  650. fortisapi/models/v_1_transactions_cc_balance_inquiry_ticket_request.py +2062 -0
  651. fortisapi/models/v_1_transactions_cc_balance_inquiry_token_request.py +2141 -0
  652. fortisapi/models/v_1_transactions_cc_balance_inquiry_wallet_request.py +2074 -0
  653. fortisapi/models/v_1_transactions_cc_refund_keyed_request.py +2218 -0
  654. fortisapi/models/v_1_transactions_cc_refund_prev_trxn_request.py +2124 -0
  655. fortisapi/models/v_1_transactions_cc_refund_taptopay_request.py +1869 -0
  656. fortisapi/models/v_1_transactions_cc_refund_terminal_request.py +2082 -0
  657. fortisapi/models/v_1_transactions_cc_refund_ticket_request.py +2050 -0
  658. fortisapi/models/v_1_transactions_cc_refund_token_request.py +2129 -0
  659. fortisapi/models/v_1_transactions_cc_refund_wallet_request.py +2062 -0
  660. fortisapi/models/v_1_transactions_cc_sale_keyed_request.py +2164 -0
  661. fortisapi/models/v_1_transactions_cc_sale_prev_trxn_request.py +2124 -0
  662. fortisapi/models/v_1_transactions_cc_sale_taptopay_request.py +1843 -0
  663. fortisapi/models/v_1_transactions_cc_sale_terminal_request.py +2082 -0
  664. fortisapi/models/v_1_transactions_cc_sale_ticket_request.py +2050 -0
  665. fortisapi/models/v_1_transactions_cc_sale_token_request.py +2129 -0
  666. fortisapi/models/v_1_transactions_cc_sale_wallet_request.py +2062 -0
  667. fortisapi/models/v_1_transactions_ebt_voucher_clear_refund_keyed_request.py +2190 -0
  668. fortisapi/models/v_1_transactions_ebt_voucher_clear_sale_keyed_request.py +2190 -0
  669. fortisapi/models/v_1_transactions_level_3_master_card_request.py +91 -0
  670. fortisapi/models/v_1_transactions_level_3_visa_request.py +91 -0
  671. fortisapi/models/v_1_transactions_partial_reversal_request.py +1462 -0
  672. fortisapi/models/v_1_transactions_refund_request.py +1448 -0
  673. fortisapi/models/v_1_transactions_tip_adjust_request.py +1973 -0
  674. fortisapi/models/v_1_transactions_void_request.py +130 -0
  675. fortisapi/models/v_1_wallet_provider_apple_pay_validate_merchant_request.py +127 -0
  676. fortisapi/models/v_1_wallet_provider_merchant_details_request.py +87 -0
  677. fortisapi/models/v_1_webhooks_apm_onboarding_request.py +421 -0
  678. fortisapi/models/v_1_webhooks_apm_onboarding_request_1.py +494 -0
  679. fortisapi/models/v_1_webhooks_batch_request.py +410 -0
  680. fortisapi/models/v_1_webhooks_batch_request_1.py +494 -0
  681. fortisapi/models/v_1_webhooks_contact_request.py +421 -0
  682. fortisapi/models/v_1_webhooks_contact_request_1.py +494 -0
  683. fortisapi/models/v_1_webhooks_transaction_request.py +410 -0
  684. fortisapi/models/v_1_webhooks_transaction_request_1.py +494 -0
  685. fortisapi/models/values_4_enum.py +59 -0
  686. fortisapi/models/values_50_enum.py +59 -0
  687. fortisapi/models/values_51_enum.py +62 -0
  688. fortisapi/models/values_58_enum.py +59 -0
  689. fortisapi/models/values_5_enum.py +59 -0
  690. fortisapi/models/values_6_enum.py +59 -0
  691. fortisapi/models/values_7_enum.py +59 -0
  692. fortisapi/models/values_99_enum.py +45 -0
  693. fortisapi/models/values_enum.py +51 -0
  694. fortisapi/models/wallet_provider_enum.py +47 -0
  695. fortisapi/models/wallet_type_enum.py +86 -0
  696. fortisapi/models/work_phone.py +130 -0
  697. fortisapi/utilities/__init__.py +6 -0
  698. fortisapi/utilities/file_wrapper.py +45 -0
  699. fortisapi/utilities/union_type_lookup.py +436 -0
@@ -0,0 +1,519 @@
1
+ """fortisapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+ from fortisapi.api_helper import APIHelper
8
+
9
+
10
+ class AccountInfo(object):
11
+ """Implementation of the 'AccountInfo' model.
12
+
13
+ This field contains additional information about the Cardholder's account
14
+ provided by the 3DS Requestor. The field is optional but recommended to include.
15
+
16
+ Attributes:
17
+ ch_acc_age_ind (ChAccAgeIndEnum): Length of time that the cardholder has had
18
+ the account with the 3DS Requestor. >01 - No account > >02 - Created
19
+ during this transaction > >03 - Less than 30 days > >04 - Between 30 and
20
+ 60 days > >05 - More than 60 days >
21
+ ch_acc_date (str): Date converted into UTC that the cardholder opened the
22
+ account with the 3DS Requestor. Date format = YYYYMMDD.
23
+ ch_acc_change_ind (ChAccChangeIndEnum): Length of time since the cardholder's
24
+ account information with the 3DS Requestor was last changed. Includes
25
+ Billing or Shipping address, new payment account, or new user(s) added.
26
+ >01 - Changed during this transaction > >02 - Less than 30 days > >03 -
27
+ 30 - 60 days > >04 - More than 60 days >
28
+ ch_acc_change (str): Date converted into UTC that the cardholder's account
29
+ with the 3DS Requestor was last changed. Including Billing or Shipping
30
+ address, new payment account, or new user(s) added. Date format =
31
+ YYYYMMDD.
32
+ ch_acc_pw_change_ind (ChAccPwChangeIndEnum): Length of time since the
33
+ cardholder's account with the 3DS Requestor had a password change or
34
+ account reset. >01 - No change > >02 - Changed during this transaction >
35
+ >03 - Less than 30 days > >04 - 30 - 60 days > >05 - More than 60 days >
36
+ ch_acc_pw_change (str): Date converted into UTC that cardholder's account
37
+ with the 3DS Requestor had a password change or account reset. Date
38
+ format must be YYYYMMDD.
39
+ ship_address_usage_ind (ShipAddressUsageIndEnum): Indicates when the shipping
40
+ address used for this transaction was first used with the 3DS Requestor.
41
+ >01 - This transaction > >02 - Less than 30 days > >03 - 30 - 60 days >
42
+ >04 - More than 60 days >
43
+ ship_address_usage (str): Date converted into UTC when the shipping address
44
+ used for this transaction was first used with the 3DS Requestor. Date
45
+ format must be YYYYMMDD.
46
+ txn_activity_day (int): Number of transactions (successful and abandoned) for
47
+ this cardholder account with the 3DS Requestor across all payment
48
+ accounts in the previous 24 hours.
49
+ txn_activity_year (int): Number of transactions (successful and abandoned)
50
+ for this cardholder account with the 3DS Requestor across all payment
51
+ accounts in the previous year.
52
+ provision_attempts_day (int): Number of Add Card attempts in the last 24
53
+ hours.
54
+ nb_purchase_account (int): Number of purchases with this cardholder account
55
+ during the previous six months.
56
+ suspicious_acc_activity (SuspiciousAccActivityEnum): Indicates whether the
57
+ 3DS Requestor has experienced suspicious activity including previous
58
+ fraud) on the cardholder account. >01 - No suspicious activity has been
59
+ observed > >02 - Suspicious activity has been observed >
60
+ ship_name_indicator (ShipNameIndicatorEnum): Indicates if the Cardholder Name
61
+ on the account is identical to the shipping Name used for this
62
+ transaction. >01 - Account Name identical to shipping Name > >02 -
63
+ Account Name different than shipping Name >
64
+ payment_acc_ind (PaymentAccIndEnum): Indicates the length of time that the
65
+ payment account was enrolled in the cardholder's account with the 3DS
66
+ Requestor. >01 - No account (guest check-out) > >02 - During this
67
+ transaction > >03 - Less than 30 days > >04 - 30 - 60 days > >05 - More
68
+ than 60 days >
69
+ payment_acc_age (str): Date converted into UTC that the payment account was
70
+ enrolled in the cardholder's account with the 3DS Requestor. Date format
71
+ must be YYYYMMDD.
72
+ ch_acc_req_id (str): The 3DS Requestor assigned account identifier of the
73
+ transacting Cardholder. This identifier is a unique representation of the
74
+ account identifier for the 3DS Requestor and is provided as a String.
75
+ This field is supported in Starting from EMV 3DS 2.3.1 and later.
76
+ additional_properties (Dict[str, object]): The additional properties for the
77
+ model.
78
+
79
+ """
80
+
81
+ # Create a mapping from Model property names to API property names
82
+ _names = {
83
+ "ch_acc_age_ind": "ch_acc_age_ind",
84
+ "ch_acc_date": "ch_acc_date",
85
+ "ch_acc_change_ind": "ch_acc_change_ind",
86
+ "ch_acc_change": "ch_acc_change",
87
+ "ch_acc_pw_change_ind": "ch_acc_pw_change_ind",
88
+ "ch_acc_pw_change": "ch_acc_pw_change",
89
+ "ship_address_usage_ind": "ship_address_usage_ind",
90
+ "ship_address_usage": "ship_address_usage",
91
+ "txn_activity_day": "txn_activity_day",
92
+ "txn_activity_year": "txn_activity_year",
93
+ "provision_attempts_day": "provision_attempts_day",
94
+ "nb_purchase_account": "nb_purchase_account",
95
+ "suspicious_acc_activity": "suspicious_acc_activity",
96
+ "ship_name_indicator": "ship_name_indicator",
97
+ "payment_acc_ind": "payment_acc_ind",
98
+ "payment_acc_age": "payment_acc_age",
99
+ "ch_acc_req_id": "ch_acc_req_id",
100
+ }
101
+
102
+ _optionals = [
103
+ "ch_acc_age_ind",
104
+ "ch_acc_date",
105
+ "ch_acc_change_ind",
106
+ "ch_acc_change",
107
+ "ch_acc_pw_change_ind",
108
+ "ch_acc_pw_change",
109
+ "ship_address_usage_ind",
110
+ "ship_address_usage",
111
+ "txn_activity_day",
112
+ "txn_activity_year",
113
+ "provision_attempts_day",
114
+ "nb_purchase_account",
115
+ "suspicious_acc_activity",
116
+ "ship_name_indicator",
117
+ "payment_acc_ind",
118
+ "payment_acc_age",
119
+ "ch_acc_req_id",
120
+ ]
121
+
122
+ _nullables = [
123
+ "ch_acc_req_id",
124
+ ]
125
+
126
+ def __init__(
127
+ self,
128
+ ch_acc_age_ind=APIHelper.SKIP,
129
+ ch_acc_date=APIHelper.SKIP,
130
+ ch_acc_change_ind=APIHelper.SKIP,
131
+ ch_acc_change=APIHelper.SKIP,
132
+ ch_acc_pw_change_ind=APIHelper.SKIP,
133
+ ch_acc_pw_change=APIHelper.SKIP,
134
+ ship_address_usage_ind=APIHelper.SKIP,
135
+ ship_address_usage=APIHelper.SKIP,
136
+ txn_activity_day=APIHelper.SKIP,
137
+ txn_activity_year=APIHelper.SKIP,
138
+ provision_attempts_day=APIHelper.SKIP,
139
+ nb_purchase_account=APIHelper.SKIP,
140
+ suspicious_acc_activity=APIHelper.SKIP,
141
+ ship_name_indicator=APIHelper.SKIP,
142
+ payment_acc_ind=APIHelper.SKIP,
143
+ payment_acc_age=APIHelper.SKIP,
144
+ ch_acc_req_id=APIHelper.SKIP,
145
+ additional_properties=None):
146
+ """Initialize a AccountInfo instance."""
147
+ # Initialize members of the class
148
+ if ch_acc_age_ind is not APIHelper.SKIP:
149
+ self.ch_acc_age_ind = ch_acc_age_ind
150
+ if ch_acc_date is not APIHelper.SKIP:
151
+ self.ch_acc_date = ch_acc_date
152
+ if ch_acc_change_ind is not APIHelper.SKIP:
153
+ self.ch_acc_change_ind = ch_acc_change_ind
154
+ if ch_acc_change is not APIHelper.SKIP:
155
+ self.ch_acc_change = ch_acc_change
156
+ if ch_acc_pw_change_ind is not APIHelper.SKIP:
157
+ self.ch_acc_pw_change_ind = ch_acc_pw_change_ind
158
+ if ch_acc_pw_change is not APIHelper.SKIP:
159
+ self.ch_acc_pw_change = ch_acc_pw_change
160
+ if ship_address_usage_ind is not APIHelper.SKIP:
161
+ self.ship_address_usage_ind = ship_address_usage_ind
162
+ if ship_address_usage is not APIHelper.SKIP:
163
+ self.ship_address_usage = ship_address_usage
164
+ if txn_activity_day is not APIHelper.SKIP:
165
+ self.txn_activity_day = txn_activity_day
166
+ if txn_activity_year is not APIHelper.SKIP:
167
+ self.txn_activity_year = txn_activity_year
168
+ if provision_attempts_day is not APIHelper.SKIP:
169
+ self.provision_attempts_day = provision_attempts_day
170
+ if nb_purchase_account is not APIHelper.SKIP:
171
+ self.nb_purchase_account = nb_purchase_account
172
+ if suspicious_acc_activity is not APIHelper.SKIP:
173
+ self.suspicious_acc_activity = suspicious_acc_activity
174
+ if ship_name_indicator is not APIHelper.SKIP:
175
+ self.ship_name_indicator = ship_name_indicator
176
+ if payment_acc_ind is not APIHelper.SKIP:
177
+ self.payment_acc_ind = payment_acc_ind
178
+ if payment_acc_age is not APIHelper.SKIP:
179
+ self.payment_acc_age = payment_acc_age
180
+ if ch_acc_req_id is not APIHelper.SKIP:
181
+ self.ch_acc_req_id = ch_acc_req_id
182
+
183
+ # Add additional model properties to the instance
184
+ if additional_properties is None:
185
+ additional_properties = {}
186
+ self.additional_properties = additional_properties
187
+
188
+ @classmethod
189
+ def from_dictionary(cls,
190
+ dictionary):
191
+ """Create an instance of this model from a dictionary
192
+
193
+ Args:
194
+ dictionary (dictionary): A dictionary representation of the object
195
+ as obtained from the deserialization of the server's response. The
196
+ keys MUST match property names in the API description.
197
+
198
+ Returns:
199
+ object: An instance of this structure class.
200
+
201
+ """
202
+ if not isinstance(dictionary, dict) or dictionary is None:
203
+ return None
204
+
205
+ # Extract variables from the dictionary
206
+ ch_acc_age_ind =\
207
+ dictionary.get("ch_acc_age_ind")\
208
+ if dictionary.get("ch_acc_age_ind")\
209
+ else APIHelper.SKIP
210
+ ch_acc_date =\
211
+ dictionary.get("ch_acc_date")\
212
+ if dictionary.get("ch_acc_date")\
213
+ else APIHelper.SKIP
214
+ ch_acc_change_ind =\
215
+ dictionary.get("ch_acc_change_ind")\
216
+ if dictionary.get("ch_acc_change_ind")\
217
+ else APIHelper.SKIP
218
+ ch_acc_change =\
219
+ dictionary.get("ch_acc_change")\
220
+ if dictionary.get("ch_acc_change")\
221
+ else APIHelper.SKIP
222
+ ch_acc_pw_change_ind =\
223
+ dictionary.get("ch_acc_pw_change_ind")\
224
+ if dictionary.get("ch_acc_pw_change_ind")\
225
+ else APIHelper.SKIP
226
+ ch_acc_pw_change =\
227
+ dictionary.get("ch_acc_pw_change")\
228
+ if dictionary.get("ch_acc_pw_change")\
229
+ else APIHelper.SKIP
230
+ ship_address_usage_ind =\
231
+ dictionary.get("ship_address_usage_ind")\
232
+ if dictionary.get("ship_address_usage_ind")\
233
+ else APIHelper.SKIP
234
+ ship_address_usage =\
235
+ dictionary.get("ship_address_usage")\
236
+ if dictionary.get("ship_address_usage")\
237
+ else APIHelper.SKIP
238
+ txn_activity_day =\
239
+ dictionary.get("txn_activity_day")\
240
+ if dictionary.get("txn_activity_day")\
241
+ else APIHelper.SKIP
242
+ txn_activity_year =\
243
+ dictionary.get("txn_activity_year")\
244
+ if dictionary.get("txn_activity_year")\
245
+ else APIHelper.SKIP
246
+ provision_attempts_day =\
247
+ dictionary.get("provision_attempts_day")\
248
+ if dictionary.get("provision_attempts_day")\
249
+ else APIHelper.SKIP
250
+ nb_purchase_account =\
251
+ dictionary.get("nb_purchase_account")\
252
+ if dictionary.get("nb_purchase_account")\
253
+ else APIHelper.SKIP
254
+ suspicious_acc_activity =\
255
+ dictionary.get("suspicious_acc_activity")\
256
+ if dictionary.get("suspicious_acc_activity")\
257
+ else APIHelper.SKIP
258
+ ship_name_indicator =\
259
+ dictionary.get("ship_name_indicator")\
260
+ if dictionary.get("ship_name_indicator")\
261
+ else APIHelper.SKIP
262
+ payment_acc_ind =\
263
+ dictionary.get("payment_acc_ind")\
264
+ if dictionary.get("payment_acc_ind")\
265
+ else APIHelper.SKIP
266
+ payment_acc_age =\
267
+ dictionary.get("payment_acc_age")\
268
+ if dictionary.get("payment_acc_age")\
269
+ else APIHelper.SKIP
270
+ ch_acc_req_id =\
271
+ dictionary.get("ch_acc_req_id")\
272
+ if "ch_acc_req_id" in dictionary.keys()\
273
+ else APIHelper.SKIP
274
+
275
+ # Clean out expected properties from dictionary
276
+ additional_properties =\
277
+ {k: v for k, v in dictionary.items() if k not in cls._names.values()}
278
+
279
+ # Return an object of this model
280
+ return cls(ch_acc_age_ind,
281
+ ch_acc_date,
282
+ ch_acc_change_ind,
283
+ ch_acc_change,
284
+ ch_acc_pw_change_ind,
285
+ ch_acc_pw_change,
286
+ ship_address_usage_ind,
287
+ ship_address_usage,
288
+ txn_activity_day,
289
+ txn_activity_year,
290
+ provision_attempts_day,
291
+ nb_purchase_account,
292
+ suspicious_acc_activity,
293
+ ship_name_indicator,
294
+ payment_acc_ind,
295
+ payment_acc_age,
296
+ ch_acc_req_id,
297
+ additional_properties)
298
+
299
+ def __repr__(self):
300
+ """Return a unambiguous string representation."""
301
+ _ch_acc_age_ind=(
302
+ self.ch_acc_age_ind
303
+ if hasattr(self, "ch_acc_age_ind")
304
+ else None
305
+ )
306
+ _ch_acc_date=(
307
+ self.ch_acc_date
308
+ if hasattr(self, "ch_acc_date")
309
+ else None
310
+ )
311
+ _ch_acc_change_ind=(
312
+ self.ch_acc_change_ind
313
+ if hasattr(self, "ch_acc_change_ind")
314
+ else None
315
+ )
316
+ _ch_acc_change=(
317
+ self.ch_acc_change
318
+ if hasattr(self, "ch_acc_change")
319
+ else None
320
+ )
321
+ _ch_acc_pw_change_ind=(
322
+ self.ch_acc_pw_change_ind
323
+ if hasattr(self, "ch_acc_pw_change_ind")
324
+ else None
325
+ )
326
+ _ch_acc_pw_change=(
327
+ self.ch_acc_pw_change
328
+ if hasattr(self, "ch_acc_pw_change")
329
+ else None
330
+ )
331
+ _ship_address_usage_ind=(
332
+ self.ship_address_usage_ind
333
+ if hasattr(self, "ship_address_usage_ind")
334
+ else None
335
+ )
336
+ _ship_address_usage=(
337
+ self.ship_address_usage
338
+ if hasattr(self, "ship_address_usage")
339
+ else None
340
+ )
341
+ _txn_activity_day=(
342
+ self.txn_activity_day
343
+ if hasattr(self, "txn_activity_day")
344
+ else None
345
+ )
346
+ _txn_activity_year=(
347
+ self.txn_activity_year
348
+ if hasattr(self, "txn_activity_year")
349
+ else None
350
+ )
351
+ _provision_attempts_day=(
352
+ self.provision_attempts_day
353
+ if hasattr(self, "provision_attempts_day")
354
+ else None
355
+ )
356
+ _nb_purchase_account=(
357
+ self.nb_purchase_account
358
+ if hasattr(self, "nb_purchase_account")
359
+ else None
360
+ )
361
+ _suspicious_acc_activity=(
362
+ self.suspicious_acc_activity
363
+ if hasattr(self, "suspicious_acc_activity")
364
+ else None
365
+ )
366
+ _ship_name_indicator=(
367
+ self.ship_name_indicator
368
+ if hasattr(self, "ship_name_indicator")
369
+ else None
370
+ )
371
+ _payment_acc_ind=(
372
+ self.payment_acc_ind
373
+ if hasattr(self, "payment_acc_ind")
374
+ else None
375
+ )
376
+ _payment_acc_age=(
377
+ self.payment_acc_age
378
+ if hasattr(self, "payment_acc_age")
379
+ else None
380
+ )
381
+ _ch_acc_req_id=(
382
+ self.ch_acc_req_id
383
+ if hasattr(self, "ch_acc_req_id")
384
+ else None
385
+ )
386
+ _additional_properties=self.additional_properties
387
+ return (
388
+ f"{self.__class__.__name__}("
389
+ f"ch_acc_age_ind={_ch_acc_age_ind!r}, "
390
+ f"ch_acc_date={_ch_acc_date!r}, "
391
+ f"ch_acc_change_ind={_ch_acc_change_ind!r}, "
392
+ f"ch_acc_change={_ch_acc_change!r}, "
393
+ f"ch_acc_pw_change_ind={_ch_acc_pw_change_ind!r}, "
394
+ f"ch_acc_pw_change={_ch_acc_pw_change!r}, "
395
+ f"ship_address_usage_ind={_ship_address_usage_ind!r}, "
396
+ f"ship_address_usage={_ship_address_usage!r}, "
397
+ f"txn_activity_day={_txn_activity_day!r}, "
398
+ f"txn_activity_year={_txn_activity_year!r}, "
399
+ f"provision_attempts_day={_provision_attempts_day!r}, "
400
+ f"nb_purchase_account={_nb_purchase_account!r}, "
401
+ f"suspicious_acc_activity={_suspicious_acc_activity!r}, "
402
+ f"ship_name_indicator={_ship_name_indicator!r}, "
403
+ f"payment_acc_ind={_payment_acc_ind!r}, "
404
+ f"payment_acc_age={_payment_acc_age!r}, "
405
+ f"ch_acc_req_id={_ch_acc_req_id!r}, "
406
+ f"additional_properties={_additional_properties!r}, "
407
+ f")"
408
+ )
409
+
410
+ def __str__(self):
411
+ """Return a human-readable string representation."""
412
+ _ch_acc_age_ind=(
413
+ self.ch_acc_age_ind
414
+ if hasattr(self, "ch_acc_age_ind")
415
+ else None
416
+ )
417
+ _ch_acc_date=(
418
+ self.ch_acc_date
419
+ if hasattr(self, "ch_acc_date")
420
+ else None
421
+ )
422
+ _ch_acc_change_ind=(
423
+ self.ch_acc_change_ind
424
+ if hasattr(self, "ch_acc_change_ind")
425
+ else None
426
+ )
427
+ _ch_acc_change=(
428
+ self.ch_acc_change
429
+ if hasattr(self, "ch_acc_change")
430
+ else None
431
+ )
432
+ _ch_acc_pw_change_ind=(
433
+ self.ch_acc_pw_change_ind
434
+ if hasattr(self, "ch_acc_pw_change_ind")
435
+ else None
436
+ )
437
+ _ch_acc_pw_change=(
438
+ self.ch_acc_pw_change
439
+ if hasattr(self, "ch_acc_pw_change")
440
+ else None
441
+ )
442
+ _ship_address_usage_ind=(
443
+ self.ship_address_usage_ind
444
+ if hasattr(self, "ship_address_usage_ind")
445
+ else None
446
+ )
447
+ _ship_address_usage=(
448
+ self.ship_address_usage
449
+ if hasattr(self, "ship_address_usage")
450
+ else None
451
+ )
452
+ _txn_activity_day=(
453
+ self.txn_activity_day
454
+ if hasattr(self, "txn_activity_day")
455
+ else None
456
+ )
457
+ _txn_activity_year=(
458
+ self.txn_activity_year
459
+ if hasattr(self, "txn_activity_year")
460
+ else None
461
+ )
462
+ _provision_attempts_day=(
463
+ self.provision_attempts_day
464
+ if hasattr(self, "provision_attempts_day")
465
+ else None
466
+ )
467
+ _nb_purchase_account=(
468
+ self.nb_purchase_account
469
+ if hasattr(self, "nb_purchase_account")
470
+ else None
471
+ )
472
+ _suspicious_acc_activity=(
473
+ self.suspicious_acc_activity
474
+ if hasattr(self, "suspicious_acc_activity")
475
+ else None
476
+ )
477
+ _ship_name_indicator=(
478
+ self.ship_name_indicator
479
+ if hasattr(self, "ship_name_indicator")
480
+ else None
481
+ )
482
+ _payment_acc_ind=(
483
+ self.payment_acc_ind
484
+ if hasattr(self, "payment_acc_ind")
485
+ else None
486
+ )
487
+ _payment_acc_age=(
488
+ self.payment_acc_age
489
+ if hasattr(self, "payment_acc_age")
490
+ else None
491
+ )
492
+ _ch_acc_req_id=(
493
+ self.ch_acc_req_id
494
+ if hasattr(self, "ch_acc_req_id")
495
+ else None
496
+ )
497
+ _additional_properties=self.additional_properties
498
+ return (
499
+ f"{self.__class__.__name__}("
500
+ f"ch_acc_age_ind={_ch_acc_age_ind!s}, "
501
+ f"ch_acc_date={_ch_acc_date!s}, "
502
+ f"ch_acc_change_ind={_ch_acc_change_ind!s}, "
503
+ f"ch_acc_change={_ch_acc_change!s}, "
504
+ f"ch_acc_pw_change_ind={_ch_acc_pw_change_ind!s}, "
505
+ f"ch_acc_pw_change={_ch_acc_pw_change!s}, "
506
+ f"ship_address_usage_ind={_ship_address_usage_ind!s}, "
507
+ f"ship_address_usage={_ship_address_usage!s}, "
508
+ f"txn_activity_day={_txn_activity_day!s}, "
509
+ f"txn_activity_year={_txn_activity_year!s}, "
510
+ f"provision_attempts_day={_provision_attempts_day!s}, "
511
+ f"nb_purchase_account={_nb_purchase_account!s}, "
512
+ f"suspicious_acc_activity={_suspicious_acc_activity!s}, "
513
+ f"ship_name_indicator={_ship_name_indicator!s}, "
514
+ f"payment_acc_ind={_payment_acc_ind!s}, "
515
+ f"payment_acc_age={_payment_acc_age!s}, "
516
+ f"ch_acc_req_id={_ch_acc_req_id!s}, "
517
+ f"additional_properties={_additional_properties!s}, "
518
+ f")"
519
+ )
@@ -0,0 +1,47 @@
1
+ """fortisapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+
8
+ class AccountType12Enum(object):
9
+ """Implementation of the 'AccountType12' enum.
10
+
11
+ Account type. Either "checking" or "savings"
12
+
13
+ Attributes:
14
+ CHECKING: The enum member of type str.
15
+ SAVINGS: The enum member of type str.
16
+ additional_properties (Dict[str, object]): The additional properties for the
17
+ model.
18
+
19
+ """
20
+
21
+ CHECKING = "checking"
22
+
23
+ SAVINGS = "savings"
24
+
25
+ @classmethod
26
+ def from_value(cls, value, default=None):
27
+ """Return the matching enum value for the given input."""
28
+ if value is None:
29
+ return default
30
+
31
+ # If numeric and matches directly
32
+ if isinstance(value, int):
33
+ for name, val in cls.__dict__.items():
34
+ if not name.startswith("_") and val == value:
35
+ return val
36
+
37
+ # If string, perform case-insensitive match
38
+ if isinstance(value, str):
39
+ value_lower = value.lower()
40
+ for name, val in cls.__dict__.items():
41
+ if not name.startswith("_") and (
42
+ name.lower() == value_lower or str(val).lower() == value_lower
43
+ ):
44
+ return val
45
+
46
+ # Fallback to default
47
+ return default
@@ -0,0 +1,51 @@
1
+ """fortisapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+
8
+ class AccountType13Enum(object):
9
+ """Implementation of the 'AccountType13' enum.
10
+
11
+ Account type
12
+ >For ACH, must be provided as either 'checking' or 'savings'. For CC, field is
13
+ read only. System will identify card_type and generate a value for this field
14
+ automatically. i.e. visa, mc, disc, amex, jcb, diners.
15
+ >
16
+
17
+ Attributes:
18
+ SAVINGS: The enum member of type str.
19
+ CHECKING: The enum member of type str.
20
+ additional_properties (Dict[str, object]): The additional properties for the
21
+ model.
22
+
23
+ """
24
+
25
+ SAVINGS = "savings"
26
+
27
+ CHECKING = "checking"
28
+
29
+ @classmethod
30
+ def from_value(cls, value, default=None):
31
+ """Return the matching enum value for the given input."""
32
+ if value is None:
33
+ return default
34
+
35
+ # If numeric and matches directly
36
+ if isinstance(value, int):
37
+ for name, val in cls.__dict__.items():
38
+ if not name.startswith("_") and val == value:
39
+ return val
40
+
41
+ # If string, perform case-insensitive match
42
+ if isinstance(value, str):
43
+ value_lower = value.lower()
44
+ for name, val in cls.__dict__.items():
45
+ if not name.startswith("_") and (
46
+ name.lower() == value_lower or str(val).lower() == value_lower
47
+ ):
48
+ return val
49
+
50
+ # Fallback to default
51
+ return default
@@ -0,0 +1,51 @@
1
+ """fortisapi.
2
+
3
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
4
+ """
5
+
6
+ # ruff: noqa: E501
7
+
8
+ class AccountType16Enum(object):
9
+ """Implementation of the 'AccountType16' enum.
10
+
11
+ Required for ACH transactions if account_vault_id is not provided.
12
+ >For ACH, allowed values are 'checking' or 'savings'. For CC, this field is read
13
+ only. The system will identify card type and generate a value for this field
14
+ automatically. possible values are: visa, mc, disc, amex, jcb, diners, and debit.
15
+ >
16
+
17
+ Attributes:
18
+ CHECKING: The enum member of type str.
19
+ SAVINGS: The enum member of type str.
20
+ additional_properties (Dict[str, object]): The additional properties for the
21
+ model.
22
+
23
+ """
24
+
25
+ CHECKING = "checking"
26
+
27
+ SAVINGS = "savings"
28
+
29
+ @classmethod
30
+ def from_value(cls, value, default=None):
31
+ """Return the matching enum value for the given input."""
32
+ if value is None:
33
+ return default
34
+
35
+ # If numeric and matches directly
36
+ if isinstance(value, int):
37
+ for name, val in cls.__dict__.items():
38
+ if not name.startswith("_") and val == value:
39
+ return val
40
+
41
+ # If string, perform case-insensitive match
42
+ if isinstance(value, str):
43
+ value_lower = value.lower()
44
+ for name, val in cls.__dict__.items():
45
+ if not name.startswith("_") and (
46
+ name.lower() == value_lower or str(val).lower() == value_lower
47
+ ):
48
+ return val
49
+
50
+ # Fallback to default
51
+ return default