onlinepayments-sdk-python3 4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/LICENSE.txt +15 -0
- {onlinepayments-sdk-python3-4.22.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.22.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.22.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.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/communication_exception.py +2 -3
- {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/connection.py +31 -17
- {onlinepayments-sdk-python3-4.22.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.22.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.22.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.22.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.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/pooled_connection.py +8 -6
- {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/request_header.py +9 -6
- {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/request_param.py +7 -4
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/account_on_file.py +20 -19
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/account_on_file_attribute.py +25 -25
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/account_on_file_display_hints.py +12 -15
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/acquirer_information.py +13 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/acquirer_selection_information.py +15 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/additional_order_input.py +22 -23
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/address.py +28 -29
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/address_personal.py +50 -33
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/airline_data.py +132 -135
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/airline_flight_leg.py +93 -113
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/amount_of_money.py +16 -16
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/bank_account_iban.py +10 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/browser_data.py +33 -34
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/calculate_surcharge_request.py +15 -12
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/calculate_surcharge_response.py +10 -11
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/cancel_payment_request.py +14 -11
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/cancel_payment_response.py +11 -8
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/capture.py +21 -18
- {onlinepayments-sdk-python3-4.22.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.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/captures_response.py +10 -9
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card.py +20 -23
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_essentials.py +19 -42
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/card_fraud_results.py +112 -0
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_info.py +14 -12
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payment_method_specific_input.py +166 -143
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payment_method_specific_input_base.py +110 -87
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payment_method_specific_output.py +64 -87
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payout_method_specific_input.py +23 -23
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_recurrence_details.py +11 -12
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_source.py +19 -20
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_without_cvv.py +17 -15
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/company_information.py +10 -11
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/complete_payment_card_payment_method_specific_input.py +11 -8
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/complete_payment_request.py +16 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/complete_payment_response.py +19 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/contact_details.py +21 -22
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_checkout_request.py +58 -54
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_checkout_response.py +25 -27
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_tokenization_request.py +29 -47
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_tokenization_response.py +26 -26
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_mandate_request.py +51 -49
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_mandate_response.py +14 -15
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_mandate_with_return_url.py +51 -49
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_payment_link_request.py +94 -59
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_payment_request.py +61 -76
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_token_request.py +13 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/created_payment_output.py +13 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/created_token_response.py +32 -27
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/credit_card_specific_input_hosted_tokenization.py +13 -12
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/credit_card_validation_rules_hosted_tokenization.py +13 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion.py +14 -11
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_input.py +13 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_request.py +15 -12
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_response.py +17 -18
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_result.py +18 -18
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_specific_input.py +12 -12
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer.py +55 -54
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_bank_account.py +15 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_device.py +32 -33
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_device_output.py +9 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_output.py +10 -11
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_payment_activity.py +15 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_token.py +20 -17
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/data_object.py +34 -0
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/dcc_card_source.py +20 -17
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/dcc_proposal.py +23 -24
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/decrypted_payment_data.py +36 -33
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/empty_validator.py +5 -4
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/error_response.py +13 -12
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/external_cardholder_authentication_data.py +57 -60
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/fixed_list_validator.py +9 -8
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/g_pay_three_d_secure.py +46 -44
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_hosted_checkout_response.py +18 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_hosted_tokenization_response.py +18 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_iin_details_request.py +13 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_iin_details_response.py +29 -26
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_mandate_response.py +10 -11
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_payment_product_groups_response.py +9 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_payment_products_response.py +9 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_privacy_policy_response.py +9 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/gift_card_purchase.py +13 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/hosted_checkout_specific_input.py +45 -49
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/hosted_checkout_specific_output.py +12 -13
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/iin_detail.py +23 -18
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/label_template_element.py +13 -15
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/length_validator.py +13 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/line_item.py +41 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/line_item_invoice_data.py +9 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/loan_recipient.py +22 -24
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/lodging_data.py +10 -12
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_address.py +26 -37
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mandate_address_response.py +109 -0
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_contact_details.py +9 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_customer.py +28 -33
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mandate_customer_response.py +125 -0
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_merchant_action.py +15 -15
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_personal_information.py +15 -19
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mandate_personal_information_response.py +59 -0
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_personal_name.py +14 -18
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mandate_personal_name_response.py +55 -0
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_redirect_data.py +12 -13
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_response.py +49 -32
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/merchant_action.py +110 -0
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mobile_payment_method_specific_input.py +45 -46
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mobile_payment_method_specific_output.py +27 -50
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mobile_payment_product302_specific_input.py +41 -0
- {onlinepayments-sdk-python3-4.22.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-5.0.0/onlinepayments/sdk/domain/multiple_payment_information.py +57 -0
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/omnichannel_payout_specific_input.py +9 -10
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/order.py +39 -41
- {onlinepayments-sdk-python3-4.22.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.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_account_on_file.py +13 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_context.py +17 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_creation_output.py +22 -22
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_details_response.py +27 -30
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_error_response.py +17 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_event.py +15 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_order_input.py +18 -20
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_order_output.py +18 -20
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_response.py +41 -42
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_specific_input.py +20 -20
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_output.py +58 -57
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product.py +76 -59
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product130_specific_input.py +10 -11
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product130_specific_three_d_secure.py +18 -19
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3012.py +13 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3012_specific_input.py +27 -27
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product302_specific_data.py +9 -8
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/payment_product3203_specific_output.py +62 -0
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3208_specific_input.py +9 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3208_specific_output.py +9 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3209_specific_input.py +9 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3209_specific_output.py +9 -10
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5100_specific_input.py +9 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5402_specific_output.py +9 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5404.py +12 -13
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5407.py +12 -13
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5500_specific_output.py +33 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product771_specific_output.py +9 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product840_customer_account.py +38 -37
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product840_specific_output.py +23 -24
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_display_hints.py +15 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field.py +21 -18
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_data_restrictions.py +15 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_display_element.py +24 -24
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_display_hints.py +53 -53
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_form_element.py +20 -20
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_tooltip.py +15 -15
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_validators.py +39 -40
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filter.py +11 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filter_hosted_tokenization.py +8 -13
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filters_hosted_checkout.py +13 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filters_hosted_tokenization.py +13 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_group.py +20 -21
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_networks_response.py +8 -13
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_references.py +13 -15
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_response.py +24 -25
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_status_output.py +29 -34
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_error_response.py +17 -18
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_output.py +18 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_response.py +21 -18
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_result.py +21 -18
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_status_output.py +21 -17
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_information.py +18 -23
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_information_token.py +11 -8
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_name.py +15 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_name_token.py +13 -10
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/range_validator.py +13 -10
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/rate_details.py +22 -19
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_data.py +12 -13
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_method_specific_input.py +355 -0
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_method_specific_output.py +65 -44
- 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.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_product5406_specific_input.py +10 -11
- {onlinepayments-sdk-python3-4.22.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.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirection_data.py +10 -13
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_card_method_specific_output.py +17 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_e_wallet_method_specific_output.py +17 -14
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_error_response.py +17 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_mobile_method_specific_output.py +16 -13
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_output.py +63 -42
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_payment_product840_customer_account.py +16 -13
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_payment_product840_specific_output.py +11 -8
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_response.py +20 -21
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refunds_response.py +10 -9
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input.py +13 -14
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_output.py +17 -18
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input.py +13 -14
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/session_request.py +9 -8
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/session_response.py +21 -22
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shipping.py +51 -50
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shipping_method.py +18 -19
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shopping_cart.py +31 -33
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shopping_cart_extension.py +8 -6
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/show_form_data.py +18 -41
- 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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/subsequent_payment_request.py +20 -18
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/subsequent_payment_response.py +10 -11
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge.py +27 -24
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge_rate.py +18 -19
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge_specific_input.py +16 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge_specific_output.py +20 -20
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/test_connection.py +10 -7
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/three_d_secure.py +281 -0
- onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/three_d_secure_base.py +219 -0
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/three_d_secure_data.py +20 -20
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/three_d_secure_results.py +57 -56
- {onlinepayments-sdk-python3-4.22.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.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/token_e_wallet.py +16 -16
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/token_response.py +28 -25
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/transaction.py +11 -8
- {onlinepayments-sdk-python3-4.22.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.22.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.22.0/onlinepayments/sdk/defaultimpl → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/json}/default_marshaller.py +16 -11
- {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/json}/marshaller.py +10 -5
- {onlinepayments-sdk-python3-4.22.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.22.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.22.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.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/log/response_log_message.py +11 -10
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/hostedcheckout/hosted_checkout_client.py +42 -37
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/hostedtokenization/hosted_tokenization_client.py +42 -37
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/mandates/i_mandates_client.py +49 -46
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/paymentlinks/i_payment_links_client.py +31 -28
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/payouts/i_payouts_client.py +25 -22
- {onlinepayments-sdk-python3-4.22.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.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/productgroups/get_product_group_params.py +35 -32
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/productgroups/get_product_groups_params.py +35 -32
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/productgroups/i_product_groups_client.py +26 -22
- {onlinepayments-sdk-python3-4.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_payment_product_networks_params.py +21 -19
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_payment_product_params.py +35 -32
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_payment_products_params.py +35 -32
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_product_directory_params.py +12 -11
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/i_products_client.py +52 -48
- {onlinepayments-sdk-python3-4.22.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.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/tokens/i_tokens_client.py +37 -34
- {onlinepayments-sdk-python3-4.22.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.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/webhooks/api_version_mismatch_exception.py +4 -5
- {onlinepayments-sdk-python3-4.22.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.22.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.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments_sdk_python3.egg-info/SOURCES.txt +87 -34
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments_sdk_python3.egg-info/requires.txt +1 -1
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/setup.cfg +7 -7
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/setup.py +26 -10
- onlinepayments-sdk-python3-4.22.0/PKG-INFO +0 -139
- onlinepayments-sdk-python3-4.22.0/README.md +0 -83
- onlinepayments-sdk-python3-4.22.0/README.rst +0 -120
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/api_resource.py +0 -115
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/authenticator.py +0 -18
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/authorization_exception.py +0 -12
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/call_context.py +0 -42
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/client.py +0 -91
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/communicator.py +0 -354
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/communicator_configuration.py +0 -106
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/data_object.py +0 -9
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/declined_payment_exception.py +0 -43
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/declined_payout_exception.py +0 -41
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/declined_refund_exception.py +0 -41
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/declined_transaction_exception.py +0 -13
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/defaultimpl/authorization_type.py +0 -10
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/amount_breakdown.py +0 -63
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/capture_payment_request.py +0 -76
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/capture_status_output.py +0 -38
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/card_fraud_results.py +0 -110
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/create_payout_request.py +0 -108
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/customer_account_authentication.py +0 -63
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/discount.py +0 -44
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/fraud_results.py +0 -43
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/merchant_action.py +0 -88
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.py +0 -83
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/network_token_essentials.py +0 -94
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/order_references.py +0 -108
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/order_type_information.py +0 -63
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/page_customization.py +0 -34
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/payment_product5001_specific_output.py +0 -38
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/payment_product5002_specific_input.py +0 -70
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/payment_product840.py +0 -38
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/protection_eligibility.py +0 -60
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/redirect_payment_method_specific_input.py +0 -267
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/redirect_payment_product5001_specific_input.py +0 -41
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/redirect_payment_product840_specific_input.py +0 -60
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/refund_request.py +0 -60
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.py +0 -126
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/subsequent_payment_product5001_specific_input.py +0 -41
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/surcharge_for_payment_link.py +0 -40
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/three_d_secure.py +0 -358
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/three_d_secure_base.py +0 -296
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/three_ds_whitelist.py +0 -52
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/token_card_data.py +0 -36
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/token_data.py +0 -42
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/web_hooks_event.py +0 -145
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/endpoint_configuration.py +0 -126
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/factory.py +0 -117
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/i_client.py +0 -67
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/idempotence_exception.py +0 -29
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/log/log_message.py +0 -70
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/log/logging_util.py +0 -144
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/log/request_log_message.py +0 -24
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/i_merchant_client.py +0 -109
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/merchant_client.py +0 -117
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/payments/i_payments_client.py +0 -226
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/payments/payments_client.py +0 -391
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/services/i_services_client.py +0 -114
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/services/services_client.py +0 -187
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/sessions/sessions_client.py +0 -55
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/multipart_form_data_request.py +0 -10
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/param_request.py +0 -13
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/payment_platform_exception.py +0 -11
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/reference_exception.py +0 -12
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/response_header.py +0 -25
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/validation_exception.py +0 -11
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/webhooks/secret_key_not_available_exception.py +0 -23
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/webhooks/signature_validation_exception.py +0 -10
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/webhooks/web_hooks.py +0 -22
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/webhooks/web_hooks_helper.py +0 -124
- onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/webhooks/web_hooks_helper_builder.py +0 -33
- onlinepayments-sdk-python3-4.22.0/onlinepayments_sdk_python3.egg-info/PKG-INFO +0 -139
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments_sdk_python3.egg-info/dependency_links.txt +0 -0
- {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments_sdk_python3.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
from configparser import ConfigParser
|
|
2
|
+
from typing import Optional, Union
|
|
3
|
+
|
|
4
|
+
from .client import Client
|
|
5
|
+
from .i_client import IClient
|
|
6
|
+
from .communicator import Communicator
|
|
7
|
+
from .i_communicator import ICommunicator
|
|
8
|
+
from .communicator_configuration import CommunicatorConfiguration
|
|
9
|
+
|
|
10
|
+
from onlinepayments.sdk.authentication.authorization_type import AuthorizationType
|
|
11
|
+
from onlinepayments.sdk.authentication.authenticator import Authenticator
|
|
12
|
+
from onlinepayments.sdk.authentication.v1hmac_authenticator import V1HmacAuthenticator
|
|
13
|
+
from onlinepayments.sdk.communication.connection import Connection
|
|
14
|
+
from onlinepayments.sdk.communication.default_connection import DefaultConnection
|
|
15
|
+
from onlinepayments.sdk.communication.metadata_provider import MetadataProvider
|
|
16
|
+
from onlinepayments.sdk.communication.i_metadata_provider import IMetadataProvider
|
|
17
|
+
from onlinepayments.sdk.json.default_marshaller import DefaultMarshaller
|
|
18
|
+
from onlinepayments.sdk.json.marshaller import Marshaller
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class Factory(object):
|
|
22
|
+
"""
|
|
23
|
+
Online Payments platform factory for several SDK components.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
@staticmethod
|
|
27
|
+
def create_configuration(configuration_file_name: Union[str, bytes], api_key_id: str, secret_api_key: str) -> CommunicatorConfiguration:
|
|
28
|
+
"""
|
|
29
|
+
Creates a CommunicatorConfiguration based on the configuration values in configuration_file_name, api_key_id and secret_api_key.
|
|
30
|
+
"""
|
|
31
|
+
try:
|
|
32
|
+
parser = ConfigParser()
|
|
33
|
+
with open(configuration_file_name) as f:
|
|
34
|
+
parser.read_file(f)
|
|
35
|
+
return CommunicatorConfiguration(properties=parser,
|
|
36
|
+
api_key_id=api_key_id,
|
|
37
|
+
secret_api_key=secret_api_key)
|
|
38
|
+
except IOError as e:
|
|
39
|
+
raise RuntimeError("Unable to read configuration located at {}".format(e.filename), e) from e
|
|
40
|
+
|
|
41
|
+
@staticmethod
|
|
42
|
+
def create_communicator_from_configuration(communicator_configuration: CommunicatorConfiguration,
|
|
43
|
+
metadata_provider: Optional[IMetadataProvider] = None,
|
|
44
|
+
connection: Optional[Connection] = None,
|
|
45
|
+
authenticator: Optional[Authenticator] = None,
|
|
46
|
+
marshaller: Optional[Marshaller] = None) -> ICommunicator:
|
|
47
|
+
"""
|
|
48
|
+
Creates a Communicator based on the configuration stored in the CommunicatorConfiguration argument
|
|
49
|
+
"""
|
|
50
|
+
if metadata_provider is None:
|
|
51
|
+
metadata_provider = MetadataProvider(integrator=communicator_configuration.integrator,
|
|
52
|
+
shopping_cart_extension=communicator_configuration.shopping_cart_extension)
|
|
53
|
+
if connection is None:
|
|
54
|
+
connection = DefaultConnection(communicator_configuration.connect_timeout,
|
|
55
|
+
communicator_configuration.socket_timeout,
|
|
56
|
+
communicator_configuration.max_connections,
|
|
57
|
+
communicator_configuration.proxy_configuration)
|
|
58
|
+
if authenticator is None:
|
|
59
|
+
authenticator = Factory.__get_authenticator(communicator_configuration)
|
|
60
|
+
if marshaller is None:
|
|
61
|
+
marshaller = DefaultMarshaller.instance()
|
|
62
|
+
return Communicator(api_endpoint=communicator_configuration.api_endpoint,
|
|
63
|
+
metadata_provider=metadata_provider,
|
|
64
|
+
connection=connection,
|
|
65
|
+
authenticator=authenticator,
|
|
66
|
+
marshaller=marshaller)
|
|
67
|
+
|
|
68
|
+
@staticmethod
|
|
69
|
+
def __get_authenticator(communicator_configuration: CommunicatorConfiguration) -> Authenticator:
|
|
70
|
+
if communicator_configuration.authorization_type == AuthorizationType.V1HMAC:
|
|
71
|
+
return V1HmacAuthenticator(communicator_configuration)
|
|
72
|
+
raise RuntimeError("Unknown authorizationType " + communicator_configuration.authorization_type)
|
|
73
|
+
|
|
74
|
+
@staticmethod
|
|
75
|
+
def create_communicator_from_file(configuration_file_name: Union[str, bytes], api_key_id: str, secret_api_key: str,
|
|
76
|
+
metadata_provider: Optional[IMetadataProvider] = None,
|
|
77
|
+
connection: Optional[Connection] = None,
|
|
78
|
+
authenticator: Optional[Authenticator] = None,
|
|
79
|
+
marshaller: Optional[Marshaller] = None) -> ICommunicator:
|
|
80
|
+
"""
|
|
81
|
+
Creates a Communicator based on the configuration values in configuration_file_name, api_id_key and secret_api_key.
|
|
82
|
+
"""
|
|
83
|
+
configuration = Factory.create_configuration(configuration_file_name, api_key_id, secret_api_key)
|
|
84
|
+
return Factory.create_communicator_from_configuration(configuration,
|
|
85
|
+
metadata_provider=metadata_provider,
|
|
86
|
+
connection=connection,
|
|
87
|
+
authenticator=authenticator,
|
|
88
|
+
marshaller=marshaller)
|
|
89
|
+
|
|
90
|
+
@staticmethod
|
|
91
|
+
def create_client_from_configuration(communicator_configuration: CommunicatorConfiguration,
|
|
92
|
+
metadata_provider: Optional[IMetadataProvider] = None,
|
|
93
|
+
connection: Optional[Connection] = None,
|
|
94
|
+
authenticator: Optional[Authenticator] = None,
|
|
95
|
+
marshaller: Optional[Marshaller] = None) -> IClient:
|
|
96
|
+
"""
|
|
97
|
+
Create a Client based on the configuration stored in the CommunicatorConfiguration argument
|
|
98
|
+
"""
|
|
99
|
+
communicator = Factory.create_communicator_from_configuration(communicator_configuration,
|
|
100
|
+
metadata_provider=metadata_provider,
|
|
101
|
+
connection=connection,
|
|
102
|
+
authenticator=authenticator,
|
|
103
|
+
marshaller=marshaller)
|
|
104
|
+
return Client(communicator)
|
|
105
|
+
|
|
106
|
+
@staticmethod
|
|
107
|
+
def create_client_from_communicator(communicator: ICommunicator) -> IClient:
|
|
108
|
+
"""
|
|
109
|
+
Create a Client based on the settings stored in the Communicator argument
|
|
110
|
+
"""
|
|
111
|
+
return Client(communicator)
|
|
112
|
+
|
|
113
|
+
@staticmethod
|
|
114
|
+
def create_client_from_file(configuration_file_name: Union[str, bytes], api_key_id: str, secret_api_key: str,
|
|
115
|
+
metadata_provider: Optional[IMetadataProvider] = None,
|
|
116
|
+
connection: Optional[Connection] = None,
|
|
117
|
+
authenticator: Optional[Authenticator] = None,
|
|
118
|
+
marshaller: Optional[Marshaller] = None) -> IClient:
|
|
119
|
+
"""
|
|
120
|
+
Creates a Client based on the configuration values in configuration_file_name, api_key_id and secret_api_key.
|
|
121
|
+
"""
|
|
122
|
+
communicator = Factory.create_communicator_from_file(configuration_file_name, api_key_id, secret_api_key,
|
|
123
|
+
metadata_provider=metadata_provider,
|
|
124
|
+
connection=connection,
|
|
125
|
+
authenticator=authenticator,
|
|
126
|
+
marshaller=marshaller)
|
|
127
|
+
return Client(communicator)
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from abc import abstractmethod
|
|
6
|
+
from datetime import timedelta
|
|
7
|
+
from typing import Optional
|
|
8
|
+
|
|
9
|
+
from onlinepayments.sdk.log.body_obfuscator import BodyObfuscator
|
|
10
|
+
from onlinepayments.sdk.log.communicator_logger import CommunicatorLogger
|
|
11
|
+
from onlinepayments.sdk.log.header_obfuscator import HeaderObfuscator
|
|
12
|
+
from onlinepayments.sdk.log.logging_capable import LoggingCapable
|
|
13
|
+
from onlinepayments.sdk.log.obfuscation_capable import ObfuscationCapable
|
|
14
|
+
from onlinepayments.sdk.merchant.i_merchant_client import IMerchantClient
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class IClient(LoggingCapable, ObfuscationCapable):
|
|
18
|
+
"""
|
|
19
|
+
Payment platform client interface.
|
|
20
|
+
|
|
21
|
+
This client and all its child clients are bound to one specific value for the X-GCS-ClientMetaInfo header.
|
|
22
|
+
To get a new client with a different header value, use with_client_meta_info.
|
|
23
|
+
|
|
24
|
+
Thread-safe.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
@abstractmethod
|
|
28
|
+
def with_client_meta_info(self, client_meta_info: Optional[str]) -> 'Client':
|
|
29
|
+
"""
|
|
30
|
+
:param client_meta_info: JSON string containing the metadata for the client
|
|
31
|
+
:return: a new Client which uses the passed metadata for the X-GCS-ClientMetaInfo header.
|
|
32
|
+
:raise MarshallerSyntaxException: if the given clientMetaInfo is not a valid JSON string
|
|
33
|
+
"""
|
|
34
|
+
|
|
35
|
+
@abstractmethod
|
|
36
|
+
def close_idle_connections(self, idle_time: timedelta) -> None:
|
|
37
|
+
"""
|
|
38
|
+
Utility method that delegates the call to this client's communicator.
|
|
39
|
+
|
|
40
|
+
:param idle_time: a datetime.timedelta object indicating the idle time
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
@abstractmethod
|
|
44
|
+
def close_expired_connections(self) -> None:
|
|
45
|
+
"""
|
|
46
|
+
Utility method that delegates the call to this client's communicator.
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
@abstractmethod
|
|
50
|
+
def set_body_obfuscator(self, body_obfuscator: BodyObfuscator) -> None:
|
|
51
|
+
""""""
|
|
52
|
+
|
|
53
|
+
@abstractmethod
|
|
54
|
+
def set_header_obfuscator(self, header_obfuscator: HeaderObfuscator) -> None:
|
|
55
|
+
""""""
|
|
56
|
+
|
|
57
|
+
@abstractmethod
|
|
58
|
+
def enable_logging(self, communicator_logger: CommunicatorLogger) -> None:
|
|
59
|
+
""""""
|
|
60
|
+
|
|
61
|
+
@abstractmethod
|
|
62
|
+
def disable_logging(self) -> None:
|
|
63
|
+
""""""
|
|
64
|
+
|
|
65
|
+
@abstractmethod
|
|
66
|
+
def close(self) -> None:
|
|
67
|
+
"""
|
|
68
|
+
Releases any system resources associated with this object.
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
@abstractmethod
|
|
72
|
+
def merchant(self, merchant_id: str) -> IMerchantClient:
|
|
73
|
+
"""
|
|
74
|
+
Resource /v2/{merchantId}
|
|
75
|
+
|
|
76
|
+
:param merchant_id: str
|
|
77
|
+
:return: :class:`onlinepayments.sdk.merchant.i_merchant_client.IMerchantClient`
|
|
78
|
+
"""
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
from abc import abstractmethod
|
|
2
|
+
from typing import List, Optional, Type, Tuple, Mapping, Iterable, Any
|
|
3
|
+
|
|
4
|
+
from onlinepayments.sdk.call_context import CallContext
|
|
5
|
+
from onlinepayments.sdk.communication.param_request import ParamRequest
|
|
6
|
+
from onlinepayments.sdk.communication.request_header import RequestHeader
|
|
7
|
+
from onlinepayments.sdk.json.marshaller import Marshaller, T
|
|
8
|
+
from onlinepayments.sdk.log.logging_capable import LoggingCapable
|
|
9
|
+
from onlinepayments.sdk.log.obfuscation_capable import ObfuscationCapable
|
|
10
|
+
|
|
11
|
+
BinaryResponse = Tuple[Mapping[str, str], Iterable[bytes]]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ICommunicator(LoggingCapable, ObfuscationCapable):
|
|
15
|
+
"""
|
|
16
|
+
Used to communicate with the Online Payments platform web services.
|
|
17
|
+
|
|
18
|
+
It contains all the logic to transform a request object to an HTTP request and an HTTP response to a response object.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
@abstractmethod
|
|
22
|
+
def close(self) -> None:
|
|
23
|
+
"""
|
|
24
|
+
Releases any system resources associated with this object.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
@abstractmethod
|
|
28
|
+
def get(self, relative_path: str, request_headers: Optional[List[RequestHeader]],
|
|
29
|
+
request_parameters: Optional[ParamRequest],
|
|
30
|
+
response_type: Type[T],
|
|
31
|
+
context: Optional[CallContext]) -> T:
|
|
32
|
+
"""
|
|
33
|
+
Corresponds to the HTTP GET method.
|
|
34
|
+
|
|
35
|
+
:param relative_path: The path to call, relative to the base URI.
|
|
36
|
+
:param request_headers: An optional list of request headers.
|
|
37
|
+
:param request_parameters: An optional set of request parameters.
|
|
38
|
+
:param response_type: The type of response to return.
|
|
39
|
+
:param context: The optional call context to use.
|
|
40
|
+
:raise CommunicationException: when an exception occurred communicating with the Online Payments platform
|
|
41
|
+
:raise ResponseException: when an error response was received from the Online Payments platform
|
|
42
|
+
"""
|
|
43
|
+
|
|
44
|
+
@abstractmethod
|
|
45
|
+
def get_with_binary_response(self, relative_path: str, request_headers: Optional[List[RequestHeader]],
|
|
46
|
+
request_parameters: Optional[ParamRequest],
|
|
47
|
+
context: Optional[CallContext]) -> BinaryResponse:
|
|
48
|
+
"""
|
|
49
|
+
Corresponds to the HTTP GET method.
|
|
50
|
+
|
|
51
|
+
:param relative_path: The path to call, relative to the base URI.
|
|
52
|
+
:param request_headers: An optional list of request headers.
|
|
53
|
+
:param request_parameters: An optional set of request parameters.
|
|
54
|
+
:param context: The optional call context to use.
|
|
55
|
+
:raise CommunicationException: when an exception occurred communicating with the Online Payments platform
|
|
56
|
+
:raise ResponseException: when an error response was received from the Online Payments platform
|
|
57
|
+
"""
|
|
58
|
+
|
|
59
|
+
@abstractmethod
|
|
60
|
+
def delete(self, relative_path: str, request_headers: Optional[List[RequestHeader]],
|
|
61
|
+
request_parameters: Optional[ParamRequest],
|
|
62
|
+
response_type: Type[T],
|
|
63
|
+
context: Optional[CallContext]) -> T:
|
|
64
|
+
"""
|
|
65
|
+
Corresponds to the HTTP DELETE method.
|
|
66
|
+
|
|
67
|
+
:param relative_path: The path to call, relative to the base URI.
|
|
68
|
+
:param request_headers: An optional list of request headers.
|
|
69
|
+
:param request_parameters: An optional set of request parameters.
|
|
70
|
+
:param response_type: The type of response to return.
|
|
71
|
+
:param context: The optional call context to use.
|
|
72
|
+
:raise CommunicationException: when an exception occurred communicating with the Online Payments platform
|
|
73
|
+
:raise ResponseException: when an error response was received from the Online Payments platform
|
|
74
|
+
"""
|
|
75
|
+
|
|
76
|
+
@abstractmethod
|
|
77
|
+
def delete_with_binary_response(self, relative_path: str, request_headers: Optional[List[RequestHeader]],
|
|
78
|
+
request_parameters: Optional[ParamRequest],
|
|
79
|
+
context: Optional[CallContext]) -> BinaryResponse:
|
|
80
|
+
"""
|
|
81
|
+
Corresponds to the HTTP DELETE method.
|
|
82
|
+
|
|
83
|
+
:param relative_path: The path to call, relative to the base URI.
|
|
84
|
+
:param request_headers: An optional list of request headers.
|
|
85
|
+
:param request_parameters: An optional set of request parameters.
|
|
86
|
+
:param context: The optional call context to use.
|
|
87
|
+
:raise CommunicationException: when an exception occurred communicating with the Online Payments platform
|
|
88
|
+
:raise ResponseException: when an error response was received from the Online Payments platform
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
@abstractmethod
|
|
92
|
+
def post_with_binary_response(self, relative_path: str, request_headers: Optional[List[RequestHeader]],
|
|
93
|
+
request_parameters: Optional[ParamRequest], request_body: Any,
|
|
94
|
+
context: Optional[CallContext]) -> BinaryResponse:
|
|
95
|
+
"""
|
|
96
|
+
Corresponds to the HTTP POST method.
|
|
97
|
+
|
|
98
|
+
:param relative_path: The path to call, relative to the base URI.
|
|
99
|
+
:param request_headers: An optional list of request headers.
|
|
100
|
+
:param request_parameters: An optional set of request parameters.
|
|
101
|
+
:param request_body: The optional request body to send.
|
|
102
|
+
:param context: The optional call context to use.
|
|
103
|
+
:raise CommunicationException: when an exception occurred communicating with the Online Payments platform
|
|
104
|
+
:raise ResponseException: when an error response was received from the Online Payments platform
|
|
105
|
+
"""
|
|
106
|
+
|
|
107
|
+
@abstractmethod
|
|
108
|
+
def post(self, relative_path: str, request_headers: Optional[List[RequestHeader]],
|
|
109
|
+
request_parameters: Optional[ParamRequest], request_body: Any,
|
|
110
|
+
response_type: Type[T],
|
|
111
|
+
context: Optional[CallContext]) -> T:
|
|
112
|
+
"""
|
|
113
|
+
Corresponds to the HTTP POST method.
|
|
114
|
+
|
|
115
|
+
:param relative_path: The path to call, relative to the base URI.
|
|
116
|
+
:param request_headers: An optional list of request headers.
|
|
117
|
+
:param request_parameters: An optional set of request parameters.
|
|
118
|
+
:param request_body: The optional request body to send.
|
|
119
|
+
:param response_type: The type of response to return.
|
|
120
|
+
:param context: The optional call context to use.
|
|
121
|
+
:raise CommunicationException: when an exception occurred communicating with the Online Payments platform
|
|
122
|
+
:raise ResponseException: when an error response was received from the Online Payments platform
|
|
123
|
+
"""
|
|
124
|
+
|
|
125
|
+
@abstractmethod
|
|
126
|
+
def put_with_binary_response(self, relative_path: str, request_headers: Optional[List[RequestHeader]],
|
|
127
|
+
request_parameters: Optional[ParamRequest], request_body: Any,
|
|
128
|
+
context: Optional[CallContext]) -> BinaryResponse:
|
|
129
|
+
"""
|
|
130
|
+
Corresponds to the HTTP PUT method.
|
|
131
|
+
|
|
132
|
+
:param relative_path: The path to call, relative to the base URI.
|
|
133
|
+
:param request_headers: An optional list of request headers.
|
|
134
|
+
:param request_parameters: An optional set of request parameters.
|
|
135
|
+
:param request_body: The optional request body to send.
|
|
136
|
+
:param context: The optional call context to use.
|
|
137
|
+
:raise CommunicationException: when an exception occurred communicating with the Online Payments platform
|
|
138
|
+
:raise ResponseException: when an error response was received from the Online Payments platform
|
|
139
|
+
"""
|
|
140
|
+
|
|
141
|
+
@abstractmethod
|
|
142
|
+
def put(self, relative_path: str, request_headers: Optional[List[RequestHeader]],
|
|
143
|
+
request_parameters: Optional[ParamRequest], request_body: Any,
|
|
144
|
+
response_type: Type[T],
|
|
145
|
+
context: Optional[CallContext]) -> T:
|
|
146
|
+
"""
|
|
147
|
+
Corresponds to the HTTP PUT method.
|
|
148
|
+
|
|
149
|
+
:param relative_path: The path to call, relative to the base URI.
|
|
150
|
+
:param request_headers: An optional list of request headers.
|
|
151
|
+
:param request_parameters: An optional set of request parameters.
|
|
152
|
+
:param request_body: The optional request body to send.
|
|
153
|
+
:param response_type: The type of response to return.
|
|
154
|
+
:param context: The optional call context to use.
|
|
155
|
+
:raise CommunicationException: when an exception occurred communicating with the Online Payments platform
|
|
156
|
+
:raise ResponseException: when an error response was received from the Online Payments platform
|
|
157
|
+
"""
|
|
158
|
+
|
|
159
|
+
@abstractmethod
|
|
160
|
+
def close_idle_connections(self, idle_time):
|
|
161
|
+
"""
|
|
162
|
+
Utility method that delegates the call to this communicator's connection
|
|
163
|
+
if that's an instance of PooledConnection. If not this method does nothing.
|
|
164
|
+
|
|
165
|
+
:param idle_time: a datetime.timedelta object indicating the idle time
|
|
166
|
+
"""
|
|
167
|
+
|
|
168
|
+
@abstractmethod
|
|
169
|
+
def close_expired_connections(self):
|
|
170
|
+
"""
|
|
171
|
+
Utility method that delegates the call to this communicator's connection
|
|
172
|
+
if that's an instance of PooledConnection. If not this method does nothing.
|
|
173
|
+
"""
|
|
174
|
+
|
|
175
|
+
@property
|
|
176
|
+
@abstractmethod
|
|
177
|
+
def marshaller(self) -> Marshaller:
|
|
178
|
+
"""
|
|
179
|
+
:return: The Marshaller object associated with this communicator. Never None.
|
|
180
|
+
"""
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from typing import List, Optional
|
|
6
|
+
|
|
7
|
+
from .api_exception import ApiException
|
|
8
|
+
|
|
9
|
+
from onlinepayments.sdk.domain.api_error import APIError
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class IdempotenceException(ApiException):
|
|
13
|
+
"""
|
|
14
|
+
Represents an error response from the payment platform when an idempotent request failed because the first request has not finished yet.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
def __init__(self, idempotence_key: str, idempotence_request_timestamp: int,
|
|
18
|
+
status_code: int, response_body: str, error_id: Optional[str], errors: Optional[List[APIError]],
|
|
19
|
+
message: str = "the payment platform returned a duplicate request error response"):
|
|
20
|
+
super(IdempotenceException, self).__init__(status_code, response_body, error_id, errors, message)
|
|
21
|
+
self.__idempotence_key = idempotence_key
|
|
22
|
+
self.__idempotence_request_timestamp = idempotence_request_timestamp
|
|
23
|
+
|
|
24
|
+
@property
|
|
25
|
+
def idempotence_key(self) -> str:
|
|
26
|
+
"""
|
|
27
|
+
:return: The key that was used for the idempotent request.
|
|
28
|
+
"""
|
|
29
|
+
return self.__idempotence_key
|
|
30
|
+
|
|
31
|
+
@property
|
|
32
|
+
def idempotence_request_timestamp(self) -> int:
|
|
33
|
+
"""
|
|
34
|
+
:return: The request timestamp of the first idempotent request with the same key.
|
|
35
|
+
"""
|
|
36
|
+
return self.__idempotence_request_timestamp
|
|
File without changes
|
|
@@ -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()
|