onlinepayments-sdk-python3 4.23.0__zip → 5.0.0__zip
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.
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/LICENSE.txt +15 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/MANIFEST.in +1 -1
- onlinepayments_sdk_python3-5.0.0/PKG-INFO +154 -0
- onlinepayments_sdk_python3-5.0.0/README.rst +111 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/__init__.py +0 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/api_exception.py +19 -13
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/api_resource.py +57 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/authentication/__init__.py +0 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/authentication/authenticator.py +24 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/authentication/authorization_type.py +10 -0
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/defaultimpl/default_authenticator.py → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/authentication/v1hmac_authenticator.py +34 -27
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/authorization_exception.py +19 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/call_context.py +62 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/client.py +107 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication/__init__.py +0 -0
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/communication_exception.py +2 -3
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/connection.py +31 -17
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/defaultimpl → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/default_connection.py +108 -86
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication/i_metadata_provider.py +19 -0
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/meta_data_provider.py → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication/metadata_provider.py +45 -39
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/multipart_form_data_object.py +11 -7
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication/multipart_form_data_request.py +16 -0
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/not_found_exception.py +3 -3
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication/param_request.py +17 -0
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/pooled_connection.py +8 -6
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/request_header.py +9 -6
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/request_param.py +7 -4
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/response_exception.py +9 -11
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication/response_header.py +50 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communicator.py +455 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communicator_configuration.py +264 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/declined_payment_exception.py +46 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/declined_payout_exception.py +46 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/declined_refund_exception.py +46 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/declined_transaction_exception.py +22 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/account_on_file.py +20 -19
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/account_on_file_attribute.py +25 -25
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/account_on_file_display_hints.py +12 -15
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/acquirer_information.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/acquirer_selection_information.py +15 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/additional_order_input.py +22 -23
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/address.py +28 -29
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/address_personal.py +35 -36
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/airline_data.py +132 -135
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/airline_flight_leg.py +93 -113
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/airline_passenger.py +32 -31
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/amount_breakdown.py +63 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/amount_of_money.py +16 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/api_error.py +45 -44
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/apple_pay_line_item.py +145 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/apple_pay_recurring_payment_request.py +116 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/bank_account_iban.py +10 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/browser_data.py +33 -34
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/calculate_surcharge_request.py +15 -12
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/calculate_surcharge_response.py +10 -11
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/cancel_payment_request.py +14 -11
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/cancel_payment_response.py +11 -8
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/capture.py +21 -18
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/capture_output.py +72 -49
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/capture_payment_request.py +99 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/capture_response.py +21 -18
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/capture_status_output.py +37 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/captures_response.py +10 -9
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card.py +20 -23
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_essentials.py +19 -21
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/card_fraud_results.py +112 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_info.py +14 -12
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payment_method_specific_input.py +166 -121
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payment_method_specific_input_base.py +110 -87
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payment_method_specific_input_for_hosted_checkout.py +18 -21
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payment_method_specific_output.py +63 -64
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payout_method_specific_input.py +23 -23
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_recurrence_details.py +11 -12
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_source.py +19 -20
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_without_cvv.py +17 -15
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/company_information.py +10 -11
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/complete_payment_card_payment_method_specific_input.py +11 -8
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/complete_payment_request.py +16 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/complete_payment_response.py +19 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/contact_details.py +21 -22
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_checkout_request.py +58 -34
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_checkout_response.py +25 -27
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_tokenization_request.py +29 -27
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_tokenization_response.py +26 -26
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_mandate_request.py +50 -49
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_mandate_response.py +14 -15
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_mandate_with_return_url.py +50 -49
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_payment_link_request.py +93 -72
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_payment_request.py +61 -38
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_payment_response.py +18 -19
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/create_payout_request.py +176 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_token_request.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/created_payment_output.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/created_token_response.py +32 -27
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/credit_card_specific_input_hosted_tokenization.py +13 -12
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/credit_card_validation_rules_hosted_tokenization.py +13 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion.py +14 -11
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_input.py +13 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_request.py +15 -12
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_response.py +17 -18
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_result.py +18 -18
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_specific_input.py +12 -12
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer.py +54 -53
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_account.py +44 -45
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/customer_account_authentication.py +81 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_bank_account.py +15 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_device.py +32 -33
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_device_output.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_output.py +10 -11
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_payment_activity.py +15 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_token.py +19 -16
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/data_object.py +34 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/dcc_card_source.py +20 -17
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/dcc_proposal.py +23 -24
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/decrypted_payment_data.py +36 -33
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/directory_entry.py +17 -17
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/discount.py +41 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/empty_validator.py +5 -4
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/error_response.py +13 -12
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/external_cardholder_authentication_data.py +57 -60
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/external_token_linked.py +18 -13
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/feedbacks.py +37 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/fixed_list_validator.py +9 -8
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/fraud_fields.py +17 -18
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/fraud_results.py +43 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/g_pay_three_d_secure.py +46 -44
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_hosted_checkout_response.py +18 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_hosted_tokenization_response.py +18 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_iin_details_request.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_iin_details_response.py +29 -26
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_mandate_response.py +10 -11
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_payment_product_groups_response.py +9 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_payment_products_response.py +9 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_privacy_policy_response.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/gift_card_purchase.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/hosted_checkout_specific_input.py +45 -49
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/hosted_checkout_specific_output.py +12 -13
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/iin_detail.py +23 -18
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/label_template_element.py +13 -15
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/length_validator.py +13 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/line_item.py +41 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/line_item_invoice_data.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/loan_recipient.py +22 -24
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/lodging_data.py +10 -12
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_address.py +26 -37
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_address_response.py +21 -22
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_contact_details.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_customer.py +27 -32
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_customer_response.py +25 -26
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_merchant_action.py +15 -15
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_personal_information.py +14 -17
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_personal_information_response.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_personal_name.py +14 -18
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_personal_name_response.py +12 -13
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_redirect_data.py +12 -13
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_response.py +32 -32
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/merchant_action.py +110 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mobile_payment_data.py +12 -13
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.py +105 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mobile_payment_method_specific_input.py +45 -46
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mobile_payment_method_specific_output.py +27 -28
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mobile_payment_product302_specific_input.py +41 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mobile_payment_product320_specific_input.py +10 -11
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mobile_three_d_secure_challenge_parameters.py +91 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/multiple_payment_information.py +14 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/omnichannel_payout_specific_input.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/operation_output.py +50 -29
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/operation_payment_references.py +37 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/order.py +39 -41
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/order_line_details.py +50 -34
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/order_references.py +102 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/order_status_output.py +27 -25
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/order_type_information.py +64 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/other_details.py +55 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_account_on_file.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_context.py +17 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_creation_output.py +22 -22
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_details_response.py +27 -30
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_error_response.py +17 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_event.py +15 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_order_input.py +18 -28
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_order_output.py +18 -20
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_response.py +41 -42
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_specific_input.py +19 -19
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_output.py +58 -57
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product.py +76 -59
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product130_specific_input.py +10 -11
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product130_specific_three_d_secure.py +18 -19
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3012.py +13 -14
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/payment_product3012_specific_input.py +100 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product302_specific_data.py +9 -8
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3203_specific_output.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3208_specific_input.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3208_specific_output.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3209_specific_input.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3209_specific_output.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product320_specific_data.py +13 -12
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/payment_product5001_specific_output.py +112 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5100_specific_input.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5402_specific_output.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5404.py +12 -13
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5407.py +12 -13
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5500_specific_output.py +33 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product771_specific_output.py +9 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product840_customer_account.py +38 -37
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product840_specific_output.py +21 -22
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_display_hints.py +15 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field.py +21 -18
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_data_restrictions.py +15 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_display_element.py +24 -24
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_display_hints.py +53 -53
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_form_element.py +20 -20
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_tooltip.py +15 -15
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_validators.py +39 -40
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filter.py +11 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filter_hosted_tokenization.py +8 -13
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filters_hosted_checkout.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filters_hosted_tokenization.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_group.py +20 -21
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_networks_response.py +8 -13
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_references.py +13 -15
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_response.py +24 -25
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_status_output.py +29 -34
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_error_response.py +17 -18
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_output.py +18 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_response.py +21 -18
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_result.py +21 -18
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_status_output.py +21 -17
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_information.py +18 -23
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_information_token.py +11 -8
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_name.py +15 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_name_token.py +13 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/product_directory.py +10 -9
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/protection_eligibility.py +59 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/range_validator.py +13 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/rate_details.py +22 -19
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_data.py +12 -13
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_method_specific_input.py +125 -59
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_method_specific_output.py +47 -48
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product3203_specific_input.py +40 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product3302_specific_input.py +73 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_product3306_specific_input.py +10 -14
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product5001_specific_input.py +41 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product5300_specific_input.py +146 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_product5406_specific_input.py +10 -11
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_product5408_specific_input.py +15 -16
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product5410_specific_input.py +38 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_product809_specific_input.py +9 -10
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product840_specific_input.py +100 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirection_data.py +10 -13
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_card_method_specific_output.py +17 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_e_wallet_method_specific_output.py +17 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_error_response.py +17 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_mobile_method_specific_output.py +16 -13
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_output.py +63 -42
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_payment_product840_customer_account.py +16 -13
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_payment_product840_specific_output.py +11 -8
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_redirect_method_specific_output.py +13 -10
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/refund_request.py +103 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_response.py +20 -21
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refunds_response.py +10 -9
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/regular_expression_validator.py +10 -7
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/send_test_request.py +37 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input_base.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_output.py +17 -18
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input_base.py +13 -14
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/session_request.py +9 -8
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/session_response.py +21 -22
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shipping.py +51 -50
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shipping_method.py +18 -19
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shopping_cart.py +31 -33
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shopping_cart_extension.py +8 -6
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/show_form_data.py +18 -19
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.py +153 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/subsequent_payment_product5001_specific_input.py +41 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/subsequent_payment_request.py +20 -18
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/subsequent_payment_response.py +10 -11
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge.py +27 -24
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge_calculation_card.py +13 -15
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/surcharge_for_payment_link.py +40 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge_rate.py +18 -19
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge_specific_input.py +16 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge_specific_output.py +20 -20
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/test_connection.py +10 -7
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/three_d_secure.py +95 -77
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/three_d_secure_base.py +69 -69
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/three_d_secure_data.py +20 -20
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/three_d_secure_results.py +57 -56
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/token_card.py +13 -14
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/token_card_data.py +61 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/token_card_specific_input.py +10 -11
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/token_data.py +63 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/token_e_wallet.py +16 -16
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/token_response.py +28 -25
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/transaction.py +11 -8
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain}/uploadable_file.py +9 -6
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/validate_credentials_request.py +55 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/validate_credentials_response.py +37 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/value_mapping_element.py +12 -15
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/web_hooks_event.py +174 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/exception_factory.py +75 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/factory.py +127 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/i_client.py +78 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/i_communicator.py +180 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/idempotence_exception.py +36 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/json/__init__.py +0 -0
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/defaultimpl → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/json}/default_marshaller.py +16 -11
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/json}/marshaller.py +10 -5
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/json}/marshaller_syntax_exception.py +4 -1
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/__init__.py +0 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/body_obfuscator.py +113 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/log/communicator_logger.py +8 -3
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/header_obfuscator.py +49 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/log_message.py +94 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/log/logging_capable.py +7 -3
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/obfuscation_capable.py +24 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/obfuscation_rule.py +50 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/log/python_communicator_logger.py +6 -3
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/request_log_message.py +28 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/log/response_log_message.py +11 -10
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/log/sys_out_communicator_logger.py +7 -8
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/__init__.py +4 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/captures/__init__.py +4 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/captures/captures_client.py +61 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/captures/i_captures_client.py +34 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/complete/__init__.py +4 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/complete/complete_client.py +65 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/complete/i_complete_client.py +37 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/hostedcheckout/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/hostedcheckout/hosted_checkout_client.py +42 -37
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/hostedcheckout/i_hosted_checkout_client.py +22 -19
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/hostedtokenization/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/hostedtokenization/hosted_tokenization_client.py +42 -37
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/hostedtokenization/i_hosted_tokenization_client.py +22 -19
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/i_merchant_client.py +157 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/mandates/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/mandates/i_mandates_client.py +49 -46
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/mandates/mandates_client.py +90 -85
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/merchant_client.py +182 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/paymentlinks/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/paymentlinks/i_payment_links_client.py +31 -28
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/paymentlinks/payment_links_client.py +58 -53
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/payments/__init__.py +4 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/payments/i_payments_client.py +166 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/payments/payments_client.py +287 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/payouts/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/payouts/i_payouts_client.py +25 -22
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/payouts/payouts_client.py +54 -49
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/privacypolicy/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/services → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/privacypolicy}/get_privacy_policy_params.py +12 -11
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/privacypolicy/i_privacy_policy_client.py +36 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/privacypolicy/privacy_policy_client.py +59 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/productgroups/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/productgroups/get_product_group_params.py +35 -32
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/productgroups/get_product_groups_params.py +35 -32
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/productgroups/i_product_groups_client.py +26 -22
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/productgroups/product_groups_client.py +44 -39
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/products/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_payment_product_networks_params.py +21 -19
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_payment_product_params.py +35 -32
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_payment_products_params.py +35 -32
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_product_directory_params.py +12 -11
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/i_products_client.py +52 -48
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/products_client.py +84 -79
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/refunds/__init__.py +4 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/refunds/i_refunds_client.py +34 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/refunds/refunds_client.py +61 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/services/__init__.py +4 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/services/i_services_client.py +96 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/services/services_client.py +159 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/sessions/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/sessions/i_sessions_client.py +13 -10
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/sessions/sessions_client.py +60 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/tokens/__init__.py +4 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/tokens/i_tokens_client.py +37 -34
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/tokens/tokens_client.py +71 -66
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/webhooks/__init__.py +4 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/webhooks/i_webhooks_client.py +55 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/webhooks/webhooks_client.py +93 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/platform_exception.py +19 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/proxy_configuration.py +19 -14
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/reference_exception.py +19 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/validation_exception.py +19 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/webhooks/__init__.py +0 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/webhooks/api_version_mismatch_exception.py +4 -5
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/webhooks/in_memory_secret_key_store.py +8 -9
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/webhooks/secret_key_not_available_exception.py +18 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/webhooks/secret_key_store.py +3 -3
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/webhooks/signature_validation_exception.py +17 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/webhooks/signature_validator.py +56 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/webhooks/webhooks_helper.py +52 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments_sdk_python3.egg-info/PKG-INFO +154 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments_sdk_python3.egg-info/SOURCES.txt +81 -29
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments_sdk_python3.egg-info/requires.txt +1 -1
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/setup.cfg +7 -7
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/setup.py +26 -10
- onlinepayments-sdk-python3-4.23.0/PKG-INFO +0 -139
- onlinepayments-sdk-python3-4.23.0/README.md +0 -83
- onlinepayments-sdk-python3-4.23.0/README.rst +0 -120
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/api_resource.py +0 -115
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/authenticator.py +0 -18
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/authorization_exception.py +0 -12
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/call_context.py +0 -42
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/client.py +0 -91
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/communicator.py +0 -354
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/communicator_configuration.py +0 -106
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/data_object.py +0 -9
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/declined_payment_exception.py +0 -43
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/declined_payout_exception.py +0 -41
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/declined_refund_exception.py +0 -41
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/declined_transaction_exception.py +0 -13
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/defaultimpl/authorization_type.py +0 -10
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/amount_breakdown.py +0 -63
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/capture_payment_request.py +0 -76
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/capture_status_output.py +0 -38
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/card_fraud_results.py +0 -110
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/create_payout_request.py +0 -108
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/customer_account_authentication.py +0 -64
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/discount.py +0 -44
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/fraud_results.py +0 -43
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/merchant_action.py +0 -88
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.py +0 -83
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/order_references.py +0 -108
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/order_type_information.py +0 -63
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/payment_product5001_specific_output.py +0 -38
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/protection_eligibility.py +0 -60
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/redirect_payment_product3203_specific_input.py +0 -44
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/redirect_payment_product5001_specific_input.py +0 -41
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/redirect_payment_product840_specific_input.py +0 -60
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/refund_request.py +0 -60
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.py +0 -146
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/subsequent_payment_product5001_specific_input.py +0 -41
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/surcharge_for_payment_link.py +0 -40
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/token_card_data.py +0 -36
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/token_data.py +0 -42
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/web_hooks_event.py +0 -145
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/endpoint_configuration.py +0 -126
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/factory.py +0 -117
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/i_client.py +0 -67
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/idempotence_exception.py +0 -29
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/log/log_message.py +0 -70
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/log/logging_util.py +0 -144
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/log/request_log_message.py +0 -24
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/i_merchant_client.py +0 -109
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/merchant_client.py +0 -117
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/payments/i_payments_client.py +0 -226
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/payments/payments_client.py +0 -391
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/services/i_services_client.py +0 -114
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/services/services_client.py +0 -187
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/sessions/sessions_client.py +0 -55
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/multipart_form_data_request.py +0 -10
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/param_request.py +0 -13
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/payment_platform_exception.py +0 -11
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/reference_exception.py +0 -12
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/response_header.py +0 -25
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/validation_exception.py +0 -11
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/webhooks/secret_key_not_available_exception.py +0 -23
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/webhooks/signature_validation_exception.py +0 -10
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/webhooks/web_hooks.py +0 -22
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/webhooks/web_hooks_helper.py +0 -124
- onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/webhooks/web_hooks_helper_builder.py +0 -33
- onlinepayments-sdk-python3-4.23.0/onlinepayments_sdk_python3.egg-info/PKG-INFO +0 -139
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments_sdk_python3.egg-info/dependency_links.txt +0 -0
- {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments_sdk_python3.egg-info/top_level.txt +0 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
from json import dumps, loads
|
|
2
|
+
from typing import Any, Type, Union
|
|
2
3
|
|
|
3
|
-
from
|
|
4
|
-
from
|
|
5
|
-
|
|
4
|
+
from .marshaller import Marshaller, T
|
|
5
|
+
from .marshaller_syntax_exception import MarshallerSyntaxException
|
|
6
|
+
|
|
7
|
+
from onlinepayments.sdk.domain.data_object import DataObject
|
|
6
8
|
|
|
7
9
|
|
|
8
10
|
class DefaultMarshaller(Marshaller):
|
|
@@ -11,27 +13,30 @@ class DefaultMarshaller(Marshaller):
|
|
|
11
13
|
"""
|
|
12
14
|
|
|
13
15
|
@staticmethod
|
|
14
|
-
def
|
|
16
|
+
def instance() -> 'DefaultMarshaller':
|
|
15
17
|
return _DEFAULT_MARSHALLER_INSTANCE
|
|
16
18
|
|
|
17
|
-
def marshal(self, request_object):
|
|
19
|
+
def marshal(self, request_object: Any) -> str:
|
|
18
20
|
if isinstance(request_object, DataObject):
|
|
19
21
|
dictionary = request_object.to_dictionary()
|
|
20
|
-
return dumps(dictionary,
|
|
22
|
+
return dumps(dictionary,
|
|
23
|
+
default=lambda o: o.to_dictionary(),
|
|
21
24
|
indent=4)
|
|
22
25
|
else:
|
|
23
|
-
return dumps(request_object,
|
|
26
|
+
return dumps(request_object,
|
|
27
|
+
default=lambda o: o.__dict__,
|
|
28
|
+
indent=4)
|
|
24
29
|
|
|
25
|
-
def unmarshal(self, response_json, type_class):
|
|
30
|
+
def unmarshal(self, response_json: Union[str, bytes, None], type_class: Type[T]) -> T:
|
|
26
31
|
if not response_json:
|
|
27
32
|
return None
|
|
28
33
|
if issubclass(type_class, DataObject):
|
|
29
34
|
try:
|
|
30
35
|
return type_class().from_dictionary(loads(response_json))
|
|
31
36
|
except ValueError as e:
|
|
32
|
-
raise MarshallerSyntaxException(e)
|
|
37
|
+
raise MarshallerSyntaxException(e) from e
|
|
33
38
|
|
|
34
|
-
class Object:
|
|
39
|
+
class Object(object):
|
|
35
40
|
pass
|
|
36
41
|
|
|
37
42
|
def convert_to_object(d):
|
|
@@ -49,7 +54,7 @@ class DefaultMarshaller(Marshaller):
|
|
|
49
54
|
converted_object = convert_to_object(dictionary)
|
|
50
55
|
return converted_object
|
|
51
56
|
except ValueError as e:
|
|
52
|
-
raise MarshallerSyntaxException(e)
|
|
57
|
+
raise MarshallerSyntaxException(e) from e
|
|
53
58
|
|
|
54
59
|
|
|
55
60
|
_DEFAULT_MARSHALLER_INSTANCE = DefaultMarshaller()
|
|
@@ -1,27 +1,32 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
|
+
from typing import Any, Optional, Type, TypeVar, Union
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
T = TypeVar('T')
|
|
2
6
|
|
|
3
7
|
|
|
4
8
|
class Marshaller(ABC):
|
|
5
9
|
"""
|
|
6
|
-
Used to marshal and unmarshal Online Payments platform request and response
|
|
7
|
-
objects to and from JSON.
|
|
10
|
+
Used to marshal and unmarshal Online Payments platform request and response objects to and from JSON.
|
|
8
11
|
"""
|
|
9
12
|
|
|
10
13
|
@abstractmethod
|
|
11
|
-
def marshal(self, request_object):
|
|
14
|
+
def marshal(self, request_object: Any) -> str:
|
|
12
15
|
"""
|
|
13
16
|
Marshal a request object to a JSON string.
|
|
14
17
|
|
|
15
18
|
:param request_object: the object to marshal into a serialized JSON string
|
|
16
19
|
:return: the serialized JSON string of the request_object
|
|
17
20
|
"""
|
|
21
|
+
raise NotImplementedError
|
|
18
22
|
|
|
19
23
|
@abstractmethod
|
|
20
|
-
def unmarshal(self, response_json, type_class):
|
|
24
|
+
def unmarshal(self, response_json: Union[str, bytes, None], type_class: Type[T]) -> Optional[T]:
|
|
21
25
|
"""
|
|
22
26
|
Unmarshal a JSON string to a response object.
|
|
23
27
|
|
|
24
28
|
:param response_json: the json body that should be unmarshalled
|
|
25
29
|
:param type_class: The class to which the response_json should be unmarshalled
|
|
26
|
-
:raise
|
|
30
|
+
:raise MarshallerSyntaxException: if the JSON is not a valid representation for an object of the given type
|
|
27
31
|
"""
|
|
32
|
+
raise NotImplementedError
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
|
|
1
4
|
class MarshallerSyntaxException(RuntimeError):
|
|
2
5
|
"""
|
|
3
6
|
Thrown when a JSON string cannot be converted to a response object.
|
|
4
7
|
"""
|
|
5
8
|
|
|
6
|
-
def __init__(self, cause=
|
|
9
|
+
def __init__(self, cause: Optional[Exception] = None):
|
|
7
10
|
if cause:
|
|
8
11
|
super(MarshallerSyntaxException, self).__init__(cause)
|
|
9
12
|
else:
|
|
File without changes
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import codecs
|
|
2
|
+
import re
|
|
3
|
+
|
|
4
|
+
from typing import AnyStr, Dict, Mapping, Optional, Pattern, Sequence, Union
|
|
5
|
+
|
|
6
|
+
from .obfuscation_rule import ObfuscationRule, obfuscate_all, obfuscate_with_fixed_length, obfuscate_all_but_first, obfuscate_all_but_last
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class BodyObfuscator(object):
|
|
10
|
+
"""
|
|
11
|
+
A class that can be used to obfuscate properties in JSON bodies.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
__obfuscation_rules: Dict[str, ObfuscationRule] = None
|
|
15
|
+
__property_pattern: Pattern[AnyStr] = None
|
|
16
|
+
|
|
17
|
+
def __init__(self, additional_rules: Optional[Mapping[str, ObfuscationRule]] = None):
|
|
18
|
+
"""
|
|
19
|
+
Creates a new body obfuscator.
|
|
20
|
+
This will contain some pre-defined obfuscation rules, as well as any provided custom rules
|
|
21
|
+
|
|
22
|
+
:param additional_rules: An optional mapping from property names to obfuscation rules,
|
|
23
|
+
where an obfuscation rule is a function that obfuscates a single string,
|
|
24
|
+
"""
|
|
25
|
+
self.__obfuscation_rules = {
|
|
26
|
+
"additionalInfo": obfuscate_all(),
|
|
27
|
+
"cardholderName": obfuscate_all(),
|
|
28
|
+
"dateOfBirth": obfuscate_all(),
|
|
29
|
+
"emailAddress": obfuscate_all(),
|
|
30
|
+
"faxNumber": obfuscate_all(),
|
|
31
|
+
"firstName": obfuscate_all(),
|
|
32
|
+
"houseNumber": obfuscate_all(),
|
|
33
|
+
"mobilePhoneNumber": obfuscate_all(),
|
|
34
|
+
"passengerName": obfuscate_all(),
|
|
35
|
+
"phoneNumber": obfuscate_all(),
|
|
36
|
+
"street": obfuscate_all(),
|
|
37
|
+
"workPhoneNumber": obfuscate_all(),
|
|
38
|
+
"zip": obfuscate_all(),
|
|
39
|
+
"cardNumber": obfuscate_all_but_last(4),
|
|
40
|
+
"expiryDate": obfuscate_all_but_last(2),
|
|
41
|
+
"cvv": obfuscate_all(),
|
|
42
|
+
"iban": obfuscate_all_but_last(4),
|
|
43
|
+
"accountNumber": obfuscate_all_but_last(4),
|
|
44
|
+
"reformattedAccountNumber": obfuscate_all_but_last(4),
|
|
45
|
+
"bin": obfuscate_all_but_first(6),
|
|
46
|
+
"value": obfuscate_all(),
|
|
47
|
+
"keyId": obfuscate_with_fixed_length(8),
|
|
48
|
+
"secretKey": obfuscate_with_fixed_length(8),
|
|
49
|
+
"publicKey": obfuscate_with_fixed_length(8),
|
|
50
|
+
"userAuthenticationToken": obfuscate_with_fixed_length(8),
|
|
51
|
+
"encryptedPayload": obfuscate_with_fixed_length(8),
|
|
52
|
+
"decryptedPayload": obfuscate_with_fixed_length(8),
|
|
53
|
+
"encryptedCustomerInput": obfuscate_with_fixed_length(8),
|
|
54
|
+
}
|
|
55
|
+
if additional_rules:
|
|
56
|
+
for name, rule in additional_rules.items():
|
|
57
|
+
self.__obfuscation_rules[name] = rule
|
|
58
|
+
|
|
59
|
+
property_names = tuple(self.__obfuscation_rules.keys())
|
|
60
|
+
self.__property_pattern = self.__build_property_pattern(property_names)
|
|
61
|
+
|
|
62
|
+
@staticmethod
|
|
63
|
+
def __build_property_pattern(property_names: Sequence[str]) -> Pattern[AnyStr]:
|
|
64
|
+
if not property_names:
|
|
65
|
+
return re.compile("$^")
|
|
66
|
+
s = "([\"'])("
|
|
67
|
+
for p in property_names:
|
|
68
|
+
s += '|' + re.escape(p)
|
|
69
|
+
s += ")\\1\\s*:\\s*(?:([\"'])(.*?)(?<!\\\\)\\3|([^\"'\\s\\[\\{]((?!,)\\S)*))"
|
|
70
|
+
return re.compile(s, re.DOTALL)
|
|
71
|
+
|
|
72
|
+
def __obfuscate_value(self, property_name: str, value: str) -> str:
|
|
73
|
+
obfuscation_rule = self.__obfuscation_rules.get(property_name)
|
|
74
|
+
if obfuscation_rule:
|
|
75
|
+
return obfuscation_rule(value)
|
|
76
|
+
return value
|
|
77
|
+
|
|
78
|
+
def obfuscate_body(self, body: Union[str, bytes, None], charset: Optional[str] = None) -> Optional[str]:
|
|
79
|
+
"""
|
|
80
|
+
Obfuscates the body from the given stream as necessary.
|
|
81
|
+
:param body: The body to obfuscate, as string or bytes.
|
|
82
|
+
:param charset: The charset to use to read the body bytes.
|
|
83
|
+
"""
|
|
84
|
+
if charset:
|
|
85
|
+
body = codecs.decode(body, charset)
|
|
86
|
+
|
|
87
|
+
if body is None:
|
|
88
|
+
return None
|
|
89
|
+
if not body:
|
|
90
|
+
return ""
|
|
91
|
+
index = 0
|
|
92
|
+
s_obfuscate = ""
|
|
93
|
+
matcher = self.__property_pattern.finditer(body)
|
|
94
|
+
for x in matcher:
|
|
95
|
+
property_name = x.group(2)
|
|
96
|
+
value = x.group(4)
|
|
97
|
+
value_start = x.start(4)
|
|
98
|
+
value_end = x.end(4)
|
|
99
|
+
if not value:
|
|
100
|
+
value = x.group(5)
|
|
101
|
+
value_start = x.start(5)
|
|
102
|
+
value_end = x.end(5)
|
|
103
|
+
obfuscated_value = self.__obfuscate_value(property_name, value)
|
|
104
|
+
s_obfuscate += body[index:value_start] + obfuscated_value
|
|
105
|
+
index = value_end
|
|
106
|
+
return s_obfuscate + body[index:]
|
|
107
|
+
|
|
108
|
+
@staticmethod
|
|
109
|
+
def default_body_obfuscator() -> 'BodyObfuscator':
|
|
110
|
+
return _DEFAULT_BODY_OBFUSCATOR
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
_DEFAULT_BODY_OBFUSCATOR = BodyObfuscator()
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
|
+
from typing import Optional
|
|
3
|
+
|
|
4
|
+
from .request_log_message import RequestLogMessage
|
|
5
|
+
from .response_log_message import ResponseLogMessage
|
|
2
6
|
|
|
3
7
|
|
|
4
8
|
class CommunicatorLogger(ABC):
|
|
@@ -6,14 +10,14 @@ class CommunicatorLogger(ABC):
|
|
|
6
10
|
Used to log messages from communicators.
|
|
7
11
|
"""
|
|
8
12
|
|
|
9
|
-
def log_request(self, request_log_message):
|
|
13
|
+
def log_request(self, request_log_message: RequestLogMessage) -> None:
|
|
10
14
|
"""
|
|
11
15
|
Logs a request message object
|
|
12
16
|
|
|
13
17
|
"""
|
|
14
18
|
self.log(request_log_message.get_message())
|
|
15
19
|
|
|
16
|
-
def log_response(self, response_log_message):
|
|
20
|
+
def log_response(self, response_log_message: ResponseLogMessage) -> None:
|
|
17
21
|
"""
|
|
18
22
|
Logs a response message object
|
|
19
23
|
|
|
@@ -21,10 +25,11 @@ class CommunicatorLogger(ABC):
|
|
|
21
25
|
self.log(response_log_message.get_message())
|
|
22
26
|
|
|
23
27
|
@abstractmethod
|
|
24
|
-
def log(self, message, thrown=None):
|
|
28
|
+
def log(self, message: str, thrown: Optional[Exception] = None) -> None:
|
|
25
29
|
"""
|
|
26
30
|
Logs a throwable with an accompanying message.
|
|
27
31
|
|
|
28
32
|
:param message: The message accompanying the throwable.
|
|
29
33
|
:param thrown: The throwable to log.
|
|
30
34
|
"""
|
|
35
|
+
raise NotImplementedError
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
from typing import Dict, Mapping, Optional
|
|
2
|
+
|
|
3
|
+
from .obfuscation_rule import ObfuscationRule, obfuscate_with_fixed_length
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class HeaderObfuscator(object):
|
|
7
|
+
"""
|
|
8
|
+
A class that can be used to obfuscate headers.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
__obfuscation_rules: Dict[str, ObfuscationRule] = None
|
|
12
|
+
|
|
13
|
+
def __init__(self, additional_rules: Optional[Mapping[str, ObfuscationRule]] = None):
|
|
14
|
+
"""
|
|
15
|
+
Creates a new header obfuscator.
|
|
16
|
+
This will contain some pre-defined obfuscation rules, as well as any provided custom rules
|
|
17
|
+
|
|
18
|
+
:param additional_rules: An optional mapping from property names to obfuscation rules,
|
|
19
|
+
where an obfuscation rule is a function that obfuscates a single string,
|
|
20
|
+
"""
|
|
21
|
+
self.__obfuscation_rules = {
|
|
22
|
+
"X-GCS-Authentication-Token": obfuscate_with_fixed_length(8),
|
|
23
|
+
"X-GCS-CallerPassword": obfuscate_with_fixed_length(8),
|
|
24
|
+
"authorization": obfuscate_with_fixed_length(8),
|
|
25
|
+
"www-authenticate": obfuscate_with_fixed_length(8),
|
|
26
|
+
"proxy-authenticate": obfuscate_with_fixed_length(8),
|
|
27
|
+
"proxy-authorization": obfuscate_with_fixed_length(8),
|
|
28
|
+
}
|
|
29
|
+
if additional_rules:
|
|
30
|
+
for name, rule in additional_rules.items():
|
|
31
|
+
name = name.lower()
|
|
32
|
+
self.__obfuscation_rules[name] = rule
|
|
33
|
+
|
|
34
|
+
def obfuscate_header(self, header_name: str, value: str) -> str:
|
|
35
|
+
"""
|
|
36
|
+
Obfuscates the value for the given header as necessary.
|
|
37
|
+
"""
|
|
38
|
+
header_name = header_name.lower()
|
|
39
|
+
obfuscation_rule = self.__obfuscation_rules.get(header_name)
|
|
40
|
+
if obfuscation_rule:
|
|
41
|
+
return obfuscation_rule(value)
|
|
42
|
+
return value
|
|
43
|
+
|
|
44
|
+
@staticmethod
|
|
45
|
+
def default_header_obfuscator() -> 'HeaderObfuscator':
|
|
46
|
+
return _DEFAULT_HEADER_OBFUSCATOR
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
_DEFAULT_HEADER_OBFUSCATOR = HeaderObfuscator()
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
from typing import List, Optional, Sequence, Tuple, Union
|
|
3
|
+
|
|
4
|
+
from .body_obfuscator import BodyObfuscator
|
|
5
|
+
from .header_obfuscator import HeaderObfuscator
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class LogMessage(ABC):
|
|
9
|
+
"""
|
|
10
|
+
A utility class to build log messages.
|
|
11
|
+
"""
|
|
12
|
+
__request_id: str = None
|
|
13
|
+
__headers: str = None
|
|
14
|
+
__body: Optional[str] = None
|
|
15
|
+
__content_type: Optional[str] = None
|
|
16
|
+
__header_list: List[Tuple[str, str]] = None
|
|
17
|
+
__body_obfuscator: BodyObfuscator = None
|
|
18
|
+
__header_obfuscator: HeaderObfuscator = None
|
|
19
|
+
|
|
20
|
+
def __init__(self, request_id: str,
|
|
21
|
+
body_obfuscator: BodyObfuscator = BodyObfuscator.default_body_obfuscator(),
|
|
22
|
+
header_obfuscator: HeaderObfuscator = HeaderObfuscator.default_header_obfuscator()):
|
|
23
|
+
if not request_id:
|
|
24
|
+
raise ValueError("request_id is required")
|
|
25
|
+
if not body_obfuscator:
|
|
26
|
+
raise ValueError("body_obfuscator is required")
|
|
27
|
+
if not header_obfuscator:
|
|
28
|
+
raise ValueError("header_obfuscator is required")
|
|
29
|
+
self.__request_id = request_id
|
|
30
|
+
self.__headers = ""
|
|
31
|
+
self.__header_list = []
|
|
32
|
+
self.__body_obfuscator = body_obfuscator
|
|
33
|
+
self.__header_obfuscator = header_obfuscator
|
|
34
|
+
|
|
35
|
+
@property
|
|
36
|
+
def request_id(self) -> str:
|
|
37
|
+
return self.__request_id
|
|
38
|
+
|
|
39
|
+
@property
|
|
40
|
+
def headers(self) -> str:
|
|
41
|
+
return str(self.__headers)
|
|
42
|
+
|
|
43
|
+
@property
|
|
44
|
+
def body(self) -> Optional[str]:
|
|
45
|
+
return self.__body
|
|
46
|
+
|
|
47
|
+
@property
|
|
48
|
+
def content_type(self) -> Optional[str]:
|
|
49
|
+
return self.__content_type
|
|
50
|
+
|
|
51
|
+
def add_header(self, name: str, value: Optional[str]) -> None:
|
|
52
|
+
if self.__headers:
|
|
53
|
+
self.__headers += ", "
|
|
54
|
+
self.__headers += name + "=\""
|
|
55
|
+
if value is not None and value.lower() != 'none':
|
|
56
|
+
obfuscated_value = self.__header_obfuscator.obfuscate_header(name, value)
|
|
57
|
+
self.__headers += obfuscated_value
|
|
58
|
+
self.__header_list.append((name, "\"" + obfuscated_value + "\""))
|
|
59
|
+
else:
|
|
60
|
+
self.__header_list.append((name, "\"\""))
|
|
61
|
+
self.__headers += "\""
|
|
62
|
+
|
|
63
|
+
def set_body(self, body: Union[str, bytes, None], content_type: Optional[str], charset: Optional[str] = None) -> None:
|
|
64
|
+
self.__content_type = content_type
|
|
65
|
+
if self.__is_binary(content_type):
|
|
66
|
+
self.__body = "<binary content>"
|
|
67
|
+
else:
|
|
68
|
+
self.__body = self.__body_obfuscator.obfuscate_body(body, charset)
|
|
69
|
+
|
|
70
|
+
def set_binary_body(self, content_type: Optional[str]) -> None:
|
|
71
|
+
if not self.__is_binary(content_type):
|
|
72
|
+
raise ValueError("Not a binary content type: " + content_type)
|
|
73
|
+
self.__content_type = content_type
|
|
74
|
+
self.__body = "<binary content>"
|
|
75
|
+
|
|
76
|
+
@staticmethod
|
|
77
|
+
def __is_binary(content_type: Optional[str]) -> bool:
|
|
78
|
+
if content_type is None:
|
|
79
|
+
return False
|
|
80
|
+
content_type = content_type.lower()
|
|
81
|
+
return not (content_type.startswith("text/") or "json" in content_type or "xml" in content_type)
|
|
82
|
+
|
|
83
|
+
@staticmethod
|
|
84
|
+
def empty_if_none(value: Optional[str]) -> str:
|
|
85
|
+
if value is not None:
|
|
86
|
+
return value
|
|
87
|
+
return ""
|
|
88
|
+
|
|
89
|
+
@abstractmethod
|
|
90
|
+
def get_message(self) -> str:
|
|
91
|
+
raise NotImplementedError
|
|
92
|
+
|
|
93
|
+
def get_header_list(self) -> Sequence[Tuple[str, str]]:
|
|
94
|
+
return self.__header_list
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
2
|
|
|
3
|
+
from .communicator_logger import CommunicatorLogger
|
|
4
|
+
|
|
3
5
|
|
|
4
6
|
class LoggingCapable(ABC):
|
|
5
7
|
"""
|
|
@@ -8,15 +10,17 @@ class LoggingCapable(ABC):
|
|
|
8
10
|
"""
|
|
9
11
|
|
|
10
12
|
@abstractmethod
|
|
11
|
-
def enable_logging(self, communicator_logger):
|
|
13
|
+
def enable_logging(self, communicator_logger: CommunicatorLogger) -> None:
|
|
12
14
|
"""
|
|
13
15
|
Turns on logging using the given communicator logger.
|
|
14
16
|
|
|
15
|
-
:raise
|
|
17
|
+
:raise ValueError: If the given communicator logger is None.
|
|
16
18
|
"""
|
|
19
|
+
raise NotImplementedError
|
|
17
20
|
|
|
18
21
|
@abstractmethod
|
|
19
|
-
def disable_logging(self):
|
|
22
|
+
def disable_logging(self) -> None:
|
|
20
23
|
"""
|
|
21
24
|
Turns off logging.
|
|
22
25
|
"""
|
|
26
|
+
raise NotImplementedError
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
|
|
3
|
+
from .body_obfuscator import BodyObfuscator
|
|
4
|
+
from .header_obfuscator import HeaderObfuscator
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class ObfuscationCapable(ABC):
|
|
8
|
+
"""
|
|
9
|
+
Classes that extend this class support obfuscating bodies and headers.
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
@abstractmethod
|
|
13
|
+
def set_body_obfuscator(self, body_obfuscator: BodyObfuscator) -> None:
|
|
14
|
+
"""
|
|
15
|
+
Sets the current body obfuscator to use.
|
|
16
|
+
"""
|
|
17
|
+
raise NotImplementedError
|
|
18
|
+
|
|
19
|
+
@abstractmethod
|
|
20
|
+
def set_header_obfuscator(self, header_obfuscator: HeaderObfuscator) -> None:
|
|
21
|
+
"""
|
|
22
|
+
Sets the current header obfuscator to use.
|
|
23
|
+
"""
|
|
24
|
+
raise NotImplementedError
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
from typing import Callable
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
ObfuscationRule = Callable[[str], str]
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def obfuscate_all() -> ObfuscationRule:
|
|
8
|
+
"""
|
|
9
|
+
Returns an obfuscation rule (function) that will replace all characters with *
|
|
10
|
+
"""
|
|
11
|
+
return lambda value: '*' * len(value) if value else value
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def obfuscate_with_fixed_length(fixed_length: int) -> ObfuscationRule:
|
|
15
|
+
"""
|
|
16
|
+
Returns an obfuscation rule (function) that will replace values with a fixed length string containing only *
|
|
17
|
+
"""
|
|
18
|
+
return lambda value: '*' * fixed_length
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def obfuscate_all_but_first(count: int) -> ObfuscationRule:
|
|
22
|
+
"""
|
|
23
|
+
Returns an obfuscation rule (function) that will keep a fixed number of characters at the start,
|
|
24
|
+
then replaces all other characters with *
|
|
25
|
+
"""
|
|
26
|
+
def obfuscate_value(value: str) -> str:
|
|
27
|
+
if not value:
|
|
28
|
+
return value
|
|
29
|
+
length = len(value)
|
|
30
|
+
if length < count:
|
|
31
|
+
return value
|
|
32
|
+
end = '*' * (length - count)
|
|
33
|
+
return value[:count] + end
|
|
34
|
+
return obfuscate_value
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def obfuscate_all_but_last(count: int) -> ObfuscationRule:
|
|
38
|
+
"""
|
|
39
|
+
Returns an obfuscation rule that will keep a fixed number of characters at the end,
|
|
40
|
+
then replaces all other characters with *
|
|
41
|
+
"""
|
|
42
|
+
def obfuscate_value(value: str) -> str:
|
|
43
|
+
if not value:
|
|
44
|
+
return value
|
|
45
|
+
length = len(value)
|
|
46
|
+
if length < count:
|
|
47
|
+
return value
|
|
48
|
+
start = '*' * (length - count)
|
|
49
|
+
return start + value[-count:]
|
|
50
|
+
return obfuscate_value
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
from
|
|
1
|
+
from logging import Logger
|
|
2
|
+
from typing import Optional
|
|
3
|
+
|
|
4
|
+
from .communicator_logger import CommunicatorLogger
|
|
2
5
|
|
|
3
6
|
|
|
4
7
|
class PythonCommunicatorLogger(CommunicatorLogger):
|
|
@@ -6,7 +9,7 @@ class PythonCommunicatorLogger(CommunicatorLogger):
|
|
|
6
9
|
A communicator logger that is backed by the log library.
|
|
7
10
|
"""
|
|
8
11
|
|
|
9
|
-
def __init__(self, logger, log_level, error_log_level=
|
|
12
|
+
def __init__(self, logger: Logger, log_level: int, error_log_level: Optional[int] = None):
|
|
10
13
|
"""
|
|
11
14
|
Logs messages to the argument logger using the argument log_level.
|
|
12
15
|
If absent, the error_log_level will be equal to the log_level.
|
|
@@ -34,7 +37,7 @@ class PythonCommunicatorLogger(CommunicatorLogger):
|
|
|
34
37
|
self.__log_level = log_level
|
|
35
38
|
self.__error_log_level = error_log_level
|
|
36
39
|
|
|
37
|
-
def log(self, message, thrown=None):
|
|
40
|
+
def log(self, message: str, thrown: Optional[Exception] = None) -> None:
|
|
38
41
|
"""
|
|
39
42
|
Log a message to the underlying logger.
|
|
40
43
|
If thrown is absent, the message will be logged with the
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from .body_obfuscator import BodyObfuscator
|
|
2
|
+
from .header_obfuscator import HeaderObfuscator
|
|
3
|
+
from .log_message import LogMessage
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class RequestLogMessage(LogMessage):
|
|
7
|
+
"""
|
|
8
|
+
A utility class to build request log messages.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
def __init__(self, request_id: str, method: str, uri: str,
|
|
12
|
+
body_obfuscator: BodyObfuscator = BodyObfuscator.default_body_obfuscator(),
|
|
13
|
+
header_obfuscator: HeaderObfuscator = HeaderObfuscator.default_header_obfuscator()):
|
|
14
|
+
super(RequestLogMessage, self).__init__(request_id, body_obfuscator, header_obfuscator)
|
|
15
|
+
self.method = method
|
|
16
|
+
self.uri = uri
|
|
17
|
+
|
|
18
|
+
def get_message(self) -> str:
|
|
19
|
+
string = "Outgoing request (requestId='" + str(self.request_id) + "'):\n" + \
|
|
20
|
+
" method: " + self.empty_if_none("'" + self.method + "'") + "\n" + \
|
|
21
|
+
" uri: " + self.empty_if_none("'" + self.uri + "'") + "\n" + \
|
|
22
|
+
" headers: " + self.headers
|
|
23
|
+
body = self.body
|
|
24
|
+
if body is None:
|
|
25
|
+
return string
|
|
26
|
+
else:
|
|
27
|
+
return string + "\n content-type: '" + self.empty_if_none(self.content_type) + "'\n" + \
|
|
28
|
+
" body: '" + body + "'"
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
from
|
|
1
|
+
from .body_obfuscator import BodyObfuscator
|
|
2
|
+
from .header_obfuscator import HeaderObfuscator
|
|
3
|
+
from .log_message import LogMessage
|
|
2
4
|
|
|
3
5
|
|
|
4
6
|
class ResponseLogMessage(LogMessage):
|
|
@@ -6,21 +8,20 @@ class ResponseLogMessage(LogMessage):
|
|
|
6
8
|
A utility class to build request log messages.
|
|
7
9
|
"""
|
|
8
10
|
|
|
9
|
-
def __init__(self, request_id, status_code, duration
|
|
10
|
-
|
|
11
|
+
def __init__(self, request_id: str, status_code: int, duration: int = -1,
|
|
12
|
+
body_obfuscator: BodyObfuscator = BodyObfuscator.default_body_obfuscator(),
|
|
13
|
+
header_obfuscator: HeaderObfuscator = HeaderObfuscator.default_header_obfuscator()):
|
|
14
|
+
super(ResponseLogMessage, self).__init__(request_id, body_obfuscator, header_obfuscator)
|
|
11
15
|
self.__status_code = status_code
|
|
12
|
-
|
|
13
|
-
self.__duration = -1
|
|
14
|
-
else:
|
|
15
|
-
self.__duration = duration
|
|
16
|
+
self.__duration = duration
|
|
16
17
|
|
|
17
|
-
def get_duration(self):
|
|
18
|
+
def get_duration(self) -> int:
|
|
18
19
|
return self.__duration
|
|
19
20
|
|
|
20
|
-
def get_status_code(self):
|
|
21
|
+
def get_status_code(self) -> int:
|
|
21
22
|
return self.__status_code
|
|
22
23
|
|
|
23
|
-
def get_message(self):
|
|
24
|
+
def get_message(self) -> str:
|
|
24
25
|
if self.__duration < 0:
|
|
25
26
|
return "Incoming response (requestId='" + self.request_id + "'):\n" + \
|
|
26
27
|
" status_code: " + str(self.__status_code) + "\n" + \
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
2
|
from threading import Lock
|
|
3
|
+
from typing import Optional
|
|
3
4
|
|
|
4
|
-
from
|
|
5
|
+
from .communicator_logger import CommunicatorLogger
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
class SysOutCommunicatorLogger(CommunicatorLogger):
|
|
@@ -10,27 +11,25 @@ class SysOutCommunicatorLogger(CommunicatorLogger):
|
|
|
10
11
|
It includes a timestamp in yyyy-MM-ddTHH:mm:ss format in the system time zone.
|
|
11
12
|
"""
|
|
12
13
|
|
|
13
|
-
def __init__(self):
|
|
14
|
-
CommunicatorLogger.__init__(self)
|
|
15
|
-
|
|
16
14
|
_global_lock = Lock()
|
|
17
15
|
_old_print = print
|
|
18
16
|
|
|
19
17
|
@staticmethod
|
|
20
|
-
def
|
|
18
|
+
def instance() -> 'SysOutCommunicatorLogger':
|
|
21
19
|
return _SYS_OUT_COMMUNICATOR_LOGGER_INSTANCE
|
|
22
20
|
|
|
23
|
-
def __print(self, *a):
|
|
21
|
+
def __print(self, *a) -> None:
|
|
24
22
|
with self._global_lock:
|
|
25
23
|
self._old_print(*a)
|
|
26
24
|
|
|
27
|
-
def log(self, message, thrown=None):
|
|
25
|
+
def log(self, message: str, thrown: Optional[Exception] = None) -> None:
|
|
28
26
|
# Make sure the same object is used for locking and printing
|
|
29
27
|
self.__print(self.__get_date_prefix() + message)
|
|
30
28
|
if thrown:
|
|
31
29
|
self.__print(str(thrown))
|
|
32
30
|
|
|
33
|
-
|
|
31
|
+
@staticmethod
|
|
32
|
+
def __get_date_prefix() -> str:
|
|
34
33
|
return datetime.now().strftime("%Y-%m-%dT%H:%M:%S ")
|
|
35
34
|
|
|
36
35
|
|