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,324 @@
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
+ from fortisapi.models.billing_address_24 import (
9
+ BillingAddress24,
10
+ )
11
+ from fortisapi.models.home_phone import HomePhone
12
+ from fortisapi.models.mobile_phone import MobilePhone
13
+ from fortisapi.models.shipping_address import (
14
+ ShippingAddress,
15
+ )
16
+ from fortisapi.models.work_phone import WorkPhone
17
+
18
+
19
+ class Cardholder(object):
20
+ """Implementation of the 'Cardholder' model.
21
+
22
+ Contains information for the Cardholder. This field is required unless market or
23
+ regional mandate restricts sending this information.
24
+
25
+ Attributes:
26
+ address_match (AddressMatchEnum): Indicates whether the Cardholder Shipping
27
+ Address and Cardholder Billing Address are the same. If the field is not
28
+ set and the shipping and billing addresses are the same, the 3DS Server
29
+ will set the value to Y. Otherwise, the value will not be changed. >Y -
30
+ Shipping Address matches Billing Address > >N - Shipping Address does not
31
+ match Billing Address >
32
+ billing_address (BillingAddress24): Cardholder billing address object
33
+ email (str): The email address associated with the account that is either
34
+ entered by the Cardholder, or is on file with the 3DS Requestor. This
35
+ field shall meet requirements of Section 3.4 of IETF RFC 5322. This
36
+ field is required unless market or regional mandate restricts sending
37
+ this information.
38
+ home_phone (HomePhone): The home phone provided by the Cardholder. Refer to
39
+ ITU-E.164 for additional information on format and length. This field is
40
+ required if available, unless market or regional mandate restricts
41
+ sending this information.
42
+ mobile_phone (MobilePhone): The mobile phone provided by the Cardholder.
43
+ Refer to ITU-E.164 for additional information on format and length. This
44
+ field is required if available, unless market or regional mandate
45
+ restricts sending this information.
46
+ work_phone (WorkPhone): The work phone provided by the Cardholder. Refer to
47
+ ITU-E.164 for additional information on format and length. This field is
48
+ required if available, unless market or regional mandate restricts
49
+ sending this information.
50
+ cardholder_name (str): Name of the Cardholder. This field is required unless
51
+ market or regional mandate restricts sending this information.
52
+ shipping_address (ShippingAddress): Cardholder shipping address object
53
+ tax_id (str): Tax ID is the Cardholder's tax identification. This field is
54
+ required depending on the rules provided by the Directory Server.
55
+ Available for supporting EMV 3DS 2.3.1 and later versions.
56
+ additional_properties (Dict[str, object]): The additional properties for the
57
+ model.
58
+
59
+ """
60
+
61
+ # Create a mapping from Model property names to API property names
62
+ _names = {
63
+ "address_match": "address_match",
64
+ "billing_address": "billing_address",
65
+ "email": "email",
66
+ "home_phone": "home_phone",
67
+ "mobile_phone": "mobile_phone",
68
+ "work_phone": "work_phone",
69
+ "cardholder_name": "cardholder_name",
70
+ "shipping_address": "shipping_address",
71
+ "tax_id": "tax_id",
72
+ }
73
+
74
+ _optionals = [
75
+ "address_match",
76
+ "billing_address",
77
+ "email",
78
+ "home_phone",
79
+ "mobile_phone",
80
+ "work_phone",
81
+ "cardholder_name",
82
+ "shipping_address",
83
+ "tax_id",
84
+ ]
85
+
86
+ def __init__(
87
+ self,
88
+ address_match=APIHelper.SKIP,
89
+ billing_address=APIHelper.SKIP,
90
+ email=APIHelper.SKIP,
91
+ home_phone=APIHelper.SKIP,
92
+ mobile_phone=APIHelper.SKIP,
93
+ work_phone=APIHelper.SKIP,
94
+ cardholder_name=APIHelper.SKIP,
95
+ shipping_address=APIHelper.SKIP,
96
+ tax_id=APIHelper.SKIP,
97
+ additional_properties=None):
98
+ """Initialize a Cardholder instance."""
99
+ # Initialize members of the class
100
+ if address_match is not APIHelper.SKIP:
101
+ self.address_match = address_match
102
+ if billing_address is not APIHelper.SKIP:
103
+ self.billing_address = billing_address
104
+ if email is not APIHelper.SKIP:
105
+ self.email = email
106
+ if home_phone is not APIHelper.SKIP:
107
+ self.home_phone = home_phone
108
+ if mobile_phone is not APIHelper.SKIP:
109
+ self.mobile_phone = mobile_phone
110
+ if work_phone is not APIHelper.SKIP:
111
+ self.work_phone = work_phone
112
+ if cardholder_name is not APIHelper.SKIP:
113
+ self.cardholder_name = cardholder_name
114
+ if shipping_address is not APIHelper.SKIP:
115
+ self.shipping_address = shipping_address
116
+ if tax_id is not APIHelper.SKIP:
117
+ self.tax_id = tax_id
118
+
119
+ # Add additional model properties to the instance
120
+ if additional_properties is None:
121
+ additional_properties = {}
122
+ self.additional_properties = additional_properties
123
+
124
+ @classmethod
125
+ def from_dictionary(cls,
126
+ dictionary):
127
+ """Create an instance of this model from a dictionary
128
+
129
+ Args:
130
+ dictionary (dictionary): A dictionary representation of the object
131
+ as obtained from the deserialization of the server's response. The
132
+ keys MUST match property names in the API description.
133
+
134
+ Returns:
135
+ object: An instance of this structure class.
136
+
137
+ """
138
+ if not isinstance(dictionary, dict) or dictionary is None:
139
+ return None
140
+
141
+ # Extract variables from the dictionary
142
+ address_match =\
143
+ dictionary.get("address_match")\
144
+ if dictionary.get("address_match")\
145
+ else APIHelper.SKIP
146
+ billing_address =\
147
+ BillingAddress24.from_dictionary(
148
+ dictionary.get("billing_address"))\
149
+ if "billing_address" in dictionary.keys()\
150
+ else APIHelper.SKIP
151
+ email =\
152
+ dictionary.get("email")\
153
+ if dictionary.get("email")\
154
+ else APIHelper.SKIP
155
+ home_phone =\
156
+ HomePhone.from_dictionary(
157
+ dictionary.get("home_phone"))\
158
+ if "home_phone" in dictionary.keys()\
159
+ else APIHelper.SKIP
160
+ mobile_phone =\
161
+ MobilePhone.from_dictionary(
162
+ dictionary.get("mobile_phone"))\
163
+ if "mobile_phone" in dictionary.keys()\
164
+ else APIHelper.SKIP
165
+ work_phone =\
166
+ WorkPhone.from_dictionary(
167
+ dictionary.get("work_phone"))\
168
+ if "work_phone" in dictionary.keys()\
169
+ else APIHelper.SKIP
170
+ cardholder_name =\
171
+ dictionary.get("cardholder_name")\
172
+ if dictionary.get("cardholder_name")\
173
+ else APIHelper.SKIP
174
+ shipping_address =\
175
+ ShippingAddress.from_dictionary(
176
+ dictionary.get("shipping_address"))\
177
+ if "shipping_address" in dictionary.keys()\
178
+ else APIHelper.SKIP
179
+ tax_id =\
180
+ dictionary.get("tax_id")\
181
+ if dictionary.get("tax_id")\
182
+ else APIHelper.SKIP
183
+
184
+ # Clean out expected properties from dictionary
185
+ additional_properties =\
186
+ {k: v for k, v in dictionary.items() if k not in cls._names.values()}
187
+
188
+ # Return an object of this model
189
+ return cls(address_match,
190
+ billing_address,
191
+ email,
192
+ home_phone,
193
+ mobile_phone,
194
+ work_phone,
195
+ cardholder_name,
196
+ shipping_address,
197
+ tax_id,
198
+ additional_properties)
199
+
200
+ def __repr__(self):
201
+ """Return a unambiguous string representation."""
202
+ _address_match=(
203
+ self.address_match
204
+ if hasattr(self, "address_match")
205
+ else None
206
+ )
207
+ _billing_address=(
208
+ self.billing_address
209
+ if hasattr(self, "billing_address")
210
+ else None
211
+ )
212
+ _email=(
213
+ self.email
214
+ if hasattr(self, "email")
215
+ else None
216
+ )
217
+ _home_phone=(
218
+ self.home_phone
219
+ if hasattr(self, "home_phone")
220
+ else None
221
+ )
222
+ _mobile_phone=(
223
+ self.mobile_phone
224
+ if hasattr(self, "mobile_phone")
225
+ else None
226
+ )
227
+ _work_phone=(
228
+ self.work_phone
229
+ if hasattr(self, "work_phone")
230
+ else None
231
+ )
232
+ _cardholder_name=(
233
+ self.cardholder_name
234
+ if hasattr(self, "cardholder_name")
235
+ else None
236
+ )
237
+ _shipping_address=(
238
+ self.shipping_address
239
+ if hasattr(self, "shipping_address")
240
+ else None
241
+ )
242
+ _tax_id=(
243
+ self.tax_id
244
+ if hasattr(self, "tax_id")
245
+ else None
246
+ )
247
+ _additional_properties=self.additional_properties
248
+ return (
249
+ f"{self.__class__.__name__}("
250
+ f"address_match={_address_match!r}, "
251
+ f"billing_address={_billing_address!r}, "
252
+ f"email={_email!r}, "
253
+ f"home_phone={_home_phone!r}, "
254
+ f"mobile_phone={_mobile_phone!r}, "
255
+ f"work_phone={_work_phone!r}, "
256
+ f"cardholder_name={_cardholder_name!r}, "
257
+ f"shipping_address={_shipping_address!r}, "
258
+ f"tax_id={_tax_id!r}, "
259
+ f"additional_properties={_additional_properties!r}, "
260
+ f")"
261
+ )
262
+
263
+ def __str__(self):
264
+ """Return a human-readable string representation."""
265
+ _address_match=(
266
+ self.address_match
267
+ if hasattr(self, "address_match")
268
+ else None
269
+ )
270
+ _billing_address=(
271
+ self.billing_address
272
+ if hasattr(self, "billing_address")
273
+ else None
274
+ )
275
+ _email=(
276
+ self.email
277
+ if hasattr(self, "email")
278
+ else None
279
+ )
280
+ _home_phone=(
281
+ self.home_phone
282
+ if hasattr(self, "home_phone")
283
+ else None
284
+ )
285
+ _mobile_phone=(
286
+ self.mobile_phone
287
+ if hasattr(self, "mobile_phone")
288
+ else None
289
+ )
290
+ _work_phone=(
291
+ self.work_phone
292
+ if hasattr(self, "work_phone")
293
+ else None
294
+ )
295
+ _cardholder_name=(
296
+ self.cardholder_name
297
+ if hasattr(self, "cardholder_name")
298
+ else None
299
+ )
300
+ _shipping_address=(
301
+ self.shipping_address
302
+ if hasattr(self, "shipping_address")
303
+ else None
304
+ )
305
+ _tax_id=(
306
+ self.tax_id
307
+ if hasattr(self, "tax_id")
308
+ else None
309
+ )
310
+ _additional_properties=self.additional_properties
311
+ return (
312
+ f"{self.__class__.__name__}("
313
+ f"address_match={_address_match!s}, "
314
+ f"billing_address={_billing_address!s}, "
315
+ f"email={_email!s}, "
316
+ f"home_phone={_home_phone!s}, "
317
+ f"mobile_phone={_mobile_phone!s}, "
318
+ f"work_phone={_work_phone!s}, "
319
+ f"cardholder_name={_cardholder_name!s}, "
320
+ f"shipping_address={_shipping_address!s}, "
321
+ f"tax_id={_tax_id!s}, "
322
+ f"additional_properties={_additional_properties!s}, "
323
+ f")"
324
+ )
@@ -0,0 +1,211 @@
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
+ from fortisapi.models.account_info import AccountInfo
9
+
10
+
11
+ class CardholderAccount(object):
12
+ """Implementation of the 'CardholderAccount' model.
13
+
14
+ Contains information for the Cardholder Account.
15
+
16
+ Attributes:
17
+ expire_date (str): Expiry date of the PAN or token supplied to the 3DS
18
+ Requestor by the Cardholder. The field has 4 characters in a format YYMM.
19
+ The requirements of the presence of this field are DS specific.
20
+ account_info (AccountInfo): This field contains additional information about
21
+ the Cardholder's account provided by the 3DS Requestor. The field is
22
+ optional but recommended to include.
23
+ account_number (str): Account number that will be used in the authorization
24
+ request for payment transactions. May be represented by PAN or token.
25
+ scheme_id (SchemeIdEnum): ID for the scheme to which the Cardholder's
26
+ acctNumber belongs to. It will be used to identify the Scheme from the
27
+ 3DS Server configuration.
28
+ account_id (str): Additional information about the account optionally
29
+ provided by the 3DS Requestor.
30
+ cvv (str): Three or four-digit security code printed on the card. This field
31
+ is required depending on the rules provided by the Directory Server.
32
+ Available for supporting EMV 3DS 2.3.1 and later versions.
33
+ additional_properties (Dict[str, object]): The additional properties for the
34
+ model.
35
+
36
+ """
37
+
38
+ # Create a mapping from Model property names to API property names
39
+ _names = {
40
+ "account_number": "account_number",
41
+ "scheme_id": "scheme_id",
42
+ "expire_date": "expire_date",
43
+ "account_info": "account_info",
44
+ "account_id": "account_id",
45
+ "cvv": "cvv",
46
+ }
47
+
48
+ _optionals = [
49
+ "expire_date",
50
+ "account_info",
51
+ "account_id",
52
+ "cvv",
53
+ ]
54
+
55
+ def __init__(
56
+ self,
57
+ account_number=None,
58
+ scheme_id=None,
59
+ expire_date=APIHelper.SKIP,
60
+ account_info=APIHelper.SKIP,
61
+ account_id=APIHelper.SKIP,
62
+ cvv=APIHelper.SKIP,
63
+ additional_properties=None):
64
+ """Initialize a CardholderAccount instance."""
65
+ # Initialize members of the class
66
+ if expire_date is not APIHelper.SKIP:
67
+ self.expire_date = expire_date
68
+ if account_info is not APIHelper.SKIP:
69
+ self.account_info = account_info
70
+ self.account_number = account_number
71
+ self.scheme_id = scheme_id
72
+ if account_id is not APIHelper.SKIP:
73
+ self.account_id = account_id
74
+ if cvv is not APIHelper.SKIP:
75
+ self.cvv = cvv
76
+
77
+ # Add additional model properties to the instance
78
+ if additional_properties is None:
79
+ additional_properties = {}
80
+ self.additional_properties = additional_properties
81
+
82
+ @classmethod
83
+ def from_dictionary(cls,
84
+ dictionary):
85
+ """Create an instance of this model from a dictionary
86
+
87
+ Args:
88
+ dictionary (dictionary): A dictionary representation of the object
89
+ as obtained from the deserialization of the server's response. The
90
+ keys MUST match property names in the API description.
91
+
92
+ Returns:
93
+ object: An instance of this structure class.
94
+
95
+ """
96
+ if not isinstance(dictionary, dict) or dictionary is None:
97
+ return None
98
+
99
+ # Extract variables from the dictionary
100
+ account_number =\
101
+ dictionary.get("account_number")\
102
+ if dictionary.get("account_number")\
103
+ else None
104
+ scheme_id =\
105
+ dictionary.get("scheme_id")\
106
+ if dictionary.get("scheme_id")\
107
+ else None
108
+ expire_date =\
109
+ dictionary.get("expire_date")\
110
+ if dictionary.get("expire_date")\
111
+ else APIHelper.SKIP
112
+ account_info =\
113
+ AccountInfo.from_dictionary(
114
+ dictionary.get("account_info"))\
115
+ if "account_info" in dictionary.keys()\
116
+ else APIHelper.SKIP
117
+ account_id =\
118
+ dictionary.get("account_id")\
119
+ if dictionary.get("account_id")\
120
+ else APIHelper.SKIP
121
+ cvv =\
122
+ dictionary.get("cvv")\
123
+ if dictionary.get("cvv")\
124
+ else APIHelper.SKIP
125
+
126
+ # Clean out expected properties from dictionary
127
+ additional_properties =\
128
+ {k: v for k, v in dictionary.items() if k not in cls._names.values()}
129
+
130
+ # Return an object of this model
131
+ return cls(account_number,
132
+ scheme_id,
133
+ expire_date,
134
+ account_info,
135
+ account_id,
136
+ cvv,
137
+ additional_properties)
138
+
139
+ def __repr__(self):
140
+ """Return a unambiguous string representation."""
141
+ _expire_date=(
142
+ self.expire_date
143
+ if hasattr(self, "expire_date")
144
+ else None
145
+ )
146
+ _account_info=(
147
+ self.account_info
148
+ if hasattr(self, "account_info")
149
+ else None
150
+ )
151
+ _account_number=self.account_number
152
+ _scheme_id=self.scheme_id
153
+ _account_id=(
154
+ self.account_id
155
+ if hasattr(self, "account_id")
156
+ else None
157
+ )
158
+ _cvv=(
159
+ self.cvv
160
+ if hasattr(self, "cvv")
161
+ else None
162
+ )
163
+ _additional_properties=self.additional_properties
164
+ return (
165
+ f"{self.__class__.__name__}("
166
+ f"expire_date={_expire_date!r}, "
167
+ f"account_info={_account_info!r}, "
168
+ f"account_number={_account_number!r}, "
169
+ f"scheme_id={_scheme_id!r}, "
170
+ f"account_id={_account_id!r}, "
171
+ f"cvv={_cvv!r}, "
172
+ f"additional_properties={_additional_properties!r}, "
173
+ f")"
174
+ )
175
+
176
+ def __str__(self):
177
+ """Return a human-readable string representation."""
178
+ _expire_date=(
179
+ self.expire_date
180
+ if hasattr(self, "expire_date")
181
+ else None
182
+ )
183
+ _account_info=(
184
+ self.account_info
185
+ if hasattr(self, "account_info")
186
+ else None
187
+ )
188
+ _account_number=self.account_number
189
+ _scheme_id=self.scheme_id
190
+ _account_id=(
191
+ self.account_id
192
+ if hasattr(self, "account_id")
193
+ else None
194
+ )
195
+ _cvv=(
196
+ self.cvv
197
+ if hasattr(self, "cvv")
198
+ else None
199
+ )
200
+ _additional_properties=self.additional_properties
201
+ return (
202
+ f"{self.__class__.__name__}("
203
+ f"expire_date={_expire_date!s}, "
204
+ f"account_info={_account_info!s}, "
205
+ f"account_number={_account_number!s}, "
206
+ f"scheme_id={_scheme_id!s}, "
207
+ f"account_id={_account_id!s}, "
208
+ f"cvv={_cvv!s}, "
209
+ f"additional_properties={_additional_properties!s}, "
210
+ f")"
211
+ )
@@ -0,0 +1,133 @@
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 CategoryEnum(object):
9
+ """Implementation of the 'Category' enum.
10
+
11
+ Indicates the category/type of information. This field is required.
12
+ >01 - General
13
+ >
14
+ >02 - Certificate expiry
15
+ >
16
+ >03 - Fraud alert
17
+ >
18
+ >04 - Operational alert
19
+ >
20
+ >05 - Transactional data
21
+ >
22
+ >06 - Other
23
+ >
24
+ >80 through 99 - PS-specific value (dependent on the payment scheme type)
25
+ >
26
+
27
+ Attributes:
28
+ ENUM_01: The enum member of type str.
29
+ ENUM_02: The enum member of type str.
30
+ ENUM_03: The enum member of type str.
31
+ ENUM_04: The enum member of type str.
32
+ ENUM_05: The enum member of type str.
33
+ ENUM_06: The enum member of type str.
34
+ ENUM_80: The enum member of type str.
35
+ ENUM_81: The enum member of type str.
36
+ ENUM_82: The enum member of type str.
37
+ ENUM_83: The enum member of type str.
38
+ ENUM_84: The enum member of type str.
39
+ ENUM_85: The enum member of type str.
40
+ ENUM_86: The enum member of type str.
41
+ ENUM_87: The enum member of type str.
42
+ ENUM_88: The enum member of type str.
43
+ ENUM_89: The enum member of type str.
44
+ ENUM_90: The enum member of type str.
45
+ ENUM_91: The enum member of type str.
46
+ ENUM_92: The enum member of type str.
47
+ ENUM_93: The enum member of type str.
48
+ ENUM_94: The enum member of type str.
49
+ ENUM_95: The enum member of type str.
50
+ ENUM_96: The enum member of type str.
51
+ ENUM_97: The enum member of type str.
52
+ ENUM_98: The enum member of type str.
53
+ ENUM_99: The enum member of type str.
54
+ additional_properties (Dict[str, object]): The additional properties for the
55
+ model.
56
+
57
+ """
58
+
59
+ ENUM_01 = "01"
60
+
61
+ ENUM_02 = "02"
62
+
63
+ ENUM_03 = "03"
64
+
65
+ ENUM_04 = "04"
66
+
67
+ ENUM_05 = "05"
68
+
69
+ ENUM_06 = "06"
70
+
71
+ ENUM_80 = "80"
72
+
73
+ ENUM_81 = "81"
74
+
75
+ ENUM_82 = "82"
76
+
77
+ ENUM_83 = "83"
78
+
79
+ ENUM_84 = "84"
80
+
81
+ ENUM_85 = "85"
82
+
83
+ ENUM_86 = "86"
84
+
85
+ ENUM_87 = "87"
86
+
87
+ ENUM_88 = "88"
88
+
89
+ ENUM_89 = "89"
90
+
91
+ ENUM_90 = "90"
92
+
93
+ ENUM_91 = "91"
94
+
95
+ ENUM_92 = "92"
96
+
97
+ ENUM_93 = "93"
98
+
99
+ ENUM_94 = "94"
100
+
101
+ ENUM_95 = "95"
102
+
103
+ ENUM_96 = "96"
104
+
105
+ ENUM_97 = "97"
106
+
107
+ ENUM_98 = "98"
108
+
109
+ ENUM_99 = "99"
110
+
111
+ @classmethod
112
+ def from_value(cls, value, default=None):
113
+ """Return the matching enum value for the given input."""
114
+ if value is None:
115
+ return default
116
+
117
+ # If numeric and matches directly
118
+ if isinstance(value, int):
119
+ for name, val in cls.__dict__.items():
120
+ if not name.startswith("_") and val == value:
121
+ return val
122
+
123
+ # If string, perform case-insensitive match
124
+ if isinstance(value, str):
125
+ value_lower = value.lower()
126
+ for name, val in cls.__dict__.items():
127
+ if not name.startswith("_") and (
128
+ name.lower() == value_lower or str(val).lower() == value_lower
129
+ ):
130
+ return val
131
+
132
+ # Fallback to default
133
+ return default