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.
- fortis_python_sdk-1.0.0.dist-info/METADATA +183 -0
- fortis_python_sdk-1.0.0.dist-info/RECORD +699 -0
- fortis_python_sdk-1.0.0.dist-info/WHEEL +5 -0
- fortis_python_sdk-1.0.0.dist-info/licenses/LICENSE +28 -0
- fortis_python_sdk-1.0.0.dist-info/top_level.txt +1 -0
- fortisapi/__init__.py +12 -0
- fortisapi/api_helper.py +19 -0
- fortisapi/configuration.py +294 -0
- fortisapi/controllers/__init__.py +40 -0
- fortisapi/controllers/apple_pay_validate_merchant_controller.py +84 -0
- fortisapi/controllers/async_processing_controller.py +78 -0
- fortisapi/controllers/base_controller.py +67 -0
- fortisapi/controllers/batches_controller.py +179 -0
- fortisapi/controllers/calculate_surcharge_controller.py +76 -0
- fortisapi/controllers/contacts_controller.py +398 -0
- fortisapi/controllers/declined_recurring_transactions_controller.py +326 -0
- fortisapi/controllers/device_terms_controller.py +242 -0
- fortisapi/controllers/elements_controller.py +129 -0
- fortisapi/controllers/enterprise_link_redirect_controller.py +81 -0
- fortisapi/controllers/full_boarding_controller.py +85 -0
- fortisapi/controllers/level_3_data_controller.py +219 -0
- fortisapi/controllers/locations_controller.py +478 -0
- fortisapi/controllers/m_3_ds_authentication_controller.py +90 -0
- fortisapi/controllers/m_3_ds_transactions_controller.py +84 -0
- fortisapi/controllers/merchant_deposits_controller.py +295 -0
- fortisapi/controllers/merchant_details_controller.py +82 -0
- fortisapi/controllers/on_boarding_controller.py +100 -0
- fortisapi/controllers/paylinks_controller.py +396 -0
- fortisapi/controllers/payment_card_reader_token_controller.py +76 -0
- fortisapi/controllers/quick_invoices_controller.py +531 -0
- fortisapi/controllers/recurring_controller.py +545 -0
- fortisapi/controllers/reports_controller.py +209 -0
- fortisapi/controllers/signatures_controller.py +249 -0
- fortisapi/controllers/tags_controller.py +328 -0
- fortisapi/controllers/terminals_controller.py +304 -0
- fortisapi/controllers/tickets_controller.py +249 -0
- fortisapi/controllers/tokens_controller.py +679 -0
- fortisapi/controllers/transaction_ach_retries_controller.py +250 -0
- fortisapi/controllers/transactions_ach_controller.py +398 -0
- fortisapi/controllers/transactions_cash_controller.py +123 -0
- fortisapi/controllers/transactions_credit_card_controller.py +1796 -0
- fortisapi/controllers/transactions_ebt_card_controller.py +147 -0
- fortisapi/controllers/transactions_read_controller.py +248 -0
- fortisapi/controllers/transactions_updates_controller.py +435 -0
- fortisapi/controllers/webhooks_controller.py +493 -0
- fortisapi/exceptions/__init__.py +8 -0
- fortisapi/exceptions/api_exception.py +36 -0
- fortisapi/exceptions/response_401_token_exception.py +77 -0
- fortisapi/exceptions/response_412_exception.py +109 -0
- fortisapi/exceptions/response_error_exception.py +109 -0
- fortisapi/fortisapi_client.py +360 -0
- fortisapi/http/__init__.py +11 -0
- fortisapi/http/auth/__init__.py +8 -0
- fortisapi/http/auth/access_token.py +100 -0
- fortisapi/http/auth/developer_id.py +100 -0
- fortisapi/http/auth/user_api_key.py +100 -0
- fortisapi/http/auth/user_id.py +100 -0
- fortisapi/http/http_call_back.py +20 -0
- fortisapi/http/http_client_provider.py +23 -0
- fortisapi/http/http_method_enum.py +25 -0
- fortisapi/http/http_request.py +55 -0
- fortisapi/http/http_response.py +45 -0
- fortisapi/http/proxy_settings.py +50 -0
- fortisapi/models/__init__.py +636 -0
- fortisapi/models/account_info.py +519 -0
- fortisapi/models/account_type_12_enum.py +47 -0
- fortisapi/models/account_type_13_enum.py +51 -0
- fortisapi/models/account_type_16_enum.py +51 -0
- fortisapi/models/account_type_enum.py +83 -0
- fortisapi/models/account_vault.py +1408 -0
- fortisapi/models/account_vault_cau_log.py +201 -0
- fortisapi/models/account_vault_cau_product_transaction.py +754 -0
- fortisapi/models/ach_product_transaction.py +3048 -0
- fortisapi/models/ach_sec_code_1_enum.py +59 -0
- fortisapi/models/ach_sec_code_31_enum.py +61 -0
- fortisapi/models/ach_sec_code_3_enum.py +59 -0
- fortisapi/models/ach_sec_code_enum.py +67 -0
- fortisapi/models/acs_challenge_mandated_enum.py +52 -0
- fortisapi/models/action_enum.py +70 -0
- fortisapi/models/active_recurring.py +975 -0
- fortisapi/models/additional_access.py +102 -0
- fortisapi/models/additional_amount.py +201 -0
- fortisapi/models/addon.py +222 -0
- fortisapi/models/addon_transaction_type_enum.py +57 -0
- fortisapi/models/address.py +205 -0
- fortisapi/models/address_1.py +228 -0
- fortisapi/models/address_2.py +204 -0
- fortisapi/models/address_71.py +186 -0
- fortisapi/models/address_match_enum.py +54 -0
- fortisapi/models/address_type_enum.py +50 -0
- fortisapi/models/all_tag.py +194 -0
- fortisapi/models/alt_bank_account.py +180 -0
- fortisapi/models/amount_ind_enum.py +121 -0
- fortisapi/models/app_delivery_enum.py +50 -0
- fortisapi/models/auth_currency_enum.py +168 -0
- fortisapi/models/avs_enum.py +56 -0
- fortisapi/models/balance.py +154 -0
- fortisapi/models/bank_account.py +156 -0
- fortisapi/models/bank_account_1.py +186 -0
- fortisapi/models/batch_risk_config.py +132 -0
- fortisapi/models/billing_address.py +233 -0
- fortisapi/models/billing_address_1.py +258 -0
- fortisapi/models/billing_address_24.py +263 -0
- fortisapi/models/billing_address_5.py +155 -0
- fortisapi/models/body.py +134 -0
- fortisapi/models/branding_domain.py +867 -0
- fortisapi/models/branding_domain_1.py +867 -0
- fortisapi/models/broad_info.py +241 -0
- fortisapi/models/browser_information.py +401 -0
- fortisapi/models/business_category_enum.py +77 -0
- fortisapi/models/business_type_enum.py +365 -0
- fortisapi/models/cardholder.py +324 -0
- fortisapi/models/cardholder_account.py +211 -0
- fortisapi/models/category_enum.py +133 -0
- fortisapi/models/cau_subscribe_type_code_enum.py +50 -0
- fortisapi/models/cau_subscribe_type_id_enum.py +50 -0
- fortisapi/models/cau_summary_status_id_enum.py +53 -0
- fortisapi/models/cc_product_transaction.py +3048 -0
- fortisapi/models/ch_acc_age_ind_enum.py +66 -0
- fortisapi/models/ch_acc_change_ind_enum.py +63 -0
- fortisapi/models/ch_acc_pw_change_ind_enum.py +67 -0
- fortisapi/models/challenge_message_extension.py +177 -0
- fortisapi/models/challenge_window_size_enum.py +73 -0
- fortisapi/models/changelog.py +280 -0
- fortisapi/models/changelog_detail.py +178 -0
- fortisapi/models/children.py +822 -0
- fortisapi/models/communication_type_enum.py +50 -0
- fortisapi/models/conditions.py +125 -0
- fortisapi/models/conditions_18.py +146 -0
- fortisapi/models/conditions_181.py +146 -0
- fortisapi/models/conditions_191.py +146 -0
- fortisapi/models/conditions_27.py +125 -0
- fortisapi/models/conditions_4.py +146 -0
- fortisapi/models/conditions_41.py +146 -0
- fortisapi/models/conditions_42.py +146 -0
- fortisapi/models/conditions_43.py +146 -0
- fortisapi/models/contact.py +179 -0
- fortisapi/models/contact_1.py +822 -0
- fortisapi/models/contact_9.py +169 -0
- fortisapi/models/contact_user_default_entry_page_enum.py +59 -0
- fortisapi/models/context.py +125 -0
- fortisapi/models/country_enum.py +47 -0
- fortisapi/models/created_user.py +1197 -0
- fortisapi/models/currency_code_enum.py +186 -0
- fortisapi/models/currency_type.py +131 -0
- fortisapi/models/data.py +225 -0
- fortisapi/models/data_1.py +105 -0
- fortisapi/models/data_10.py +1283 -0
- fortisapi/models/data_11.py +948 -0
- fortisapi/models/data_12.py +369 -0
- fortisapi/models/data_13.py +263 -0
- fortisapi/models/data_14.py +552 -0
- fortisapi/models/data_15.py +102 -0
- fortisapi/models/data_16.py +930 -0
- fortisapi/models/data_17.py +920 -0
- fortisapi/models/data_18.py +102 -0
- fortisapi/models/data_19.py +631 -0
- fortisapi/models/data_2.py +1134 -0
- fortisapi/models/data_20.py +1657 -0
- fortisapi/models/data_21.py +223 -0
- fortisapi/models/data_22.py +1341 -0
- fortisapi/models/data_23.py +245 -0
- fortisapi/models/data_24.py +219 -0
- fortisapi/models/data_25.py +1456 -0
- fortisapi/models/data_26.py +376 -0
- fortisapi/models/data_27.py +1681 -0
- fortisapi/models/data_28.py +380 -0
- fortisapi/models/data_29.py +4233 -0
- fortisapi/models/data_3.py +296 -0
- fortisapi/models/data_30.py +421 -0
- fortisapi/models/data_31.py +150 -0
- fortisapi/models/data_34.py +103 -0
- fortisapi/models/data_35.py +259 -0
- fortisapi/models/data_36.py +537 -0
- fortisapi/models/data_4.py +482 -0
- fortisapi/models/data_5.py +171 -0
- fortisapi/models/data_6.py +469 -0
- fortisapi/models/data_7.py +230 -0
- fortisapi/models/data_8.py +616 -0
- fortisapi/models/data_9.py +129 -0
- fortisapi/models/debit_credit_enum.py +48 -0
- fortisapi/models/declined_recurring_notification.py +251 -0
- fortisapi/models/default_transaction_type_enum.py +50 -0
- fortisapi/models/delivery_method_enum.py +61 -0
- fortisapi/models/delivery_timeframe_enum.py +61 -0
- fortisapi/models/deposit_type_enum.py +50 -0
- fortisapi/models/detail.py +173 -0
- fortisapi/models/detail_1.py +323 -0
- fortisapi/models/detail_2.py +273 -0
- fortisapi/models/developer_company.py +270 -0
- fortisapi/models/device.py +123 -0
- fortisapi/models/device_binding_status_enum.py +373 -0
- fortisapi/models/device_channel_enum.py +51 -0
- fortisapi/models/document.py +115 -0
- fortisapi/models/e_format_enum.py +62 -0
- fortisapi/models/ebt_plan_enum.py +50 -0
- fortisapi/models/ebt_type_enum.py +61 -0
- fortisapi/models/email_blacklist.py +178 -0
- fortisapi/models/email_enum.py +47 -0
- fortisapi/models/emv_receipt_data.py +244 -0
- fortisapi/models/entry_mode_id_enum.py +73 -0
- fortisapi/models/expand_108_enum.py +48 -0
- fortisapi/models/expand_10_enum.py +42 -0
- fortisapi/models/expand_11_enum.py +99 -0
- fortisapi/models/expand_15_enum.py +42 -0
- fortisapi/models/expand_17_enum.py +96 -0
- fortisapi/models/expand_18_enum.py +84 -0
- fortisapi/models/expand_1_enum.py +75 -0
- fortisapi/models/expand_26_enum.py +87 -0
- fortisapi/models/expand_34_enum.py +42 -0
- fortisapi/models/expand_37_enum.py +42 -0
- fortisapi/models/expand_40_enum.py +63 -0
- fortisapi/models/expand_44_enum.py +48 -0
- fortisapi/models/expand_47_enum.py +69 -0
- fortisapi/models/expand_57_enum.py +54 -0
- fortisapi/models/expand_5_enum.py +48 -0
- fortisapi/models/expand_60_enum.py +171 -0
- fortisapi/models/expand_8_enum.py +57 -0
- fortisapi/models/expand_enum.py +51 -0
- fortisapi/models/field.py +125 -0
- fortisapi/models/field_20.py +267 -0
- fortisapi/models/field_27_enum.py +129 -0
- fortisapi/models/field_28_enum.py +168 -0
- fortisapi/models/field_30_enum.py +75 -0
- fortisapi/models/field_31_enum.py +87 -0
- fortisapi/models/field_33_enum.py +183 -0
- fortisapi/models/field_34_enum.py +195 -0
- fortisapi/models/field_35_enum.py +180 -0
- fortisapi/models/field_36_enum.py +192 -0
- fortisapi/models/field_37_enum.py +102 -0
- fortisapi/models/field_39_enum.py +186 -0
- fortisapi/models/field_41_enum.py +237 -0
- fortisapi/models/field_43_enum.py +198 -0
- fortisapi/models/field_45_enum.py +78 -0
- fortisapi/models/field_46_enum.py +126 -0
- fortisapi/models/field_47_enum.py +60 -0
- fortisapi/models/field_49_enum.py +57 -0
- fortisapi/models/field_51_enum.py +210 -0
- fortisapi/models/field_53_enum.py +84 -0
- fortisapi/models/field_55_enum.py +231 -0
- fortisapi/models/field_57_enum.py +75 -0
- fortisapi/models/field_59_enum.py +510 -0
- fortisapi/models/field_configuration.py +202 -0
- fortisapi/models/file.py +412 -0
- fortisapi/models/file_2.py +125 -0
- fortisapi/models/file_5.py +130 -0
- fortisapi/models/filter_by.py +171 -0
- fortisapi/models/footer.py +134 -0
- fortisapi/models/forecast.py +250 -0
- fortisapi/models/format_1_enum.py +47 -0
- fortisapi/models/format_enum.py +47 -0
- fortisapi/models/header.py +134 -0
- fortisapi/models/helppage.py +270 -0
- fortisapi/models/home_phone.py +130 -0
- fortisapi/models/hosted_payment_page.py +558 -0
- fortisapi/models/identity_verification.py +183 -0
- fortisapi/models/identity_verification_2.py +183 -0
- fortisapi/models/identity_verification_27.py +165 -0
- fortisapi/models/idtype_enum.py +47 -0
- fortisapi/models/iias_ind_enum.py +64 -0
- fortisapi/models/industry_type_enum.py +59 -0
- fortisapi/models/initiation_type_enum.py +92 -0
- fortisapi/models/interval_type_enum.py +50 -0
- fortisapi/models/item_list.py +125 -0
- fortisapi/models/item_list_4.py +99 -0
- fortisapi/models/item_list_5.py +130 -0
- fortisapi/models/joi.py +104 -0
- fortisapi/models/joi_18.py +111 -0
- fortisapi/models/joi_19.py +111 -0
- fortisapi/models/joi_27.py +104 -0
- fortisapi/models/joi_4.py +110 -0
- fortisapi/models/kyc_response_object.py +101 -0
- fortisapi/models/level_3_data.py +481 -0
- fortisapi/models/level_3_data_5.py +324 -0
- fortisapi/models/level_3_data_6.py +469 -0
- fortisapi/models/level_3_default.py +481 -0
- fortisapi/models/line_item.py +450 -0
- fortisapi/models/line_item_13.py +449 -0
- fortisapi/models/line_item_19.py +360 -0
- fortisapi/models/line_item_20.py +273 -0
- fortisapi/models/links.py +196 -0
- fortisapi/models/list.py +650 -0
- fortisapi/models/list_1.py +1134 -0
- fortisapi/models/list_10.py +1657 -0
- fortisapi/models/list_11.py +1341 -0
- fortisapi/models/list_12.py +336 -0
- fortisapi/models/list_13.py +731 -0
- fortisapi/models/list_14.py +245 -0
- fortisapi/models/list_15.py +219 -0
- fortisapi/models/list_16.py +1456 -0
- fortisapi/models/list_17.py +376 -0
- fortisapi/models/list_18.py +1681 -0
- fortisapi/models/list_19.py +380 -0
- fortisapi/models/list_20.py +4233 -0
- fortisapi/models/list_3.py +296 -0
- fortisapi/models/list_4.py +469 -0
- fortisapi/models/list_5.py +948 -0
- fortisapi/models/list_6.py +1283 -0
- fortisapi/models/list_8.py +552 -0
- fortisapi/models/list_9.py +920 -0
- fortisapi/models/location.py +756 -0
- fortisapi/models/location_18.py +217 -0
- fortisapi/models/location_5.py +227 -0
- fortisapi/models/location_billing_account.py +509 -0
- fortisapi/models/location_type_26_enum.py +51 -0
- fortisapi/models/location_type_enum.py +50 -0
- fortisapi/models/locationmarketplace.py +247 -0
- fortisapi/models/log_email.py +364 -0
- fortisapi/models/log_sms.py +315 -0
- fortisapi/models/marketplace.py +247 -0
- fortisapi/models/masync.py +128 -0
- fortisapi/models/merchant_list.py +193 -0
- fortisapi/models/merchant_risk_indicator.py +341 -0
- fortisapi/models/message_category_enum.py +119 -0
- fortisapi/models/message_extension.py +177 -0
- fortisapi/models/meta.py +107 -0
- fortisapi/models/method_3.py +147 -0
- fortisapi/models/method_50.py +145 -0
- fortisapi/models/method_53_enum.py +56 -0
- fortisapi/models/method_5_enum.py +56 -0
- fortisapi/models/method_enum.py +56 -0
- fortisapi/models/mobile_phone.py +130 -0
- fortisapi/models/modified_user.py +1197 -0
- fortisapi/models/multi_transaction.py +147 -0
- fortisapi/models/operator_1_enum.py +59 -0
- fortisapi/models/operator_enum.py +47 -0
- fortisapi/models/order_21.py +99 -0
- fortisapi/models/order_enum.py +47 -0
- fortisapi/models/owner.py +322 -0
- fortisapi/models/ownership_type_enum.py +71 -0
- fortisapi/models/page.py +132 -0
- fortisapi/models/pagination.py +196 -0
- fortisapi/models/parent.py +822 -0
- fortisapi/models/parent_3.py +756 -0
- fortisapi/models/partner_enum.py +71 -0
- fortisapi/models/paylink_action_enum.py +47 -0
- fortisapi/models/payment_acc_ind_enum.py +67 -0
- fortisapi/models/payment_method_16_enum.py +47 -0
- fortisapi/models/payment_method_1_enum.py +47 -0
- fortisapi/models/payment_method_9_enum.py +50 -0
- fortisapi/models/payment_method_enum.py +50 -0
- fortisapi/models/payment_recurring_notification.py +251 -0
- fortisapi/models/payment_type_priority_enum.py +47 -0
- fortisapi/models/postback_log.py +295 -0
- fortisapi/models/postback_status_id_enum.py +53 -0
- fortisapi/models/pre_order_purchase_ind_enum.py +52 -0
- fortisapi/models/preferred_language_enum.py +51 -0
- fortisapi/models/preferred_protocol_version_enum.py +65 -0
- fortisapi/models/pricing_element.py +147 -0
- fortisapi/models/primary_principal.py +396 -0
- fortisapi/models/primary_principal_1.py +376 -0
- fortisapi/models/process_method_enum.py +47 -0
- fortisapi/models/processor_enum.py +59 -0
- fortisapi/models/product_accountvault.py +317 -0
- fortisapi/models/product_file.py +416 -0
- fortisapi/models/product_file_1.py +414 -0
- fortisapi/models/product_invoice.py +651 -0
- fortisapi/models/product_recurring.py +387 -0
- fortisapi/models/product_token.py +317 -0
- fortisapi/models/product_transaction.py +3048 -0
- fortisapi/models/product_transaction_1.py +3046 -0
- fortisapi/models/purchase.py +501 -0
- fortisapi/models/quick_invoice.py +1256 -0
- fortisapi/models/quick_invoice_setting.py +299 -0
- fortisapi/models/quick_invoice_view.py +176 -0
- fortisapi/models/reason_code.py +131 -0
- fortisapi/models/reason_code_id_1_enum.py +935 -0
- fortisapi/models/reason_code_id_enum.py +578 -0
- fortisapi/models/reason_model_enum.py +74 -0
- fortisapi/models/received_email.py +364 -0
- fortisapi/models/recipients_enum.py +62 -0
- fortisapi/models/recurring.py +975 -0
- fortisapi/models/recurring_3.py +977 -0
- fortisapi/models/recurring_flag_enum.py +64 -0
- fortisapi/models/recurring_split.py +200 -0
- fortisapi/models/recurring_type_id_enum.py +47 -0
- fortisapi/models/registration_field_enum.py +87 -0
- fortisapi/models/rejected_transaction.py +3198 -0
- fortisapi/models/rejected_transaction_ach_retry.py +244 -0
- fortisapi/models/relationship_enum.py +50 -0
- fortisapi/models/reorder_items_ind_enum.py +51 -0
- fortisapi/models/report_export_type_enum.py +53 -0
- fortisapi/models/resource_12_enum.py +52 -0
- fortisapi/models/resource_2_enum.py +50 -0
- fortisapi/models/resource_enum.py +55 -0
- fortisapi/models/response_416_date_range.py +148 -0
- fortisapi/models/response_417_filter_channels.py +148 -0
- fortisapi/models/response_apple_pay_validate_merchant.py +126 -0
- fortisapi/models/response_async_status.py +126 -0
- fortisapi/models/response_batchs_collection.py +228 -0
- fortisapi/models/response_calculate_surcharge.py +126 -0
- fortisapi/models/response_contact.py +126 -0
- fortisapi/models/response_contact_searchs_collection.py +228 -0
- fortisapi/models/response_contacts_collection.py +228 -0
- fortisapi/models/response_declined_recurring_transaction.py +126 -0
- fortisapi/models/response_declined_recurring_transaction_payment.py +126 -0
- fortisapi/models/response_declined_recurring_transaction_resend.py +126 -0
- fortisapi/models/response_declined_recurring_transactions_collection.py +228 -0
- fortisapi/models/response_device_term.py +126 -0
- fortisapi/models/response_device_terms_collection.py +228 -0
- fortisapi/models/response_fullboarding.py +126 -0
- fortisapi/models/response_location.py +126 -0
- fortisapi/models/response_location_info.py +126 -0
- fortisapi/models/response_location_infos_collection.py +228 -0
- fortisapi/models/response_location_searchs_collection.py +228 -0
- fortisapi/models/response_locations_collection.py +228 -0
- fortisapi/models/response_merchant.py +126 -0
- fortisapi/models/response_merchant_deposit.py +126 -0
- fortisapi/models/response_merchant_deposits_collection.py +228 -0
- fortisapi/models/response_merchant_details.py +126 -0
- fortisapi/models/response_onboarding.py +126 -0
- fortisapi/models/response_paylink.py +126 -0
- fortisapi/models/response_paylinks_collection.py +228 -0
- fortisapi/models/response_payment_card_reader_token.py +126 -0
- fortisapi/models/response_quick_invoice.py +126 -0
- fortisapi/models/response_quick_invoice_resend.py +126 -0
- fortisapi/models/response_quick_invoices_collection.py +228 -0
- fortisapi/models/response_recurring.py +126 -0
- fortisapi/models/response_recurrings_collection.py +228 -0
- fortisapi/models/response_reporting_reports_cc_settled_transactions_collection.py +231 -0
- fortisapi/models/response_reporting_reports_chargebacks_collection.py +228 -0
- fortisapi/models/response_signature.py +126 -0
- fortisapi/models/response_signatures_collection.py +228 -0
- fortisapi/models/response_tag.py +126 -0
- fortisapi/models/response_tags_collection.py +228 -0
- fortisapi/models/response_terminal.py +126 -0
- fortisapi/models/response_terminals_collection.py +228 -0
- fortisapi/models/response_three_ds_authentication.py +126 -0
- fortisapi/models/response_three_ds_transaction.py +126 -0
- fortisapi/models/response_ticket.py +126 -0
- fortisapi/models/response_ticket_intention.py +126 -0
- fortisapi/models/response_tickets_collection.py +228 -0
- fortisapi/models/response_token.py +126 -0
- fortisapi/models/response_tokens_collection.py +228 -0
- fortisapi/models/response_transaction.py +126 -0
- fortisapi/models/response_transaction_ach_retry.py +126 -0
- fortisapi/models/response_transaction_ach_retrys_collection.py +228 -0
- fortisapi/models/response_transaction_bin_info.py +126 -0
- fortisapi/models/response_transaction_intention.py +126 -0
- fortisapi/models/response_transaction_level_3.py +126 -0
- fortisapi/models/response_transaction_level_3_master.py +126 -0
- fortisapi/models/response_transaction_level_3_visa.py +126 -0
- fortisapi/models/response_transaction_processing.py +126 -0
- fortisapi/models/response_transactions_collection.py +228 -0
- fortisapi/models/response_webhook.py +126 -0
- fortisapi/models/result.py +152 -0
- fortisapi/models/retry_transaction.py +3198 -0
- fortisapi/models/retry_transaction_ach_retry.py +246 -0
- fortisapi/models/return_fee_transaction.py +3198 -0
- fortisapi/models/return_fee_transaction_ach_retry.py +246 -0
- fortisapi/models/saved_account.py +1408 -0
- fortisapi/models/scheme_id_enum.py +54 -0
- fortisapi/models/sec_code_enum.py +51 -0
- fortisapi/models/settings.py +148 -0
- fortisapi/models/settled_currency_enum.py +168 -0
- fortisapi/models/severity_enum.py +62 -0
- fortisapi/models/ship_address_usage_ind_enum.py +62 -0
- fortisapi/models/ship_indicator_enum.py +101 -0
- fortisapi/models/ship_name_indicator_enum.py +52 -0
- fortisapi/models/shipping_address.py +264 -0
- fortisapi/models/signature.py +220 -0
- fortisapi/models/sms_blacklist.py +178 -0
- fortisapi/models/sms_enum.py +47 -0
- fortisapi/models/sort.py +132 -0
- fortisapi/models/source_enum.py +56 -0
- fortisapi/models/stack_enum.py +47 -0
- fortisapi/models/status_11.py +131 -0
- fortisapi/models/status_3_enum.py +47 -0
- fortisapi/models/status_5.py +102 -0
- fortisapi/models/status_code_12_enum.py +47 -0
- fortisapi/models/status_code_17_enum.py +102 -0
- fortisapi/models/status_code_enum.py +50 -0
- fortisapi/models/status_enum.py +50 -0
- fortisapi/models/status_id_enum.py +47 -0
- fortisapi/models/surcharge.py +574 -0
- fortisapi/models/surcharge_transaction.py +367 -0
- fortisapi/models/suspicious_acc_activity_enum.py +52 -0
- fortisapi/models/tag.py +194 -0
- fortisapi/models/tag_transaction.py +319 -0
- fortisapi/models/tax_exempt_enum.py +61 -0
- fortisapi/models/tax_surcharge_config_enum.py +47 -0
- fortisapi/models/terminal.py +1245 -0
- fortisapi/models/terminal_2.py +1243 -0
- fortisapi/models/terminal_application.py +411 -0
- fortisapi/models/terminal_cvm.py +293 -0
- fortisapi/models/terminal_manufacturer.py +249 -0
- fortisapi/models/terminal_manufacturer_code_enum.py +55 -0
- fortisapi/models/terminal_router.py +245 -0
- fortisapi/models/terminal_timeouts.py +304 -0
- fortisapi/models/terminal_timeouts_12.py +314 -0
- fortisapi/models/three_ds_req_auth_method_enum.py +154 -0
- fortisapi/models/three_ds_req_prior_auth_method_enum.py +123 -0
- fortisapi/models/three_ds_requestor.py +345 -0
- fortisapi/models/three_ds_requestor_authentication_ind_enum.py +141 -0
- fortisapi/models/three_ds_requestor_authentication_info.py +179 -0
- fortisapi/models/three_ds_requestor_challenge_ind_enum.py +126 -0
- fortisapi/models/three_ds_requestor_dec_req_ind_enum.py +72 -0
- fortisapi/models/three_ds_requestor_prior_authentication_info.py +188 -0
- fortisapi/models/three_ds_requestor_spc_support_enum.py +49 -0
- fortisapi/models/three_ri_ind_enum.py +180 -0
- fortisapi/models/tip_percents.py +160 -0
- fortisapi/models/trans_char_enum.py +45 -0
- fortisapi/models/transaction.py +3196 -0
- fortisapi/models/transaction_batch.py +537 -0
- fortisapi/models/transaction_batch_settlement.py +202 -0
- fortisapi/models/transaction_history.py +246 -0
- fortisapi/models/transaction_level_3.py +152 -0
- fortisapi/models/transaction_reference.py +298 -0
- fortisapi/models/transaction_split.py +221 -0
- fortisapi/models/transaction_status_enum.py +88 -0
- fortisapi/models/transaction_type_enum.py +68 -0
- fortisapi/models/trx_source_code_enum.py +155 -0
- fortisapi/models/trx_source_id_enum.py +155 -0
- fortisapi/models/type_103_enum.py +44 -0
- fortisapi/models/type_105_enum.py +44 -0
- fortisapi/models/type_10_enum.py +44 -0
- fortisapi/models/type_110_enum.py +44 -0
- fortisapi/models/type_114_enum.py +44 -0
- fortisapi/models/type_11_enum.py +44 -0
- fortisapi/models/type_121_enum.py +44 -0
- fortisapi/models/type_123.py +131 -0
- fortisapi/models/type_124_enum.py +44 -0
- fortisapi/models/type_125_enum.py +44 -0
- fortisapi/models/type_126_enum.py +44 -0
- fortisapi/models/type_127_enum.py +44 -0
- fortisapi/models/type_128_enum.py +44 -0
- fortisapi/models/type_134_enum.py +44 -0
- fortisapi/models/type_135_enum.py +44 -0
- fortisapi/models/type_136_enum.py +44 -0
- fortisapi/models/type_15_enum.py +44 -0
- fortisapi/models/type_16_enum.py +44 -0
- fortisapi/models/type_1_enum.py +44 -0
- fortisapi/models/type_20_enum.py +44 -0
- fortisapi/models/type_21_enum.py +44 -0
- fortisapi/models/type_22_enum.py +44 -0
- fortisapi/models/type_23_enum.py +44 -0
- fortisapi/models/type_27_enum.py +44 -0
- fortisapi/models/type_28_enum.py +44 -0
- fortisapi/models/type_29_enum.py +64 -0
- fortisapi/models/type_2_enum.py +44 -0
- fortisapi/models/type_30_enum.py +44 -0
- fortisapi/models/type_31_enum.py +44 -0
- fortisapi/models/type_35_enum.py +44 -0
- fortisapi/models/type_39_enum.py +44 -0
- fortisapi/models/type_3_enum.py +44 -0
- fortisapi/models/type_43_enum.py +44 -0
- fortisapi/models/type_44_enum.py +44 -0
- fortisapi/models/type_45_enum.py +44 -0
- fortisapi/models/type_46_enum.py +44 -0
- fortisapi/models/type_47_enum.py +44 -0
- fortisapi/models/type_48_enum.py +44 -0
- fortisapi/models/type_4_enum.py +44 -0
- fortisapi/models/type_52_enum.py +44 -0
- fortisapi/models/type_53_enum.py +44 -0
- fortisapi/models/type_54_enum.py +44 -0
- fortisapi/models/type_55_enum.py +44 -0
- fortisapi/models/type_59_enum.py +44 -0
- fortisapi/models/type_5_enum.py +44 -0
- fortisapi/models/type_60_enum.py +44 -0
- fortisapi/models/type_61_enum.py +45 -0
- fortisapi/models/type_62_enum.py +44 -0
- fortisapi/models/type_63_enum.py +91 -0
- fortisapi/models/type_64_enum.py +44 -0
- fortisapi/models/type_65_enum.py +44 -0
- fortisapi/models/type_6_enum.py +44 -0
- fortisapi/models/type_70_enum.py +44 -0
- fortisapi/models/type_71_enum.py +44 -0
- fortisapi/models/type_75_enum.py +44 -0
- fortisapi/models/type_79_enum.py +44 -0
- fortisapi/models/type_83_enum.py +44 -0
- fortisapi/models/type_84_enum.py +44 -0
- fortisapi/models/type_88_enum.py +44 -0
- fortisapi/models/type_89_enum.py +44 -0
- fortisapi/models/type_93_enum.py +44 -0
- fortisapi/models/type_94_enum.py +44 -0
- fortisapi/models/type_98_enum.py +44 -0
- fortisapi/models/type_99_enum.py +44 -0
- fortisapi/models/type_enum.py +44 -0
- fortisapi/models/type_id_enum.py +59 -0
- fortisapi/models/ui_prefs.py +204 -0
- fortisapi/models/update_if_exists_enum.py +44 -0
- fortisapi/models/user.py +180 -0
- fortisapi/models/user_1.py +1197 -0
- fortisapi/models/user_9.py +1195 -0
- fortisapi/models/user_type_code_enum.py +74 -0
- fortisapi/models/v_1_contacts_request.py +685 -0
- fortisapi/models/v_1_contacts_request_1.py +707 -0
- fortisapi/models/v_1_declined_recurring_transaction_payments_request.py +354 -0
- fortisapi/models/v_1_device_terms_request.py +161 -0
- fortisapi/models/v_1_elements_ticket_intention_request.py +195 -0
- fortisapi/models/v_1_elements_transaction_intention_request.py +591 -0
- fortisapi/models/v_1_fullboarding_request.py +827 -0
- fortisapi/models/v_1_merchant_threedsecure_authentication_request.py +696 -0
- fortisapi/models/v_1_onboarding_request.py +833 -0
- fortisapi/models/v_1_paylinks_request.py +723 -0
- fortisapi/models/v_1_paylinks_request_1.py +735 -0
- fortisapi/models/v_1_public_calculate_surcharge_request.py +527 -0
- fortisapi/models/v_1_quick_invoices_request.py +1035 -0
- fortisapi/models/v_1_quick_invoices_request_1.py +1070 -0
- fortisapi/models/v_1_quick_invoices_transaction_request.py +86 -0
- fortisapi/models/v_1_recurrings_defer_payment_request.py +86 -0
- fortisapi/models/v_1_recurrings_request.py +742 -0
- fortisapi/models/v_1_recurrings_request_1.py +750 -0
- fortisapi/models/v_1_recurrings_skip_payment_request.py +86 -0
- fortisapi/models/v_1_signatures_request.py +113 -0
- fortisapi/models/v_1_tags_request.py +99 -0
- fortisapi/models/v_1_tags_request_1.py +130 -0
- fortisapi/models/v_1_terminals_request.py +1005 -0
- fortisapi/models/v_1_terminals_request_1.py +1112 -0
- fortisapi/models/v_1_tickets_request.py +286 -0
- fortisapi/models/v_1_tokens_ach_request.py +945 -0
- fortisapi/models/v_1_tokens_ach_request_1.py +907 -0
- fortisapi/models/v_1_tokens_cc_request.py +1071 -0
- fortisapi/models/v_1_tokens_cc_request_1.py +905 -0
- fortisapi/models/v_1_tokens_previous_transaction_request.py +858 -0
- fortisapi/models/v_1_tokens_terminal_async_request.py +889 -0
- fortisapi/models/v_1_tokens_terminal_request.py +889 -0
- fortisapi/models/v_1_tokens_ticket_request.py +882 -0
- fortisapi/models/v_1_tokens_wallet_request.py +919 -0
- fortisapi/models/v_1_transaction_ach_retries_request.py +119 -0
- fortisapi/models/v_1_transactions_ach_credit_keyed_request.py +1600 -0
- fortisapi/models/v_1_transactions_ach_credit_prev_trxn_request.py +1616 -0
- fortisapi/models/v_1_transactions_ach_credit_token_request.py +1660 -0
- fortisapi/models/v_1_transactions_ach_debit_keyed_request.py +1600 -0
- fortisapi/models/v_1_transactions_ach_debit_prev_trxn_request.py +1616 -0
- fortisapi/models/v_1_transactions_ach_debit_token_request.py +1660 -0
- fortisapi/models/v_1_transactions_ach_refund_prev_trxn_request.py +1616 -0
- fortisapi/models/v_1_transactions_auth_complete_request.py +1519 -0
- fortisapi/models/v_1_transactions_auth_increment_request.py +1533 -0
- fortisapi/models/v_1_transactions_cash_refund_request.py +1515 -0
- fortisapi/models/v_1_transactions_cash_sale_request.py +1489 -0
- fortisapi/models/v_1_transactions_cc_auth_only_keyed_request.py +2164 -0
- fortisapi/models/v_1_transactions_cc_auth_only_prev_trxn_request.py +2124 -0
- fortisapi/models/v_1_transactions_cc_auth_only_taptopay_request.py +1843 -0
- fortisapi/models/v_1_transactions_cc_auth_only_terminal_request.py +2082 -0
- fortisapi/models/v_1_transactions_cc_auth_only_ticket_request.py +2050 -0
- fortisapi/models/v_1_transactions_cc_auth_only_token_request.py +2129 -0
- fortisapi/models/v_1_transactions_cc_auth_only_wallet_request.py +2062 -0
- fortisapi/models/v_1_transactions_cc_avs_only_keyed_request.py +2175 -0
- fortisapi/models/v_1_transactions_cc_avs_only_prev_trxn_request.py +2124 -0
- fortisapi/models/v_1_transactions_cc_avs_only_swiped_request.py +2086 -0
- fortisapi/models/v_1_transactions_cc_avs_only_terminal_request.py +2093 -0
- fortisapi/models/v_1_transactions_cc_avs_only_ticket_request.py +2061 -0
- fortisapi/models/v_1_transactions_cc_avs_only_token_request.py +2140 -0
- fortisapi/models/v_1_transactions_cc_avs_only_wallet_request.py +2073 -0
- fortisapi/models/v_1_transactions_cc_balance_inquiry_keyed_request.py +2176 -0
- fortisapi/models/v_1_transactions_cc_balance_inquiry_prev_trxn_request.py +2125 -0
- fortisapi/models/v_1_transactions_cc_balance_inquiry_swiped_request.py +2087 -0
- fortisapi/models/v_1_transactions_cc_balance_inquiry_terminal_request.py +2094 -0
- fortisapi/models/v_1_transactions_cc_balance_inquiry_ticket_request.py +2062 -0
- fortisapi/models/v_1_transactions_cc_balance_inquiry_token_request.py +2141 -0
- fortisapi/models/v_1_transactions_cc_balance_inquiry_wallet_request.py +2074 -0
- fortisapi/models/v_1_transactions_cc_refund_keyed_request.py +2218 -0
- fortisapi/models/v_1_transactions_cc_refund_prev_trxn_request.py +2124 -0
- fortisapi/models/v_1_transactions_cc_refund_taptopay_request.py +1869 -0
- fortisapi/models/v_1_transactions_cc_refund_terminal_request.py +2082 -0
- fortisapi/models/v_1_transactions_cc_refund_ticket_request.py +2050 -0
- fortisapi/models/v_1_transactions_cc_refund_token_request.py +2129 -0
- fortisapi/models/v_1_transactions_cc_refund_wallet_request.py +2062 -0
- fortisapi/models/v_1_transactions_cc_sale_keyed_request.py +2164 -0
- fortisapi/models/v_1_transactions_cc_sale_prev_trxn_request.py +2124 -0
- fortisapi/models/v_1_transactions_cc_sale_taptopay_request.py +1843 -0
- fortisapi/models/v_1_transactions_cc_sale_terminal_request.py +2082 -0
- fortisapi/models/v_1_transactions_cc_sale_ticket_request.py +2050 -0
- fortisapi/models/v_1_transactions_cc_sale_token_request.py +2129 -0
- fortisapi/models/v_1_transactions_cc_sale_wallet_request.py +2062 -0
- fortisapi/models/v_1_transactions_ebt_voucher_clear_refund_keyed_request.py +2190 -0
- fortisapi/models/v_1_transactions_ebt_voucher_clear_sale_keyed_request.py +2190 -0
- fortisapi/models/v_1_transactions_level_3_master_card_request.py +91 -0
- fortisapi/models/v_1_transactions_level_3_visa_request.py +91 -0
- fortisapi/models/v_1_transactions_partial_reversal_request.py +1462 -0
- fortisapi/models/v_1_transactions_refund_request.py +1448 -0
- fortisapi/models/v_1_transactions_tip_adjust_request.py +1973 -0
- fortisapi/models/v_1_transactions_void_request.py +130 -0
- fortisapi/models/v_1_wallet_provider_apple_pay_validate_merchant_request.py +127 -0
- fortisapi/models/v_1_wallet_provider_merchant_details_request.py +87 -0
- fortisapi/models/v_1_webhooks_apm_onboarding_request.py +421 -0
- fortisapi/models/v_1_webhooks_apm_onboarding_request_1.py +494 -0
- fortisapi/models/v_1_webhooks_batch_request.py +410 -0
- fortisapi/models/v_1_webhooks_batch_request_1.py +494 -0
- fortisapi/models/v_1_webhooks_contact_request.py +421 -0
- fortisapi/models/v_1_webhooks_contact_request_1.py +494 -0
- fortisapi/models/v_1_webhooks_transaction_request.py +410 -0
- fortisapi/models/v_1_webhooks_transaction_request_1.py +494 -0
- fortisapi/models/values_4_enum.py +59 -0
- fortisapi/models/values_50_enum.py +59 -0
- fortisapi/models/values_51_enum.py +62 -0
- fortisapi/models/values_58_enum.py +59 -0
- fortisapi/models/values_5_enum.py +59 -0
- fortisapi/models/values_6_enum.py +59 -0
- fortisapi/models/values_7_enum.py +59 -0
- fortisapi/models/values_99_enum.py +45 -0
- fortisapi/models/values_enum.py +51 -0
- fortisapi/models/wallet_provider_enum.py +47 -0
- fortisapi/models/wallet_type_enum.py +86 -0
- fortisapi/models/work_phone.py +130 -0
- fortisapi/utilities/__init__.py +6 -0
- fortisapi/utilities/file_wrapper.py +45 -0
- 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
|