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,188 @@
|
|
|
1
|
+
"""fortisapi.
|
|
2
|
+
|
|
3
|
+
This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
# ruff: noqa: E501
|
|
7
|
+
from fortisapi.api_helper import APIHelper
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ThreeDsRequestorPriorAuthenticationInfo(object):
|
|
11
|
+
"""Implementation of the 'ThreeDsRequestorPriorAuthenticationInfo' model.
|
|
12
|
+
|
|
13
|
+
Attributes:
|
|
14
|
+
three_ds_req_prior_ref (str): This data element provides additional
|
|
15
|
+
information to the ACS to determine the best approach for handling a
|
|
16
|
+
request. The field is limited to 36 characters containing ACS Transaction
|
|
17
|
+
ID for a prior authenticated transaction (for example, the first
|
|
18
|
+
recurring transaction that was authenticated with the cardholder).
|
|
19
|
+
three_ds_req_prior_auth_method (ThreeDsReqPriorAuthMethodEnum): Mechanism
|
|
20
|
+
used by the Cardholder to previously authenticate to the 3DS Requestor.
|
|
21
|
+
>01 - Frictionless authentication occurred by ACS > >02 - Cardholder
|
|
22
|
+
challenge occurred by ACS > >03 - AVS verified > >04 - Other issuer
|
|
23
|
+
methods > >80 through 99 - PS-specific value (dependent on the payment
|
|
24
|
+
scheme type). >
|
|
25
|
+
three_ds_req_prior_auth_timestamp (str): Date and time converted into UTC of
|
|
26
|
+
the prior authentication. Accepted date format is YYYYMMDDHHMM.
|
|
27
|
+
three_ds_req_prior_auth_data (str): Data that documents and supports a
|
|
28
|
+
specific authentication process. In the current version of the
|
|
29
|
+
specification this data element is not defined in detail, however the
|
|
30
|
+
intention is that for each 3DS Requestor Authentication Method, this
|
|
31
|
+
field carry data that the ACS can use to verify the authentication
|
|
32
|
+
process. In future versions of the application, these details are
|
|
33
|
+
expected to be included.
|
|
34
|
+
additional_properties (Dict[str, object]): The additional properties for the
|
|
35
|
+
model.
|
|
36
|
+
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
# Create a mapping from Model property names to API property names
|
|
40
|
+
_names = {
|
|
41
|
+
"three_ds_req_prior_ref": "three_ds_req_prior_ref",
|
|
42
|
+
"three_ds_req_prior_auth_method": "three_ds_req_prior_auth_method",
|
|
43
|
+
"three_ds_req_prior_auth_timestamp": "three_ds_req_prior_auth_timestamp",
|
|
44
|
+
"three_ds_req_prior_auth_data": "three_ds_req_prior_auth_data",
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
_optionals = [
|
|
48
|
+
"three_ds_req_prior_ref",
|
|
49
|
+
"three_ds_req_prior_auth_method",
|
|
50
|
+
"three_ds_req_prior_auth_timestamp",
|
|
51
|
+
"three_ds_req_prior_auth_data",
|
|
52
|
+
]
|
|
53
|
+
|
|
54
|
+
def __init__(
|
|
55
|
+
self,
|
|
56
|
+
three_ds_req_prior_ref=APIHelper.SKIP,
|
|
57
|
+
three_ds_req_prior_auth_method=APIHelper.SKIP,
|
|
58
|
+
three_ds_req_prior_auth_timestamp=APIHelper.SKIP,
|
|
59
|
+
three_ds_req_prior_auth_data=APIHelper.SKIP,
|
|
60
|
+
additional_properties=None):
|
|
61
|
+
"""Initialize a ThreeDsRequestorPriorAuthenticationInfo instance."""
|
|
62
|
+
# Initialize members of the class
|
|
63
|
+
if three_ds_req_prior_ref is not APIHelper.SKIP:
|
|
64
|
+
self.three_ds_req_prior_ref = three_ds_req_prior_ref
|
|
65
|
+
if three_ds_req_prior_auth_method is not APIHelper.SKIP:
|
|
66
|
+
self.three_ds_req_prior_auth_method = three_ds_req_prior_auth_method
|
|
67
|
+
if three_ds_req_prior_auth_timestamp is not APIHelper.SKIP:
|
|
68
|
+
self.three_ds_req_prior_auth_timestamp =\
|
|
69
|
+
three_ds_req_prior_auth_timestamp
|
|
70
|
+
if three_ds_req_prior_auth_data is not APIHelper.SKIP:
|
|
71
|
+
self.three_ds_req_prior_auth_data = three_ds_req_prior_auth_data
|
|
72
|
+
|
|
73
|
+
# Add additional model properties to the instance
|
|
74
|
+
if additional_properties is None:
|
|
75
|
+
additional_properties = {}
|
|
76
|
+
self.additional_properties = additional_properties
|
|
77
|
+
|
|
78
|
+
@classmethod
|
|
79
|
+
def from_dictionary(cls,
|
|
80
|
+
dictionary):
|
|
81
|
+
"""Create an instance of this model from a dictionary
|
|
82
|
+
|
|
83
|
+
Args:
|
|
84
|
+
dictionary (dictionary): A dictionary representation of the object
|
|
85
|
+
as obtained from the deserialization of the server's response. The
|
|
86
|
+
keys MUST match property names in the API description.
|
|
87
|
+
|
|
88
|
+
Returns:
|
|
89
|
+
object: An instance of this structure class.
|
|
90
|
+
|
|
91
|
+
"""
|
|
92
|
+
if not isinstance(dictionary, dict) or dictionary is None:
|
|
93
|
+
return None
|
|
94
|
+
|
|
95
|
+
# Extract variables from the dictionary
|
|
96
|
+
three_ds_req_prior_ref =\
|
|
97
|
+
dictionary.get("three_ds_req_prior_ref")\
|
|
98
|
+
if dictionary.get("three_ds_req_prior_ref")\
|
|
99
|
+
else APIHelper.SKIP
|
|
100
|
+
three_ds_req_prior_auth_method =\
|
|
101
|
+
dictionary.get("three_ds_req_prior_auth_method")\
|
|
102
|
+
if dictionary.get("three_ds_req_prior_auth_method")\
|
|
103
|
+
else APIHelper.SKIP
|
|
104
|
+
three_ds_req_prior_auth_timestamp =\
|
|
105
|
+
dictionary.get("three_ds_req_prior_auth_timestamp")\
|
|
106
|
+
if dictionary.get("three_ds_req_prior_auth_timestamp")\
|
|
107
|
+
else APIHelper.SKIP
|
|
108
|
+
three_ds_req_prior_auth_data =\
|
|
109
|
+
dictionary.get("three_ds_req_prior_auth_data")\
|
|
110
|
+
if dictionary.get("three_ds_req_prior_auth_data")\
|
|
111
|
+
else APIHelper.SKIP
|
|
112
|
+
|
|
113
|
+
# Clean out expected properties from dictionary
|
|
114
|
+
additional_properties =\
|
|
115
|
+
{k: v for k, v in dictionary.items() if k not in cls._names.values()}
|
|
116
|
+
|
|
117
|
+
# Return an object of this model
|
|
118
|
+
return cls(three_ds_req_prior_ref,
|
|
119
|
+
three_ds_req_prior_auth_method,
|
|
120
|
+
three_ds_req_prior_auth_timestamp,
|
|
121
|
+
three_ds_req_prior_auth_data,
|
|
122
|
+
additional_properties)
|
|
123
|
+
|
|
124
|
+
def __repr__(self):
|
|
125
|
+
"""Return a unambiguous string representation."""
|
|
126
|
+
_three_ds_req_prior_ref=(
|
|
127
|
+
self.three_ds_req_prior_ref
|
|
128
|
+
if hasattr(self, "three_ds_req_prior_ref")
|
|
129
|
+
else None
|
|
130
|
+
)
|
|
131
|
+
_three_ds_req_prior_auth_method=(
|
|
132
|
+
self.three_ds_req_prior_auth_method
|
|
133
|
+
if hasattr(self, "three_ds_req_prior_auth_method")
|
|
134
|
+
else None
|
|
135
|
+
)
|
|
136
|
+
_three_ds_req_prior_auth_timestamp=(
|
|
137
|
+
self.three_ds_req_prior_auth_timestamp
|
|
138
|
+
if hasattr(self, "three_ds_req_prior_auth_timestamp")
|
|
139
|
+
else None
|
|
140
|
+
)
|
|
141
|
+
_three_ds_req_prior_auth_data=(
|
|
142
|
+
self.three_ds_req_prior_auth_data
|
|
143
|
+
if hasattr(self, "three_ds_req_prior_auth_data")
|
|
144
|
+
else None
|
|
145
|
+
)
|
|
146
|
+
_additional_properties=self.additional_properties
|
|
147
|
+
return (
|
|
148
|
+
f"{self.__class__.__name__}("
|
|
149
|
+
f"three_ds_req_prior_ref={_three_ds_req_prior_ref!r}, "
|
|
150
|
+
f"three_ds_req_prior_auth_method={_three_ds_req_prior_auth_method!r}, "
|
|
151
|
+
f"three_ds_req_prior_auth_timestamp={_three_ds_req_prior_auth_timestamp!r}, "
|
|
152
|
+
f"three_ds_req_prior_auth_data={_three_ds_req_prior_auth_data!r}, "
|
|
153
|
+
f"additional_properties={_additional_properties!r}, "
|
|
154
|
+
f")"
|
|
155
|
+
)
|
|
156
|
+
|
|
157
|
+
def __str__(self):
|
|
158
|
+
"""Return a human-readable string representation."""
|
|
159
|
+
_three_ds_req_prior_ref=(
|
|
160
|
+
self.three_ds_req_prior_ref
|
|
161
|
+
if hasattr(self, "three_ds_req_prior_ref")
|
|
162
|
+
else None
|
|
163
|
+
)
|
|
164
|
+
_three_ds_req_prior_auth_method=(
|
|
165
|
+
self.three_ds_req_prior_auth_method
|
|
166
|
+
if hasattr(self, "three_ds_req_prior_auth_method")
|
|
167
|
+
else None
|
|
168
|
+
)
|
|
169
|
+
_three_ds_req_prior_auth_timestamp=(
|
|
170
|
+
self.three_ds_req_prior_auth_timestamp
|
|
171
|
+
if hasattr(self, "three_ds_req_prior_auth_timestamp")
|
|
172
|
+
else None
|
|
173
|
+
)
|
|
174
|
+
_three_ds_req_prior_auth_data=(
|
|
175
|
+
self.three_ds_req_prior_auth_data
|
|
176
|
+
if hasattr(self, "three_ds_req_prior_auth_data")
|
|
177
|
+
else None
|
|
178
|
+
)
|
|
179
|
+
_additional_properties=self.additional_properties
|
|
180
|
+
return (
|
|
181
|
+
f"{self.__class__.__name__}("
|
|
182
|
+
f"three_ds_req_prior_ref={_three_ds_req_prior_ref!s}, "
|
|
183
|
+
f"three_ds_req_prior_auth_method={_three_ds_req_prior_auth_method!s}, "
|
|
184
|
+
f"three_ds_req_prior_auth_timestamp={_three_ds_req_prior_auth_timestamp!s}, "
|
|
185
|
+
f"three_ds_req_prior_auth_data={_three_ds_req_prior_auth_data!s}, "
|
|
186
|
+
f"additional_properties={_additional_properties!s}, "
|
|
187
|
+
f")"
|
|
188
|
+
)
|
|
@@ -0,0 +1,49 @@
|
|
|
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 ThreeDsRequestorSpcSupportEnum(object):
|
|
9
|
+
"""Implementation of the 'ThreeDsRequestorSpcSupport' enum.
|
|
10
|
+
|
|
11
|
+
Indicate if the 3DS Requestor supports the SPC authentication.
|
|
12
|
+
This field is required if device_channel = 02 (BRW) and it is supported by the
|
|
13
|
+
3DS Requestor.
|
|
14
|
+
Available for supporting EMV 3DS 2.3.1 and later versions.
|
|
15
|
+
>Y - Supported
|
|
16
|
+
>
|
|
17
|
+
|
|
18
|
+
Attributes:
|
|
19
|
+
Y: The enum member of type str.
|
|
20
|
+
additional_properties (Dict[str, object]): The additional properties for the
|
|
21
|
+
model.
|
|
22
|
+
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
Y = "Y"
|
|
26
|
+
|
|
27
|
+
@classmethod
|
|
28
|
+
def from_value(cls, value, default=None):
|
|
29
|
+
"""Return the matching enum value for the given input."""
|
|
30
|
+
if value is None:
|
|
31
|
+
return default
|
|
32
|
+
|
|
33
|
+
# If numeric and matches directly
|
|
34
|
+
if isinstance(value, int):
|
|
35
|
+
for name, val in cls.__dict__.items():
|
|
36
|
+
if not name.startswith("_") and val == value:
|
|
37
|
+
return val
|
|
38
|
+
|
|
39
|
+
# If string, perform case-insensitive match
|
|
40
|
+
if isinstance(value, str):
|
|
41
|
+
value_lower = value.lower()
|
|
42
|
+
for name, val in cls.__dict__.items():
|
|
43
|
+
if not name.startswith("_") and (
|
|
44
|
+
name.lower() == value_lower or str(val).lower() == value_lower
|
|
45
|
+
):
|
|
46
|
+
return val
|
|
47
|
+
|
|
48
|
+
# Fallback to default
|
|
49
|
+
return default
|
|
@@ -0,0 +1,180 @@
|
|
|
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 ThreeRiIndEnum(object):
|
|
9
|
+
"""Implementation of the 'ThreeRiInd' enum.
|
|
10
|
+
|
|
11
|
+
Indicates the type of 3RI request. This data element provides additional
|
|
12
|
+
information to the ACS to determine the best approach for handling a 3RI request.
|
|
13
|
+
Values 06 through 12 are accepted as well if 3DS Server initiates authentication
|
|
14
|
+
with EMV 3DS 2.2.0 version or greater (required protocol version can be set in
|
|
15
|
+
the preferred_protocol_version field).
|
|
16
|
+
Starting from EMV 3DS 2.3.1:
|
|
17
|
+
Required if device_channel = 03 and message_category = 01 or 02.
|
|
18
|
+
Values 13 and 14 can be used.
|
|
19
|
+
>01 - Recurring transaction
|
|
20
|
+
>
|
|
21
|
+
>02 - Installment transaction
|
|
22
|
+
>
|
|
23
|
+
>03 - Add card
|
|
24
|
+
>
|
|
25
|
+
>04 - Maintain card information
|
|
26
|
+
>
|
|
27
|
+
>05 - Account verification
|
|
28
|
+
>
|
|
29
|
+
>06 - Split/delayed shipment (EMV 3DS 2.2.0 version or greater)
|
|
30
|
+
>
|
|
31
|
+
>07 - Top-up (EMV 3DS 2.2.0 version or greater)
|
|
32
|
+
>
|
|
33
|
+
>08 - Mail order (EMV 3DS 2.2.0 version or greater)
|
|
34
|
+
>
|
|
35
|
+
>09 - Telephone order (EMV 3DS 2.2.0 version or greater)
|
|
36
|
+
>
|
|
37
|
+
>10 - Whitelist status check (EMV 3DS 2.2.0 version or greater)
|
|
38
|
+
>
|
|
39
|
+
>11 - Other payment (EMV 3DS 2.2.0 version or greater)
|
|
40
|
+
>
|
|
41
|
+
>12 - Billing agreement (EMV 3DS 2.2.0 version or greater)
|
|
42
|
+
>
|
|
43
|
+
>13 - Device Binding status check (EMV 3DS 2.3.1 version or greater)
|
|
44
|
+
>
|
|
45
|
+
>14 - Card Security Code status check (EMV 3DS 2.3.1 version or greater)
|
|
46
|
+
>
|
|
47
|
+
>80 through 99 - PS-specific values, regardless of protocol version
|
|
48
|
+
>
|
|
49
|
+
|
|
50
|
+
Attributes:
|
|
51
|
+
ENUM_01: The enum member of type str.
|
|
52
|
+
ENUM_02: The enum member of type str.
|
|
53
|
+
ENUM_03: The enum member of type str.
|
|
54
|
+
ENUM_04: The enum member of type str.
|
|
55
|
+
ENUM_05: The enum member of type str.
|
|
56
|
+
ENUM_06: The enum member of type str.
|
|
57
|
+
ENUM_07: The enum member of type str.
|
|
58
|
+
ENUM_08: The enum member of type str.
|
|
59
|
+
ENUM_09: The enum member of type str.
|
|
60
|
+
ENUM_10: The enum member of type str.
|
|
61
|
+
ENUM_11: The enum member of type str.
|
|
62
|
+
ENUM_12: The enum member of type str.
|
|
63
|
+
ENUM_13: The enum member of type str.
|
|
64
|
+
ENUM_14: The enum member of type str.
|
|
65
|
+
ENUM_80: The enum member of type str.
|
|
66
|
+
ENUM_81: The enum member of type str.
|
|
67
|
+
ENUM_82: The enum member of type str.
|
|
68
|
+
ENUM_83: The enum member of type str.
|
|
69
|
+
ENUM_84: The enum member of type str.
|
|
70
|
+
ENUM_85: The enum member of type str.
|
|
71
|
+
ENUM_86: The enum member of type str.
|
|
72
|
+
ENUM_87: The enum member of type str.
|
|
73
|
+
ENUM_88: The enum member of type str.
|
|
74
|
+
ENUM_89: The enum member of type str.
|
|
75
|
+
ENUM_90: The enum member of type str.
|
|
76
|
+
ENUM_91: The enum member of type str.
|
|
77
|
+
ENUM_92: The enum member of type str.
|
|
78
|
+
ENUM_93: The enum member of type str.
|
|
79
|
+
ENUM_94: The enum member of type str.
|
|
80
|
+
ENUM_95: The enum member of type str.
|
|
81
|
+
ENUM_96: The enum member of type str.
|
|
82
|
+
ENUM_97: The enum member of type str.
|
|
83
|
+
ENUM_98: The enum member of type str.
|
|
84
|
+
ENUM_99: The enum member of type str.
|
|
85
|
+
additional_properties (Dict[str, object]): The additional properties for the
|
|
86
|
+
model.
|
|
87
|
+
|
|
88
|
+
"""
|
|
89
|
+
|
|
90
|
+
ENUM_01 = "01"
|
|
91
|
+
|
|
92
|
+
ENUM_02 = "02"
|
|
93
|
+
|
|
94
|
+
ENUM_03 = "03"
|
|
95
|
+
|
|
96
|
+
ENUM_04 = "04"
|
|
97
|
+
|
|
98
|
+
ENUM_05 = "05"
|
|
99
|
+
|
|
100
|
+
ENUM_06 = "06"
|
|
101
|
+
|
|
102
|
+
ENUM_07 = "07"
|
|
103
|
+
|
|
104
|
+
ENUM_08 = "08"
|
|
105
|
+
|
|
106
|
+
ENUM_09 = "09"
|
|
107
|
+
|
|
108
|
+
ENUM_10 = "10"
|
|
109
|
+
|
|
110
|
+
ENUM_11 = "11"
|
|
111
|
+
|
|
112
|
+
ENUM_12 = "12"
|
|
113
|
+
|
|
114
|
+
ENUM_13 = "13"
|
|
115
|
+
|
|
116
|
+
ENUM_14 = "14"
|
|
117
|
+
|
|
118
|
+
ENUM_80 = "80"
|
|
119
|
+
|
|
120
|
+
ENUM_81 = "81"
|
|
121
|
+
|
|
122
|
+
ENUM_82 = "82"
|
|
123
|
+
|
|
124
|
+
ENUM_83 = "83"
|
|
125
|
+
|
|
126
|
+
ENUM_84 = "84"
|
|
127
|
+
|
|
128
|
+
ENUM_85 = "85"
|
|
129
|
+
|
|
130
|
+
ENUM_86 = "86"
|
|
131
|
+
|
|
132
|
+
ENUM_87 = "87"
|
|
133
|
+
|
|
134
|
+
ENUM_88 = "88"
|
|
135
|
+
|
|
136
|
+
ENUM_89 = "89"
|
|
137
|
+
|
|
138
|
+
ENUM_90 = "90"
|
|
139
|
+
|
|
140
|
+
ENUM_91 = "91"
|
|
141
|
+
|
|
142
|
+
ENUM_92 = "92"
|
|
143
|
+
|
|
144
|
+
ENUM_93 = "93"
|
|
145
|
+
|
|
146
|
+
ENUM_94 = "94"
|
|
147
|
+
|
|
148
|
+
ENUM_95 = "95"
|
|
149
|
+
|
|
150
|
+
ENUM_96 = "96"
|
|
151
|
+
|
|
152
|
+
ENUM_97 = "97"
|
|
153
|
+
|
|
154
|
+
ENUM_98 = "98"
|
|
155
|
+
|
|
156
|
+
ENUM_99 = "99"
|
|
157
|
+
|
|
158
|
+
@classmethod
|
|
159
|
+
def from_value(cls, value, default=None):
|
|
160
|
+
"""Return the matching enum value for the given input."""
|
|
161
|
+
if value is None:
|
|
162
|
+
return default
|
|
163
|
+
|
|
164
|
+
# If numeric and matches directly
|
|
165
|
+
if isinstance(value, int):
|
|
166
|
+
for name, val in cls.__dict__.items():
|
|
167
|
+
if not name.startswith("_") and val == value:
|
|
168
|
+
return val
|
|
169
|
+
|
|
170
|
+
# If string, perform case-insensitive match
|
|
171
|
+
if isinstance(value, str):
|
|
172
|
+
value_lower = value.lower()
|
|
173
|
+
for name, val in cls.__dict__.items():
|
|
174
|
+
if not name.startswith("_") and (
|
|
175
|
+
name.lower() == value_lower or str(val).lower() == value_lower
|
|
176
|
+
):
|
|
177
|
+
return val
|
|
178
|
+
|
|
179
|
+
# Fallback to default
|
|
180
|
+
return default
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"""fortisapi.
|
|
2
|
+
|
|
3
|
+
This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
# ruff: noqa: E501
|
|
7
|
+
from fortisapi.api_helper import APIHelper
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class TipPercents(object):
|
|
11
|
+
"""Implementation of the 'TipPercents' model.
|
|
12
|
+
|
|
13
|
+
A JSON of tip percents the JSON MUST contain only these three fields: percent_1,
|
|
14
|
+
percent_2, percent_3
|
|
15
|
+
|
|
16
|
+
Attributes:
|
|
17
|
+
percent_1 (int): field can only contain a value from 0 to 99, if 1 field is
|
|
18
|
+
NULL, all fields must be null.
|
|
19
|
+
percent_2 (int): field can only contain a value from 0 to 99, if 1 field is
|
|
20
|
+
NULL, all fields must be null.
|
|
21
|
+
percent_3 (int): field can only contain a value from 0 to 99, if 1 field is
|
|
22
|
+
NULL, all fields must be null.
|
|
23
|
+
additional_properties (Dict[str, object]): The additional properties for the
|
|
24
|
+
model.
|
|
25
|
+
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
# Create a mapping from Model property names to API property names
|
|
29
|
+
_names = {
|
|
30
|
+
"percent_1": "percent_1",
|
|
31
|
+
"percent_2": "percent_2",
|
|
32
|
+
"percent_3": "percent_3",
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
_optionals = [
|
|
36
|
+
"percent_1",
|
|
37
|
+
"percent_2",
|
|
38
|
+
"percent_3",
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
_nullables = [
|
|
42
|
+
"percent_1",
|
|
43
|
+
"percent_2",
|
|
44
|
+
"percent_3",
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
def __init__(
|
|
48
|
+
self,
|
|
49
|
+
percent_1=APIHelper.SKIP,
|
|
50
|
+
percent_2=APIHelper.SKIP,
|
|
51
|
+
percent_3=APIHelper.SKIP,
|
|
52
|
+
additional_properties=None):
|
|
53
|
+
"""Initialize a TipPercents instance."""
|
|
54
|
+
# Initialize members of the class
|
|
55
|
+
if percent_1 is not APIHelper.SKIP:
|
|
56
|
+
self.percent_1 = percent_1
|
|
57
|
+
if percent_2 is not APIHelper.SKIP:
|
|
58
|
+
self.percent_2 = percent_2
|
|
59
|
+
if percent_3 is not APIHelper.SKIP:
|
|
60
|
+
self.percent_3 = percent_3
|
|
61
|
+
|
|
62
|
+
# Add additional model properties to the instance
|
|
63
|
+
if additional_properties is None:
|
|
64
|
+
additional_properties = {}
|
|
65
|
+
self.additional_properties = additional_properties
|
|
66
|
+
|
|
67
|
+
@classmethod
|
|
68
|
+
def from_dictionary(cls,
|
|
69
|
+
dictionary):
|
|
70
|
+
"""Create an instance of this model from a dictionary
|
|
71
|
+
|
|
72
|
+
Args:
|
|
73
|
+
dictionary (dictionary): A dictionary representation of the object
|
|
74
|
+
as obtained from the deserialization of the server's response. The
|
|
75
|
+
keys MUST match property names in the API description.
|
|
76
|
+
|
|
77
|
+
Returns:
|
|
78
|
+
object: An instance of this structure class.
|
|
79
|
+
|
|
80
|
+
"""
|
|
81
|
+
if not isinstance(dictionary, dict) or dictionary is None:
|
|
82
|
+
return None
|
|
83
|
+
|
|
84
|
+
# Extract variables from the dictionary
|
|
85
|
+
percent_1 =\
|
|
86
|
+
dictionary.get("percent_1")\
|
|
87
|
+
if "percent_1" in dictionary.keys()\
|
|
88
|
+
else APIHelper.SKIP
|
|
89
|
+
percent_2 =\
|
|
90
|
+
dictionary.get("percent_2")\
|
|
91
|
+
if "percent_2" in dictionary.keys()\
|
|
92
|
+
else APIHelper.SKIP
|
|
93
|
+
percent_3 =\
|
|
94
|
+
dictionary.get("percent_3")\
|
|
95
|
+
if "percent_3" in dictionary.keys()\
|
|
96
|
+
else APIHelper.SKIP
|
|
97
|
+
|
|
98
|
+
# Clean out expected properties from dictionary
|
|
99
|
+
additional_properties =\
|
|
100
|
+
{k: v for k, v in dictionary.items() if k not in cls._names.values()}
|
|
101
|
+
|
|
102
|
+
# Return an object of this model
|
|
103
|
+
return cls(percent_1,
|
|
104
|
+
percent_2,
|
|
105
|
+
percent_3,
|
|
106
|
+
additional_properties)
|
|
107
|
+
|
|
108
|
+
def __repr__(self):
|
|
109
|
+
"""Return a unambiguous string representation."""
|
|
110
|
+
_percent_1=(
|
|
111
|
+
self.percent_1
|
|
112
|
+
if hasattr(self, "percent_1")
|
|
113
|
+
else None
|
|
114
|
+
)
|
|
115
|
+
_percent_2=(
|
|
116
|
+
self.percent_2
|
|
117
|
+
if hasattr(self, "percent_2")
|
|
118
|
+
else None
|
|
119
|
+
)
|
|
120
|
+
_percent_3=(
|
|
121
|
+
self.percent_3
|
|
122
|
+
if hasattr(self, "percent_3")
|
|
123
|
+
else None
|
|
124
|
+
)
|
|
125
|
+
_additional_properties=self.additional_properties
|
|
126
|
+
return (
|
|
127
|
+
f"{self.__class__.__name__}("
|
|
128
|
+
f"percent_1={_percent_1!r}, "
|
|
129
|
+
f"percent_2={_percent_2!r}, "
|
|
130
|
+
f"percent_3={_percent_3!r}, "
|
|
131
|
+
f"additional_properties={_additional_properties!r}, "
|
|
132
|
+
f")"
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
def __str__(self):
|
|
136
|
+
"""Return a human-readable string representation."""
|
|
137
|
+
_percent_1=(
|
|
138
|
+
self.percent_1
|
|
139
|
+
if hasattr(self, "percent_1")
|
|
140
|
+
else None
|
|
141
|
+
)
|
|
142
|
+
_percent_2=(
|
|
143
|
+
self.percent_2
|
|
144
|
+
if hasattr(self, "percent_2")
|
|
145
|
+
else None
|
|
146
|
+
)
|
|
147
|
+
_percent_3=(
|
|
148
|
+
self.percent_3
|
|
149
|
+
if hasattr(self, "percent_3")
|
|
150
|
+
else None
|
|
151
|
+
)
|
|
152
|
+
_additional_properties=self.additional_properties
|
|
153
|
+
return (
|
|
154
|
+
f"{self.__class__.__name__}("
|
|
155
|
+
f"percent_1={_percent_1!s}, "
|
|
156
|
+
f"percent_2={_percent_2!s}, "
|
|
157
|
+
f"percent_3={_percent_3!s}, "
|
|
158
|
+
f"additional_properties={_additional_properties!s}, "
|
|
159
|
+
f")"
|
|
160
|
+
)
|
|
@@ -0,0 +1,45 @@
|
|
|
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 TransCharEnum(object):
|
|
9
|
+
"""Implementation of the 'TransChar' enum.
|
|
10
|
+
|
|
11
|
+
Attributes:
|
|
12
|
+
ENUM_01: The enum member of type str.
|
|
13
|
+
ENUM_02: The enum member of type str.
|
|
14
|
+
additional_properties (Dict[str, object]): The additional properties for the
|
|
15
|
+
model.
|
|
16
|
+
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
ENUM_01 = "01"
|
|
20
|
+
|
|
21
|
+
ENUM_02 = "02"
|
|
22
|
+
|
|
23
|
+
@classmethod
|
|
24
|
+
def from_value(cls, value, default=None):
|
|
25
|
+
"""Return the matching enum value for the given input."""
|
|
26
|
+
if value is None:
|
|
27
|
+
return default
|
|
28
|
+
|
|
29
|
+
# If numeric and matches directly
|
|
30
|
+
if isinstance(value, int):
|
|
31
|
+
for name, val in cls.__dict__.items():
|
|
32
|
+
if not name.startswith("_") and val == value:
|
|
33
|
+
return val
|
|
34
|
+
|
|
35
|
+
# If string, perform case-insensitive match
|
|
36
|
+
if isinstance(value, str):
|
|
37
|
+
value_lower = value.lower()
|
|
38
|
+
for name, val in cls.__dict__.items():
|
|
39
|
+
if not name.startswith("_") and (
|
|
40
|
+
name.lower() == value_lower or str(val).lower() == value_lower
|
|
41
|
+
):
|
|
42
|
+
return val
|
|
43
|
+
|
|
44
|
+
# Fallback to default
|
|
45
|
+
return default
|