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.
Files changed (475) hide show
  1. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/LICENSE.txt +15 -0
  2. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/MANIFEST.in +1 -1
  3. onlinepayments_sdk_python3-5.0.0/PKG-INFO +154 -0
  4. onlinepayments_sdk_python3-5.0.0/README.rst +111 -0
  5. onlinepayments_sdk_python3-5.0.0/onlinepayments/__init__.py +0 -0
  6. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/__init__.py +4 -0
  7. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/api_exception.py +19 -13
  8. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/api_resource.py +57 -0
  9. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/authentication/__init__.py +0 -0
  10. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/authentication/authenticator.py +24 -0
  11. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/authentication/authorization_type.py +10 -0
  12. 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
  13. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/authorization_exception.py +19 -0
  14. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/call_context.py +62 -0
  15. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/client.py +107 -0
  16. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication/__init__.py +0 -0
  17. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/communication_exception.py +2 -3
  18. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/connection.py +31 -17
  19. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/defaultimpl → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/default_connection.py +108 -86
  20. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication/i_metadata_provider.py +19 -0
  21. 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
  22. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/multipart_form_data_object.py +11 -7
  23. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication/multipart_form_data_request.py +16 -0
  24. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/not_found_exception.py +3 -3
  25. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication/param_request.py +17 -0
  26. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/pooled_connection.py +8 -6
  27. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/request_header.py +9 -6
  28. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/request_param.py +7 -4
  29. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication}/response_exception.py +9 -11
  30. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communication/response_header.py +50 -0
  31. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communicator.py +455 -0
  32. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/communicator_configuration.py +264 -0
  33. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/declined_payment_exception.py +46 -0
  34. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/declined_payout_exception.py +46 -0
  35. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/declined_refund_exception.py +46 -0
  36. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/declined_transaction_exception.py +22 -0
  37. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/__init__.py +4 -0
  38. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/account_on_file.py +20 -19
  39. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/account_on_file_attribute.py +25 -25
  40. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/account_on_file_display_hints.py +12 -15
  41. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/acquirer_information.py +13 -14
  42. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/acquirer_selection_information.py +15 -16
  43. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/additional_order_input.py +22 -23
  44. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/address.py +28 -29
  45. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/address_personal.py +50 -33
  46. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/airline_data.py +132 -135
  47. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/airline_flight_leg.py +93 -113
  48. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/airline_passenger.py +32 -31
  49. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/amount_breakdown.py +63 -0
  50. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/amount_of_money.py +16 -16
  51. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/api_error.py +45 -44
  52. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/apple_pay_line_item.py +145 -0
  53. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/apple_pay_recurring_payment_request.py +116 -0
  54. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/bank_account_iban.py +10 -14
  55. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/browser_data.py +33 -34
  56. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/calculate_surcharge_request.py +15 -12
  57. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/calculate_surcharge_response.py +10 -11
  58. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/cancel_payment_request.py +14 -11
  59. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/cancel_payment_response.py +11 -8
  60. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/capture.py +21 -18
  61. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/capture_output.py +72 -49
  62. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/capture_payment_request.py +99 -0
  63. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/capture_response.py +21 -18
  64. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/capture_status_output.py +37 -0
  65. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/captures_response.py +10 -9
  66. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card.py +20 -23
  67. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_essentials.py +19 -42
  68. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/card_fraud_results.py +112 -0
  69. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_info.py +14 -12
  70. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payment_method_specific_input.py +166 -143
  71. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payment_method_specific_input_base.py +110 -87
  72. {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
  73. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payment_method_specific_output.py +64 -87
  74. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_payout_method_specific_input.py +23 -23
  75. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_recurrence_details.py +11 -12
  76. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_source.py +19 -20
  77. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/card_without_cvv.py +17 -15
  78. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/company_information.py +10 -11
  79. {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
  80. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/complete_payment_request.py +16 -14
  81. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/complete_payment_response.py +19 -16
  82. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/contact_details.py +21 -22
  83. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_checkout_request.py +58 -54
  84. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_checkout_response.py +25 -27
  85. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_tokenization_request.py +29 -47
  86. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_hosted_tokenization_response.py +26 -26
  87. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_mandate_request.py +51 -49
  88. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_mandate_response.py +14 -15
  89. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_mandate_with_return_url.py +51 -49
  90. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_payment_link_request.py +94 -59
  91. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_payment_request.py +61 -76
  92. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_payment_response.py +18 -19
  93. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/create_payout_request.py +176 -0
  94. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/create_token_request.py +13 -14
  95. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/created_payment_output.py +13 -14
  96. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/created_token_response.py +32 -27
  97. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/credit_card_specific_input_hosted_tokenization.py +13 -12
  98. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/credit_card_validation_rules_hosted_tokenization.py +13 -10
  99. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion.py +14 -11
  100. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_input.py +13 -10
  101. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_request.py +15 -12
  102. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_response.py +17 -18
  103. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_result.py +18 -18
  104. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/currency_conversion_specific_input.py +12 -12
  105. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer.py +55 -54
  106. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_account.py +44 -45
  107. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/customer_account_authentication.py +81 -0
  108. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_bank_account.py +15 -16
  109. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_device.py +32 -33
  110. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_device_output.py +9 -10
  111. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_output.py +10 -11
  112. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_payment_activity.py +15 -16
  113. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/customer_token.py +20 -17
  114. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/data_object.py +34 -0
  115. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/dcc_card_source.py +20 -17
  116. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/dcc_proposal.py +23 -24
  117. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/decrypted_payment_data.py +36 -33
  118. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/directory_entry.py +17 -17
  119. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/discount.py +41 -0
  120. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/empty_validator.py +5 -4
  121. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/error_response.py +13 -12
  122. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/external_cardholder_authentication_data.py +57 -60
  123. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/external_token_linked.py +18 -13
  124. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/feedbacks.py +37 -0
  125. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/fixed_list_validator.py +9 -8
  126. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/fraud_fields.py +17 -18
  127. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/fraud_results.py +43 -0
  128. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/g_pay_three_d_secure.py +46 -44
  129. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_hosted_checkout_response.py +18 -14
  130. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_hosted_tokenization_response.py +18 -14
  131. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_iin_details_request.py +13 -14
  132. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_iin_details_response.py +29 -26
  133. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_mandate_response.py +10 -11
  134. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_payment_product_groups_response.py +9 -14
  135. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_payment_products_response.py +9 -14
  136. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/get_privacy_policy_response.py +9 -10
  137. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/gift_card_purchase.py +13 -14
  138. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/hosted_checkout_specific_input.py +45 -49
  139. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/hosted_checkout_specific_output.py +12 -13
  140. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/iin_detail.py +23 -18
  141. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/label_template_element.py +13 -15
  142. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/length_validator.py +13 -10
  143. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/line_item.py +41 -16
  144. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/line_item_invoice_data.py +9 -10
  145. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/loan_recipient.py +22 -24
  146. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/lodging_data.py +10 -12
  147. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_address.py +26 -37
  148. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mandate_address_response.py +109 -0
  149. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_contact_details.py +9 -10
  150. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_customer.py +28 -33
  151. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mandate_customer_response.py +125 -0
  152. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_merchant_action.py +15 -15
  153. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_personal_information.py +15 -19
  154. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mandate_personal_information_response.py +59 -0
  155. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_personal_name.py +14 -18
  156. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mandate_personal_name_response.py +55 -0
  157. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_redirect_data.py +12 -13
  158. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mandate_response.py +49 -32
  159. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/merchant_action.py +110 -0
  160. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mobile_payment_data.py +12 -13
  161. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.py +105 -0
  162. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mobile_payment_method_specific_input.py +45 -46
  163. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mobile_payment_method_specific_output.py +27 -50
  164. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mobile_payment_product302_specific_input.py +41 -0
  165. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/mobile_payment_product320_specific_input.py +10 -11
  166. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/mobile_three_d_secure_challenge_parameters.py +91 -0
  167. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/multiple_payment_information.py +57 -0
  168. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/omnichannel_payout_specific_input.py +9 -10
  169. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/operation_output.py +50 -29
  170. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/operation_payment_references.py +37 -0
  171. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/order.py +39 -41
  172. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/order_line_details.py +50 -34
  173. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/order_references.py +102 -0
  174. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/order_status_output.py +27 -25
  175. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/order_type_information.py +64 -0
  176. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/other_details.py +55 -0
  177. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_account_on_file.py +13 -14
  178. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_context.py +17 -14
  179. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_creation_output.py +22 -22
  180. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_details_response.py +27 -30
  181. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_error_response.py +17 -16
  182. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_event.py +15 -16
  183. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_order_input.py +18 -20
  184. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_order_output.py +18 -20
  185. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_response.py +41 -42
  186. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_link_specific_input.py +20 -20
  187. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_output.py +58 -57
  188. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product.py +76 -59
  189. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product130_specific_input.py +10 -11
  190. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product130_specific_three_d_secure.py +18 -19
  191. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3012.py +13 -14
  192. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3012_specific_input.py +27 -27
  193. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product302_specific_data.py +9 -8
  194. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/payment_product3203_specific_output.py +62 -0
  195. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3208_specific_input.py +9 -10
  196. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3208_specific_output.py +9 -10
  197. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3209_specific_input.py +9 -10
  198. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product3209_specific_output.py +9 -10
  199. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product320_specific_data.py +13 -12
  200. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/payment_product5001_specific_output.py +112 -0
  201. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5100_specific_input.py +9 -10
  202. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5402_specific_output.py +9 -10
  203. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5404.py +12 -13
  204. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5407.py +12 -13
  205. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product5500_specific_output.py +33 -16
  206. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product771_specific_output.py +9 -10
  207. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product840_customer_account.py +38 -37
  208. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product840_specific_output.py +23 -24
  209. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_display_hints.py +15 -16
  210. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field.py +21 -18
  211. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_data_restrictions.py +15 -16
  212. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_display_element.py +24 -24
  213. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_display_hints.py +53 -53
  214. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_form_element.py +20 -20
  215. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_tooltip.py +15 -15
  216. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_field_validators.py +39 -40
  217. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filter.py +11 -16
  218. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filter_hosted_tokenization.py +8 -13
  219. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filters_hosted_checkout.py +13 -14
  220. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_filters_hosted_tokenization.py +13 -14
  221. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_group.py +20 -21
  222. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_product_networks_response.py +8 -13
  223. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_references.py +13 -15
  224. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_response.py +24 -25
  225. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payment_status_output.py +29 -34
  226. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_error_response.py +17 -18
  227. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_output.py +18 -14
  228. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_response.py +21 -18
  229. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_result.py +21 -18
  230. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/payout_status_output.py +21 -17
  231. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_information.py +18 -23
  232. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_information_token.py +11 -8
  233. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_name.py +15 -16
  234. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/personal_name_token.py +13 -10
  235. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/product_directory.py +10 -9
  236. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/protection_eligibility.py +59 -0
  237. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/range_validator.py +13 -10
  238. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/rate_details.py +22 -19
  239. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_data.py +12 -13
  240. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_method_specific_input.py +355 -0
  241. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_method_specific_output.py +65 -44
  242. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product3203_specific_input.py +40 -0
  243. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product3302_specific_input.py +73 -0
  244. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_product3306_specific_input.py +10 -14
  245. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product5001_specific_input.py +41 -0
  246. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product5300_specific_input.py +146 -0
  247. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_product5406_specific_input.py +10 -11
  248. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_product5408_specific_input.py +15 -16
  249. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product5410_specific_input.py +38 -0
  250. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirect_payment_product809_specific_input.py +9 -10
  251. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/redirect_payment_product840_specific_input.py +100 -0
  252. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/redirection_data.py +10 -13
  253. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_card_method_specific_output.py +17 -14
  254. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_e_wallet_method_specific_output.py +17 -14
  255. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_error_response.py +17 -16
  256. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_mobile_method_specific_output.py +16 -13
  257. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_output.py +63 -42
  258. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_payment_product840_customer_account.py +16 -13
  259. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_payment_product840_specific_output.py +11 -8
  260. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_redirect_method_specific_output.py +13 -10
  261. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/refund_request.py +103 -0
  262. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refund_response.py +20 -21
  263. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/refunds_response.py +10 -9
  264. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/regular_expression_validator.py +10 -7
  265. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/send_test_request.py +37 -0
  266. {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
  267. {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
  268. {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
  269. {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
  270. {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
  271. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/session_request.py +9 -8
  272. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/session_response.py +21 -22
  273. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shipping.py +51 -50
  274. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shipping_method.py +18 -19
  275. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shopping_cart.py +31 -33
  276. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/shopping_cart_extension.py +8 -6
  277. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/show_form_data.py +18 -41
  278. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.py +153 -0
  279. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/subsequent_payment_product5001_specific_input.py +41 -0
  280. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/subsequent_payment_request.py +20 -18
  281. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/subsequent_payment_response.py +10 -11
  282. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge.py +27 -24
  283. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge_calculation_card.py +13 -15
  284. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/surcharge_for_payment_link.py +40 -0
  285. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge_rate.py +18 -19
  286. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge_specific_input.py +16 -16
  287. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/surcharge_specific_output.py +20 -20
  288. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/test_connection.py +10 -7
  289. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/three_d_secure.py +281 -0
  290. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/three_d_secure_base.py +219 -0
  291. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/three_d_secure_data.py +20 -20
  292. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/three_d_secure_results.py +57 -56
  293. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/token_card.py +13 -14
  294. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/token_card_data.py +61 -0
  295. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/token_card_specific_input.py +10 -11
  296. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/token_data.py +63 -0
  297. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/token_e_wallet.py +16 -16
  298. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/token_response.py +28 -25
  299. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/transaction.py +11 -8
  300. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain}/uploadable_file.py +9 -6
  301. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/validate_credentials_request.py +55 -0
  302. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/validate_credentials_response.py +37 -0
  303. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/domain/value_mapping_element.py +12 -15
  304. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/domain/web_hooks_event.py +174 -0
  305. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/exception_factory.py +75 -0
  306. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/factory.py +127 -0
  307. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/i_client.py +78 -0
  308. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/i_communicator.py +180 -0
  309. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/idempotence_exception.py +36 -0
  310. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/json/__init__.py +0 -0
  311. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/defaultimpl → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/json}/default_marshaller.py +16 -11
  312. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/json}/marshaller.py +10 -5
  313. {onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/json}/marshaller_syntax_exception.py +4 -1
  314. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/__init__.py +0 -0
  315. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/body_obfuscator.py +113 -0
  316. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/log/communicator_logger.py +8 -3
  317. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/header_obfuscator.py +49 -0
  318. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/log_message.py +94 -0
  319. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/log/logging_capable.py +7 -3
  320. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/obfuscation_capable.py +24 -0
  321. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/obfuscation_rule.py +50 -0
  322. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/log/python_communicator_logger.py +6 -3
  323. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/log/request_log_message.py +28 -0
  324. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/log/response_log_message.py +11 -10
  325. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/log/sys_out_communicator_logger.py +7 -8
  326. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/__init__.py +4 -0
  327. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/captures/__init__.py +4 -0
  328. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/captures/captures_client.py +61 -0
  329. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/captures/i_captures_client.py +34 -0
  330. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/complete/__init__.py +4 -0
  331. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/complete/complete_client.py +65 -0
  332. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/complete/i_complete_client.py +37 -0
  333. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/hostedcheckout/__init__.py +4 -0
  334. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/hostedcheckout/hosted_checkout_client.py +42 -37
  335. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/hostedcheckout/i_hosted_checkout_client.py +22 -19
  336. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/hostedtokenization/__init__.py +4 -0
  337. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/hostedtokenization/hosted_tokenization_client.py +42 -37
  338. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/hostedtokenization/i_hosted_tokenization_client.py +22 -19
  339. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/i_merchant_client.py +157 -0
  340. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/mandates/__init__.py +4 -0
  341. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/mandates/i_mandates_client.py +49 -46
  342. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/mandates/mandates_client.py +90 -85
  343. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/merchant_client.py +182 -0
  344. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/paymentlinks/__init__.py +4 -0
  345. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/paymentlinks/i_payment_links_client.py +31 -28
  346. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/paymentlinks/payment_links_client.py +58 -53
  347. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/payments/__init__.py +4 -0
  348. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/payments/i_payments_client.py +166 -0
  349. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/payments/payments_client.py +287 -0
  350. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/payouts/__init__.py +4 -0
  351. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/payouts/i_payouts_client.py +25 -22
  352. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/payouts/payouts_client.py +54 -49
  353. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/privacypolicy/__init__.py +4 -0
  354. {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
  355. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/privacypolicy/i_privacy_policy_client.py +36 -0
  356. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/privacypolicy/privacy_policy_client.py +59 -0
  357. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/productgroups/__init__.py +4 -0
  358. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/productgroups/get_product_group_params.py +35 -32
  359. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/productgroups/get_product_groups_params.py +35 -32
  360. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/productgroups/i_product_groups_client.py +26 -22
  361. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/productgroups/product_groups_client.py +44 -39
  362. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/products/__init__.py +4 -0
  363. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_payment_product_networks_params.py +21 -19
  364. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_payment_product_params.py +35 -32
  365. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_payment_products_params.py +35 -32
  366. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/get_product_directory_params.py +12 -11
  367. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/i_products_client.py +52 -48
  368. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/products/products_client.py +84 -79
  369. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/refunds/__init__.py +4 -0
  370. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/refunds/i_refunds_client.py +34 -0
  371. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/refunds/refunds_client.py +61 -0
  372. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/services/__init__.py +4 -0
  373. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/services/i_services_client.py +96 -0
  374. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/services/services_client.py +159 -0
  375. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/sessions/__init__.py +4 -0
  376. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/sessions/i_sessions_client.py +13 -10
  377. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/sessions/sessions_client.py +60 -0
  378. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/tokens/__init__.py +4 -0
  379. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/tokens/i_tokens_client.py +37 -34
  380. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/merchant/tokens/tokens_client.py +71 -66
  381. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/webhooks/__init__.py +4 -0
  382. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/webhooks/i_webhooks_client.py +55 -0
  383. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/merchant/webhooks/webhooks_client.py +93 -0
  384. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/platform_exception.py +19 -0
  385. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/proxy_configuration.py +19 -14
  386. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/reference_exception.py +19 -0
  387. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/validation_exception.py +19 -0
  388. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/webhooks/__init__.py +0 -0
  389. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/webhooks/api_version_mismatch_exception.py +4 -5
  390. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/webhooks/in_memory_secret_key_store.py +8 -9
  391. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/webhooks/secret_key_not_available_exception.py +18 -0
  392. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments/sdk/webhooks/secret_key_store.py +3 -3
  393. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/webhooks/signature_validation_exception.py +17 -0
  394. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/webhooks/signature_validator.py +56 -0
  395. onlinepayments_sdk_python3-5.0.0/onlinepayments/sdk/webhooks/webhooks_helper.py +52 -0
  396. onlinepayments_sdk_python3-5.0.0/onlinepayments_sdk_python3.egg-info/PKG-INFO +154 -0
  397. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments_sdk_python3.egg-info/SOURCES.txt +87 -34
  398. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments_sdk_python3.egg-info/requires.txt +1 -1
  399. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/setup.cfg +7 -7
  400. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/setup.py +26 -10
  401. onlinepayments-sdk-python3-4.22.0/PKG-INFO +0 -139
  402. onlinepayments-sdk-python3-4.22.0/README.md +0 -83
  403. onlinepayments-sdk-python3-4.22.0/README.rst +0 -120
  404. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/api_resource.py +0 -115
  405. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/authenticator.py +0 -18
  406. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/authorization_exception.py +0 -12
  407. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/call_context.py +0 -42
  408. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/client.py +0 -91
  409. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/communicator.py +0 -354
  410. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/communicator_configuration.py +0 -106
  411. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/data_object.py +0 -9
  412. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/declined_payment_exception.py +0 -43
  413. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/declined_payout_exception.py +0 -41
  414. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/declined_refund_exception.py +0 -41
  415. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/declined_transaction_exception.py +0 -13
  416. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/defaultimpl/authorization_type.py +0 -10
  417. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/amount_breakdown.py +0 -63
  418. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/capture_payment_request.py +0 -76
  419. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/capture_status_output.py +0 -38
  420. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/card_fraud_results.py +0 -110
  421. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/create_payout_request.py +0 -108
  422. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/customer_account_authentication.py +0 -63
  423. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/discount.py +0 -44
  424. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/fraud_results.py +0 -43
  425. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/merchant_action.py +0 -88
  426. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.py +0 -83
  427. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/network_token_essentials.py +0 -94
  428. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/order_references.py +0 -108
  429. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/order_type_information.py +0 -63
  430. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/page_customization.py +0 -34
  431. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/payment_product5001_specific_output.py +0 -38
  432. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/payment_product5002_specific_input.py +0 -70
  433. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/payment_product840.py +0 -38
  434. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/protection_eligibility.py +0 -60
  435. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/redirect_payment_method_specific_input.py +0 -267
  436. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/redirect_payment_product5001_specific_input.py +0 -41
  437. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/redirect_payment_product840_specific_input.py +0 -60
  438. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/refund_request.py +0 -60
  439. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.py +0 -126
  440. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/subsequent_payment_product5001_specific_input.py +0 -41
  441. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/surcharge_for_payment_link.py +0 -40
  442. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/three_d_secure.py +0 -358
  443. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/three_d_secure_base.py +0 -296
  444. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/three_ds_whitelist.py +0 -52
  445. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/token_card_data.py +0 -36
  446. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/token_data.py +0 -42
  447. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/domain/web_hooks_event.py +0 -145
  448. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/endpoint_configuration.py +0 -126
  449. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/factory.py +0 -117
  450. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/i_client.py +0 -67
  451. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/idempotence_exception.py +0 -29
  452. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/log/log_message.py +0 -70
  453. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/log/logging_util.py +0 -144
  454. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/log/request_log_message.py +0 -24
  455. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/i_merchant_client.py +0 -109
  456. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/merchant_client.py +0 -117
  457. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/payments/i_payments_client.py +0 -226
  458. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/payments/payments_client.py +0 -391
  459. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/services/i_services_client.py +0 -114
  460. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/services/services_client.py +0 -187
  461. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/merchant/sessions/sessions_client.py +0 -55
  462. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/multipart_form_data_request.py +0 -10
  463. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/param_request.py +0 -13
  464. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/payment_platform_exception.py +0 -11
  465. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/reference_exception.py +0 -12
  466. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/response_header.py +0 -25
  467. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/validation_exception.py +0 -11
  468. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/webhooks/secret_key_not_available_exception.py +0 -23
  469. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/webhooks/signature_validation_exception.py +0 -10
  470. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/webhooks/web_hooks.py +0 -22
  471. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/webhooks/web_hooks_helper.py +0 -124
  472. onlinepayments-sdk-python3-4.22.0/onlinepayments/sdk/webhooks/web_hooks_helper_builder.py +0 -33
  473. onlinepayments-sdk-python3-4.22.0/onlinepayments_sdk_python3.egg-info/PKG-INFO +0 -139
  474. {onlinepayments-sdk-python3-4.22.0 → onlinepayments_sdk_python3-5.0.0}/onlinepayments_sdk_python3.egg-info/dependency_links.txt +0 -0
  475. {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
@@ -1,8 +1,10 @@
1
1
  from json import dumps, loads
2
+ from typing import Any, Type, Union
2
3
 
3
- from onlinepayments.sdk.data_object import DataObject
4
- from onlinepayments.sdk.marshaller import Marshaller
5
- from onlinepayments.sdk.marshaller_syntax_exception import MarshallerSyntaxException
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 INSTANCE():
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, default=lambda o: o.to_dictionary(),
22
+ return dumps(dictionary,
23
+ default=lambda o: o.to_dictionary(),
21
24
  indent=4)
22
25
  else:
23
- return dumps(request_object, default=lambda o: o.__dict__, indent=4)
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: MarshallerSyntaxException if the JSON is not a valid representation for an object of the given type
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=False):
9
+ def __init__(self, cause: Optional[Exception] = None):
7
10
  if cause:
8
11
  super(MarshallerSyntaxException, self).__init__(cause)
9
12
  else:
@@ -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()