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,241 @@
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 BroadInfo(object):
11
+ """Implementation of the 'BroadInfo' model.
12
+
13
+ Until EMV 3DS 2.2.0:
14
+ Unstructured information sent between the 3DS Server, the DS and the ACS.
15
+ This field is not required to be filled by the Requestor and the requirements for
16
+ the presence of this field are DS specific.
17
+ Starting from EMV 3DS 2.3.1:
18
+ Structured information sent between the 3DS Server, the DS and the ACS. 2.3.1
19
+ structure is defined below. Accepted value length is maximum 4096 characters.
20
+ This field is optional.
21
+
22
+ Attributes:
23
+ category (CategoryEnum): Indicates the category/type of information. This
24
+ field is required. >01 - General > >02 - Certificate expiry > >03 - Fraud
25
+ alert > >04 - Operational alert > >05 - Transactional data > >06 - Other
26
+ > >80 through 99 - PS-specific value (dependent on the payment scheme
27
+ type) >
28
+ description (str): Information to be broadcasted to the recipients. Accepted
29
+ value length is maximum 4000 characters. This field is optional.
30
+ expire_date (str): The date after which the relevance of the broadcasted
31
+ information (e.g., ceritifacte expiration dates) expires. The accepted
32
+ value length is 8 characters. The accepted format is YYYYMMDD.
33
+ severity (SeverityEnum): Indicates the importance/severity level of the
34
+ broadcasted information. This field is required. >01 - Critical.
35
+ Immediate action to be taken by recipient > >02 - Major. Major impact;
36
+ Upcoming action to be taken by recipient > >03 - Minor. Minor impact;
37
+ Upcoming action to be taken by recipient > >04 - Informational.
38
+ Informational only with no immediate action by recipient >
39
+ recipients (RecipientsEnum): Indicates the intended recipient(s) of the
40
+ broadcasted information. This field is required. >01 - 3DS SDK > >02 -
41
+ 3DS Server > >03 - DS > >04 - ACS >
42
+ source (SourceEnum): Indicates the source of the broadcasted information.
43
+ This field is required. >01 - 3DS Server > >02 - DS > >03 - ACS >
44
+ additional_properties (Dict[str, object]): The additional properties for the
45
+ model.
46
+
47
+ """
48
+
49
+ # Create a mapping from Model property names to API property names
50
+ _names = {
51
+ "category": "category",
52
+ "description": "description",
53
+ "expire_date": "expire_date",
54
+ "severity": "severity",
55
+ "recipients": "recipients",
56
+ "source": "source",
57
+ }
58
+
59
+ _optionals = [
60
+ "category",
61
+ "description",
62
+ "expire_date",
63
+ "severity",
64
+ "recipients",
65
+ "source",
66
+ ]
67
+
68
+ def __init__(
69
+ self,
70
+ category=APIHelper.SKIP,
71
+ description=APIHelper.SKIP,
72
+ expire_date=APIHelper.SKIP,
73
+ severity=APIHelper.SKIP,
74
+ recipients=APIHelper.SKIP,
75
+ source=APIHelper.SKIP,
76
+ additional_properties=None):
77
+ """Initialize a BroadInfo instance."""
78
+ # Initialize members of the class
79
+ if category is not APIHelper.SKIP:
80
+ self.category = category
81
+ if description is not APIHelper.SKIP:
82
+ self.description = description
83
+ if expire_date is not APIHelper.SKIP:
84
+ self.expire_date = expire_date
85
+ if severity is not APIHelper.SKIP:
86
+ self.severity = severity
87
+ if recipients is not APIHelper.SKIP:
88
+ self.recipients = recipients
89
+ if source is not APIHelper.SKIP:
90
+ self.source = source
91
+
92
+ # Add additional model properties to the instance
93
+ if additional_properties is None:
94
+ additional_properties = {}
95
+ self.additional_properties = additional_properties
96
+
97
+ @classmethod
98
+ def from_dictionary(cls,
99
+ dictionary):
100
+ """Create an instance of this model from a dictionary
101
+
102
+ Args:
103
+ dictionary (dictionary): A dictionary representation of the object
104
+ as obtained from the deserialization of the server's response. The
105
+ keys MUST match property names in the API description.
106
+
107
+ Returns:
108
+ object: An instance of this structure class.
109
+
110
+ """
111
+ if not isinstance(dictionary, dict) or dictionary is None:
112
+ return None
113
+
114
+ # Extract variables from the dictionary
115
+ category =\
116
+ dictionary.get("category")\
117
+ if dictionary.get("category")\
118
+ else APIHelper.SKIP
119
+ description =\
120
+ dictionary.get("description")\
121
+ if dictionary.get("description")\
122
+ else APIHelper.SKIP
123
+ expire_date =\
124
+ dictionary.get("expire_date")\
125
+ if dictionary.get("expire_date")\
126
+ else APIHelper.SKIP
127
+ severity =\
128
+ dictionary.get("severity")\
129
+ if dictionary.get("severity")\
130
+ else APIHelper.SKIP
131
+ recipients =\
132
+ dictionary.get("recipients")\
133
+ if dictionary.get("recipients")\
134
+ else APIHelper.SKIP
135
+ source =\
136
+ dictionary.get("source")\
137
+ if dictionary.get("source")\
138
+ else APIHelper.SKIP
139
+
140
+ # Clean out expected properties from dictionary
141
+ additional_properties =\
142
+ {k: v for k, v in dictionary.items() if k not in cls._names.values()}
143
+
144
+ # Return an object of this model
145
+ return cls(category,
146
+ description,
147
+ expire_date,
148
+ severity,
149
+ recipients,
150
+ source,
151
+ additional_properties)
152
+
153
+ def __repr__(self):
154
+ """Return a unambiguous string representation."""
155
+ _category=(
156
+ self.category
157
+ if hasattr(self, "category")
158
+ else None
159
+ )
160
+ _description=(
161
+ self.description
162
+ if hasattr(self, "description")
163
+ else None
164
+ )
165
+ _expire_date=(
166
+ self.expire_date
167
+ if hasattr(self, "expire_date")
168
+ else None
169
+ )
170
+ _severity=(
171
+ self.severity
172
+ if hasattr(self, "severity")
173
+ else None
174
+ )
175
+ _recipients=(
176
+ self.recipients
177
+ if hasattr(self, "recipients")
178
+ else None
179
+ )
180
+ _source=(
181
+ self.source
182
+ if hasattr(self, "source")
183
+ else None
184
+ )
185
+ _additional_properties=self.additional_properties
186
+ return (
187
+ f"{self.__class__.__name__}("
188
+ f"category={_category!r}, "
189
+ f"description={_description!r}, "
190
+ f"expire_date={_expire_date!r}, "
191
+ f"severity={_severity!r}, "
192
+ f"recipients={_recipients!r}, "
193
+ f"source={_source!r}, "
194
+ f"additional_properties={_additional_properties!r}, "
195
+ f")"
196
+ )
197
+
198
+ def __str__(self):
199
+ """Return a human-readable string representation."""
200
+ _category=(
201
+ self.category
202
+ if hasattr(self, "category")
203
+ else None
204
+ )
205
+ _description=(
206
+ self.description
207
+ if hasattr(self, "description")
208
+ else None
209
+ )
210
+ _expire_date=(
211
+ self.expire_date
212
+ if hasattr(self, "expire_date")
213
+ else None
214
+ )
215
+ _severity=(
216
+ self.severity
217
+ if hasattr(self, "severity")
218
+ else None
219
+ )
220
+ _recipients=(
221
+ self.recipients
222
+ if hasattr(self, "recipients")
223
+ else None
224
+ )
225
+ _source=(
226
+ self.source
227
+ if hasattr(self, "source")
228
+ else None
229
+ )
230
+ _additional_properties=self.additional_properties
231
+ return (
232
+ f"{self.__class__.__name__}("
233
+ f"category={_category!s}, "
234
+ f"description={_description!s}, "
235
+ f"expire_date={_expire_date!s}, "
236
+ f"severity={_severity!s}, "
237
+ f"recipients={_recipients!s}, "
238
+ f"source={_source!s}, "
239
+ f"additional_properties={_additional_properties!s}, "
240
+ f")"
241
+ )
@@ -0,0 +1,401 @@
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 BrowserInformation(object):
11
+ """Implementation of the 'BrowserInformation' model.
12
+
13
+ Contains browser information.
14
+ This field is required when device_channel=02 (BRW).
15
+
16
+ Attributes:
17
+ browser_accept_header (str): Exact content of the HTTP accept headers as sent
18
+ to the 3DS Requestor from the Cardholder's browser. This field is limited
19
+ to maximum 2048 characters and if the total length exceeds the limit,
20
+ the 3DS Server truncates the excess portion. This field is required for
21
+ requests where device_channel=02 (BRW).
22
+ browser_java_enabled (bool): Boolean that represents the ability of the
23
+ cardholder browser to execute Java. Value is returned from the
24
+ navigator.javaEnabled property. Depending on the message version, the
25
+ field is required for requests: - with message version = 2.1.0 and
26
+ device_channel = 02 (BRW). - with message version = 2.2.0 and
27
+ device_channel = 02 (BRW) and browser_javascript_enabled = true.
28
+ browser_language (str): Value representing the browser language as defined in
29
+ IETF BCP47. Until EMV 3DS 2.2.0: The value is limited to 1-8 characters.
30
+ If the value exceeds 8 characters, it will be truncated to a semantically
31
+ valid value, if possible. The value is returned from navigator.language
32
+ property. This field is required for requests where device_channel = 02
33
+ (BRW). In other cases this field is optional. Starting from EMV 3DS
34
+ 2.3.1: The value is limited to 35 characters. If the value exceeds 35
35
+ characters, it will be truncated to a semantically valid value, if
36
+ possible. The value is returned from navigator.language property. This
37
+ field is required for requests where device_channel = 02 (BRW) and
38
+ browser_javascript_enabled = true. In other cases this field is optional.
39
+ browser_color_depth (str): Value representing the bit depth of the color
40
+ palette for displaying images, in bits per pixel. Obtained from
41
+ Cardholder browser using the screen.colorDepth property. The field is
42
+ limited to 1-2 characters. If the value is not in the accepted values,
43
+ it will be resolved to the first accepted value lower from the one
44
+ provided. Depending on the message version, the field is required for
45
+ requests: - with message version = 2.1.0 and device_channel = 02 (BRW). -
46
+ with message version = 2.2.0 and device_channel = 02 (BRW) and
47
+ browser_javascript_enabled = true. >1 - 1 bit > >4 - 4 bits > >8 - 8 bits
48
+ > >15 - 15 bits > >16 - 16 bits > >24 - 24 bits > >32 - 32 bits > >48 -
49
+ 48 bits >
50
+ browser_screen_height (int): Total height of the Cardholder's screen in
51
+ pixels. Value is returned from the screen.height property. The value is
52
+ limited to 1-6 characters. Depending on the message version, the field
53
+ is required for requests: - with message version = 2.1.0 and
54
+ device_channel = 02 (BRW). - with message version = 2.2.0 and
55
+ device_channel = 02 (BRW) and
56
+ browserJavascripbrowser_javascript_enabledtEnabled = true.
57
+ browser_screen_width (int): Total width of the Cardholder's screen in pixels.
58
+ Value is returned from the screen.width property. The value is limited to
59
+ 1-6 characters. Depending on the message version, the field is required
60
+ for requests: - with message version = 2.1.0 and device_channel = 02
61
+ (BRW). - with message version = 2.2.0 and device_channel = 02 (BRW) and
62
+ browser_javascript_enabled = true.
63
+ browser_tz (int): Time difference between UTC time and the Cardholder browser
64
+ local time, in minutes. The field is limited to 1-5 characters where the
65
+ values is returned from the getTimezoneOffset() method. Depending on the
66
+ message version, the field is required for requests: - with message
67
+ version = 2.1.0 and device_channel = 02 (BRW). - with message version =
68
+ 2.2.0 and device_channel = 02 (BRW) and browser_javascript_enabled = true.
69
+ browser_user_agent (str): Exact content of the HTTP user-agent header. The
70
+ field is limited to maximum 2048 caracters. If the total length of the
71
+ User-Agent sent by the browser exceeds 2048 characters, the 3DS Server
72
+ truncates the excess portion. This field is required for requests where
73
+ device_channel = 02 (BRW).
74
+ challenge_window_size (ChallengeWindowSizeEnum): Dimensions of the challenge
75
+ window that has been displayed to the Cardholder. The ACS shall reply
76
+ with content that is formatted to appropriately render in this window to
77
+ provide the best possible user experience. Preconfigured sizes are width
78
+ X height in pixels of the window displayed in the Cardholder browser
79
+ window. This is used only to prepare the CReq request and it is not part
80
+ of the AReq flow. If not present it will be omitted. However, when
81
+ sending the Challenge Request, this field is required when device_channel
82
+ = 02 (BRW). >01 - 250 x 400 > >02 - 390 x 400 > >03 - 500 x 600 > >04 -
83
+ 600 x 400 > >05 - Full screen >
84
+ browser_javascript_enabled (bool): Boolean that represents the ability of the
85
+ cardholder browser to execute JavaScript. This field is required for
86
+ requests where device_channel = 02 (BRW). Available for supporting EMV
87
+ 3DS 2.2.0 and later versions.
88
+ accept_language (List[str]): Value representing the browser language
89
+ preference present in the http header, as defined in IETF BCP 47. The
90
+ value is limited to 1-99 elements. Each element should contain a maximum
91
+ of 100 characters. This field is required for requests where
92
+ device_channel = 02 (BRW). Available for supporting EMV 3DS 2.3.1 and
93
+ later versions.
94
+ additional_properties (Dict[str, object]): The additional properties for the
95
+ model.
96
+
97
+ """
98
+
99
+ # Create a mapping from Model property names to API property names
100
+ _names = {
101
+ "browser_accept_header": "browser_accept_header",
102
+ "browser_java_enabled": "browser_java_enabled",
103
+ "browser_language": "browser_language",
104
+ "browser_color_depth": "browser_color_depth",
105
+ "browser_screen_height": "browser_screen_height",
106
+ "browser_screen_width": "browser_screen_width",
107
+ "browser_tz": "browser_tz",
108
+ "browser_user_agent": "browser_user_agent",
109
+ "challenge_window_size": "challenge_window_size",
110
+ "browser_javascript_enabled": "browser_javascript_enabled",
111
+ "accept_language": "accept_language",
112
+ }
113
+
114
+ _optionals = [
115
+ "browser_accept_header",
116
+ "browser_java_enabled",
117
+ "browser_language",
118
+ "browser_color_depth",
119
+ "browser_screen_height",
120
+ "browser_screen_width",
121
+ "browser_tz",
122
+ "browser_user_agent",
123
+ "challenge_window_size",
124
+ "browser_javascript_enabled",
125
+ "accept_language",
126
+ ]
127
+
128
+ def __init__(
129
+ self,
130
+ browser_accept_header=APIHelper.SKIP,
131
+ browser_java_enabled=APIHelper.SKIP,
132
+ browser_language=APIHelper.SKIP,
133
+ browser_color_depth=APIHelper.SKIP,
134
+ browser_screen_height=APIHelper.SKIP,
135
+ browser_screen_width=APIHelper.SKIP,
136
+ browser_tz=APIHelper.SKIP,
137
+ browser_user_agent=APIHelper.SKIP,
138
+ challenge_window_size=APIHelper.SKIP,
139
+ browser_javascript_enabled=APIHelper.SKIP,
140
+ accept_language=APIHelper.SKIP,
141
+ additional_properties=None):
142
+ """Initialize a BrowserInformation instance."""
143
+ # Initialize members of the class
144
+ if browser_accept_header is not APIHelper.SKIP:
145
+ self.browser_accept_header = browser_accept_header
146
+ if browser_java_enabled is not APIHelper.SKIP:
147
+ self.browser_java_enabled = browser_java_enabled
148
+ if browser_language is not APIHelper.SKIP:
149
+ self.browser_language = browser_language
150
+ if browser_color_depth is not APIHelper.SKIP:
151
+ self.browser_color_depth = browser_color_depth
152
+ if browser_screen_height is not APIHelper.SKIP:
153
+ self.browser_screen_height = browser_screen_height
154
+ if browser_screen_width is not APIHelper.SKIP:
155
+ self.browser_screen_width = browser_screen_width
156
+ if browser_tz is not APIHelper.SKIP:
157
+ self.browser_tz = browser_tz
158
+ if browser_user_agent is not APIHelper.SKIP:
159
+ self.browser_user_agent = browser_user_agent
160
+ if challenge_window_size is not APIHelper.SKIP:
161
+ self.challenge_window_size = challenge_window_size
162
+ if browser_javascript_enabled is not APIHelper.SKIP:
163
+ self.browser_javascript_enabled = browser_javascript_enabled
164
+ if accept_language is not APIHelper.SKIP:
165
+ self.accept_language = accept_language
166
+
167
+ # Add additional model properties to the instance
168
+ if additional_properties is None:
169
+ additional_properties = {}
170
+ self.additional_properties = additional_properties
171
+
172
+ @classmethod
173
+ def from_dictionary(cls,
174
+ dictionary):
175
+ """Create an instance of this model from a dictionary
176
+
177
+ Args:
178
+ dictionary (dictionary): A dictionary representation of the object
179
+ as obtained from the deserialization of the server's response. The
180
+ keys MUST match property names in the API description.
181
+
182
+ Returns:
183
+ object: An instance of this structure class.
184
+
185
+ """
186
+ if not isinstance(dictionary, dict) or dictionary is None:
187
+ return None
188
+
189
+ # Extract variables from the dictionary
190
+ browser_accept_header =\
191
+ dictionary.get("browser_accept_header")\
192
+ if dictionary.get("browser_accept_header")\
193
+ else APIHelper.SKIP
194
+ browser_java_enabled =\
195
+ dictionary.get("browser_java_enabled")\
196
+ if "browser_java_enabled" in dictionary.keys()\
197
+ else APIHelper.SKIP
198
+ browser_language =\
199
+ dictionary.get("browser_language")\
200
+ if dictionary.get("browser_language")\
201
+ else APIHelper.SKIP
202
+ browser_color_depth =\
203
+ dictionary.get("browser_color_depth")\
204
+ if dictionary.get("browser_color_depth")\
205
+ else APIHelper.SKIP
206
+ browser_screen_height =\
207
+ dictionary.get("browser_screen_height")\
208
+ if dictionary.get("browser_screen_height")\
209
+ else APIHelper.SKIP
210
+ browser_screen_width =\
211
+ dictionary.get("browser_screen_width")\
212
+ if dictionary.get("browser_screen_width")\
213
+ else APIHelper.SKIP
214
+ browser_tz =\
215
+ dictionary.get("browser_tz")\
216
+ if dictionary.get("browser_tz")\
217
+ else APIHelper.SKIP
218
+ browser_user_agent =\
219
+ dictionary.get("browser_user_agent")\
220
+ if dictionary.get("browser_user_agent")\
221
+ else APIHelper.SKIP
222
+ challenge_window_size =\
223
+ dictionary.get("challenge_window_size")\
224
+ if dictionary.get("challenge_window_size")\
225
+ else APIHelper.SKIP
226
+ browser_javascript_enabled =\
227
+ dictionary.get("browser_javascript_enabled")\
228
+ if "browser_javascript_enabled" in dictionary.keys()\
229
+ else APIHelper.SKIP
230
+ accept_language =\
231
+ dictionary.get("accept_language")\
232
+ if dictionary.get("accept_language")\
233
+ else APIHelper.SKIP
234
+
235
+ # Clean out expected properties from dictionary
236
+ additional_properties =\
237
+ {k: v for k, v in dictionary.items() if k not in cls._names.values()}
238
+
239
+ # Return an object of this model
240
+ return cls(browser_accept_header,
241
+ browser_java_enabled,
242
+ browser_language,
243
+ browser_color_depth,
244
+ browser_screen_height,
245
+ browser_screen_width,
246
+ browser_tz,
247
+ browser_user_agent,
248
+ challenge_window_size,
249
+ browser_javascript_enabled,
250
+ accept_language,
251
+ additional_properties)
252
+
253
+ def __repr__(self):
254
+ """Return a unambiguous string representation."""
255
+ _browser_accept_header=(
256
+ self.browser_accept_header
257
+ if hasattr(self, "browser_accept_header")
258
+ else None
259
+ )
260
+ _browser_java_enabled=(
261
+ self.browser_java_enabled
262
+ if hasattr(self, "browser_java_enabled")
263
+ else None
264
+ )
265
+ _browser_language=(
266
+ self.browser_language
267
+ if hasattr(self, "browser_language")
268
+ else None
269
+ )
270
+ _browser_color_depth=(
271
+ self.browser_color_depth
272
+ if hasattr(self, "browser_color_depth")
273
+ else None
274
+ )
275
+ _browser_screen_height=(
276
+ self.browser_screen_height
277
+ if hasattr(self, "browser_screen_height")
278
+ else None
279
+ )
280
+ _browser_screen_width=(
281
+ self.browser_screen_width
282
+ if hasattr(self, "browser_screen_width")
283
+ else None
284
+ )
285
+ _browser_tz=(
286
+ self.browser_tz
287
+ if hasattr(self, "browser_tz")
288
+ else None
289
+ )
290
+ _browser_user_agent=(
291
+ self.browser_user_agent
292
+ if hasattr(self, "browser_user_agent")
293
+ else None
294
+ )
295
+ _challenge_window_size=(
296
+ self.challenge_window_size
297
+ if hasattr(self, "challenge_window_size")
298
+ else None
299
+ )
300
+ _browser_javascript_enabled=(
301
+ self.browser_javascript_enabled
302
+ if hasattr(self, "browser_javascript_enabled")
303
+ else None
304
+ )
305
+ _accept_language=(
306
+ self.accept_language
307
+ if hasattr(self, "accept_language")
308
+ else None
309
+ )
310
+ _additional_properties=self.additional_properties
311
+ return (
312
+ f"{self.__class__.__name__}("
313
+ f"browser_accept_header={_browser_accept_header!r}, "
314
+ f"browser_java_enabled={_browser_java_enabled!r}, "
315
+ f"browser_language={_browser_language!r}, "
316
+ f"browser_color_depth={_browser_color_depth!r}, "
317
+ f"browser_screen_height={_browser_screen_height!r}, "
318
+ f"browser_screen_width={_browser_screen_width!r}, "
319
+ f"browser_tz={_browser_tz!r}, "
320
+ f"browser_user_agent={_browser_user_agent!r}, "
321
+ f"challenge_window_size={_challenge_window_size!r}, "
322
+ f"browser_javascript_enabled={_browser_javascript_enabled!r}, "
323
+ f"accept_language={_accept_language!r}, "
324
+ f"additional_properties={_additional_properties!r}, "
325
+ f")"
326
+ )
327
+
328
+ def __str__(self):
329
+ """Return a human-readable string representation."""
330
+ _browser_accept_header=(
331
+ self.browser_accept_header
332
+ if hasattr(self, "browser_accept_header")
333
+ else None
334
+ )
335
+ _browser_java_enabled=(
336
+ self.browser_java_enabled
337
+ if hasattr(self, "browser_java_enabled")
338
+ else None
339
+ )
340
+ _browser_language=(
341
+ self.browser_language
342
+ if hasattr(self, "browser_language")
343
+ else None
344
+ )
345
+ _browser_color_depth=(
346
+ self.browser_color_depth
347
+ if hasattr(self, "browser_color_depth")
348
+ else None
349
+ )
350
+ _browser_screen_height=(
351
+ self.browser_screen_height
352
+ if hasattr(self, "browser_screen_height")
353
+ else None
354
+ )
355
+ _browser_screen_width=(
356
+ self.browser_screen_width
357
+ if hasattr(self, "browser_screen_width")
358
+ else None
359
+ )
360
+ _browser_tz=(
361
+ self.browser_tz
362
+ if hasattr(self, "browser_tz")
363
+ else None
364
+ )
365
+ _browser_user_agent=(
366
+ self.browser_user_agent
367
+ if hasattr(self, "browser_user_agent")
368
+ else None
369
+ )
370
+ _challenge_window_size=(
371
+ self.challenge_window_size
372
+ if hasattr(self, "challenge_window_size")
373
+ else None
374
+ )
375
+ _browser_javascript_enabled=(
376
+ self.browser_javascript_enabled
377
+ if hasattr(self, "browser_javascript_enabled")
378
+ else None
379
+ )
380
+ _accept_language=(
381
+ self.accept_language
382
+ if hasattr(self, "accept_language")
383
+ else None
384
+ )
385
+ _additional_properties=self.additional_properties
386
+ return (
387
+ f"{self.__class__.__name__}("
388
+ f"browser_accept_header={_browser_accept_header!s}, "
389
+ f"browser_java_enabled={_browser_java_enabled!s}, "
390
+ f"browser_language={_browser_language!s}, "
391
+ f"browser_color_depth={_browser_color_depth!s}, "
392
+ f"browser_screen_height={_browser_screen_height!s}, "
393
+ f"browser_screen_width={_browser_screen_width!s}, "
394
+ f"browser_tz={_browser_tz!s}, "
395
+ f"browser_user_agent={_browser_user_agent!s}, "
396
+ f"challenge_window_size={_challenge_window_size!s}, "
397
+ f"browser_javascript_enabled={_browser_javascript_enabled!s}, "
398
+ f"accept_language={_accept_language!s}, "
399
+ f"additional_properties={_additional_properties!s}, "
400
+ f")"
401
+ )