onlinepayments-sdk-python3 4.23.0__zip → 5.1.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.23.0 → onlinepayments_sdk_python3-5.1.0}/LICENSE.txt +15 -0
  2. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/MANIFEST.in +1 -1
  3. onlinepayments_sdk_python3-5.1.0/PKG-INFO +154 -0
  4. onlinepayments_sdk_python3-5.1.0/README.rst +111 -0
  5. onlinepayments_sdk_python3-5.1.0/onlinepayments/__init__.py +0 -0
  6. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/__init__.py +4 -0
  7. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/api_exception.py +19 -13
  8. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/api_resource.py +57 -0
  9. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/authentication/__init__.py +0 -0
  10. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/authentication/authenticator.py +24 -0
  11. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/authentication/authorization_type.py +10 -0
  12. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/defaultimpl/default_authenticator.py → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/authentication/v1hmac_authenticator.py +34 -27
  13. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/authorization_exception.py +19 -0
  14. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/call_context.py +62 -0
  15. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/client.py +107 -0
  16. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication/__init__.py +0 -0
  17. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication}/communication_exception.py +2 -3
  18. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication}/connection.py +31 -17
  19. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/defaultimpl → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication}/default_connection.py +108 -86
  20. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication/i_metadata_provider.py +19 -0
  21. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/meta_data_provider.py → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication/metadata_provider.py +45 -39
  22. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication}/multipart_form_data_object.py +11 -7
  23. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication/multipart_form_data_request.py +16 -0
  24. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication}/not_found_exception.py +3 -3
  25. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication/param_request.py +17 -0
  26. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication}/pooled_connection.py +8 -6
  27. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication}/request_header.py +9 -6
  28. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication}/request_param.py +7 -4
  29. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication}/response_exception.py +9 -11
  30. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communication/response_header.py +50 -0
  31. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communicator.py +455 -0
  32. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/communicator_configuration.py +264 -0
  33. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/declined_payment_exception.py +46 -0
  34. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/declined_payout_exception.py +46 -0
  35. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/declined_refund_exception.py +46 -0
  36. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/declined_transaction_exception.py +22 -0
  37. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/__init__.py +4 -0
  38. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/account_on_file.py +20 -19
  39. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/account_on_file_attribute.py +25 -25
  40. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/account_on_file_display_hints.py +12 -15
  41. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/acquirer_information.py +13 -14
  42. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/acquirer_selection_information.py +15 -16
  43. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/additional_order_input.py +22 -23
  44. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/address.py +28 -29
  45. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/address_personal.py +35 -36
  46. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/airline_data.py +132 -135
  47. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/airline_flight_leg.py +93 -113
  48. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/airline_passenger.py +32 -31
  49. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/amount_breakdown.py +63 -0
  50. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/amount_of_money.py +16 -16
  51. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/api_error.py +45 -44
  52. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/apple_pay_line_item.py +145 -0
  53. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/apple_pay_recurring_payment_request.py +116 -0
  54. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/bank_account_iban.py +10 -14
  55. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/browser_data.py +33 -34
  56. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/calculate_surcharge_request.py +15 -12
  57. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/calculate_surcharge_response.py +10 -11
  58. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/cancel_payment_request.py +14 -11
  59. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/cancel_payment_response.py +11 -8
  60. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/capture.py +21 -18
  61. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/capture_output.py +72 -49
  62. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/capture_payment_request.py +99 -0
  63. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/capture_response.py +21 -18
  64. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/capture_status_output.py +37 -0
  65. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/captures_response.py +10 -9
  66. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/card.py +20 -23
  67. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/card_essentials.py +19 -21
  68. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/card_fraud_results.py +112 -0
  69. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/card_info.py +14 -12
  70. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/card_payment_method_specific_input.py +166 -121
  71. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/card_payment_method_specific_input_base.py +110 -87
  72. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/card_payment_method_specific_input_for_hosted_checkout.py +18 -21
  73. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/card_payment_method_specific_output.py +85 -64
  74. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/card_payout_method_specific_input.py +23 -23
  75. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/card_recurrence_details.py +11 -12
  76. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/card_source.py +20 -21
  77. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/card_without_cvv.py +17 -15
  78. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/company_information.py +10 -11
  79. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/complete_payment_card_payment_method_specific_input.py +11 -8
  80. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/complete_payment_request.py +16 -14
  81. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/complete_payment_response.py +19 -16
  82. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/contact_details.py +21 -22
  83. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/create_hosted_checkout_request.py +58 -34
  84. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/create_hosted_checkout_response.py +25 -27
  85. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/create_hosted_tokenization_request.py +29 -27
  86. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/create_hosted_tokenization_response.py +26 -26
  87. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/create_mandate_request.py +50 -49
  88. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/create_mandate_response.py +14 -15
  89. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/create_mandate_with_return_url.py +50 -49
  90. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/create_payment_link_request.py +115 -72
  91. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/create_payment_request.py +61 -38
  92. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/create_payment_response.py +18 -19
  93. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/create_payout_request.py +176 -0
  94. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/create_token_request.py +13 -14
  95. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/created_payment_output.py +13 -14
  96. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/created_token_response.py +32 -27
  97. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/credit_card_specific_input_hosted_tokenization.py +13 -12
  98. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/credit_card_validation_rules_hosted_tokenization.py +13 -10
  99. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/currency_conversion.py +14 -11
  100. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/currency_conversion_input.py +13 -10
  101. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/currency_conversion_request.py +15 -12
  102. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/currency_conversion_response.py +17 -18
  103. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/currency_conversion_result.py +18 -18
  104. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/currency_conversion_specific_input.py +12 -12
  105. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/customer.py +54 -53
  106. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/customer_account.py +44 -45
  107. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/customer_account_authentication.py +81 -0
  108. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/customer_bank_account.py +15 -16
  109. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/customer_device.py +32 -33
  110. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/customer_device_output.py +9 -10
  111. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/customer_output.py +10 -11
  112. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/customer_payment_activity.py +15 -16
  113. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/customer_token.py +19 -16
  114. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/data_object.py +34 -0
  115. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/dcc_card_source.py +21 -18
  116. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/dcc_proposal.py +23 -24
  117. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/decrypted_payment_data.py +36 -33
  118. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/directory_entry.py +18 -18
  119. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/discount.py +41 -0
  120. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/empty_validator.py +5 -4
  121. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/error_response.py +13 -12
  122. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/external_cardholder_authentication_data.py +57 -60
  123. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/external_token_linked.py +18 -13
  124. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/feedbacks.py +64 -0
  125. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/fixed_list_validator.py +9 -8
  126. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/fraud_fields.py +17 -18
  127. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/fraud_results.py +43 -0
  128. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/g_pay_three_d_secure.py +46 -44
  129. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/get_hosted_checkout_response.py +18 -14
  130. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/get_hosted_tokenization_response.py +18 -14
  131. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/get_iin_details_request.py +13 -14
  132. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/get_iin_details_response.py +29 -26
  133. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/get_mandate_response.py +10 -11
  134. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/get_payment_product_groups_response.py +9 -14
  135. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/get_payment_products_response.py +9 -14
  136. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/get_privacy_policy_response.py +9 -10
  137. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/gift_card_purchase.py +13 -14
  138. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/hosted_checkout_specific_input.py +45 -49
  139. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/hosted_checkout_specific_output.py +12 -13
  140. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/iin_detail.py +23 -18
  141. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/label_template_element.py +13 -15
  142. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/length_validator.py +13 -10
  143. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/line_item.py +41 -16
  144. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/line_item_invoice_data.py +9 -10
  145. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/loan_recipient.py +22 -24
  146. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/lodging_data.py +10 -12
  147. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_address.py +26 -37
  148. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_address_response.py +21 -22
  149. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_contact_details.py +9 -10
  150. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_customer.py +27 -32
  151. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_customer_response.py +25 -26
  152. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_merchant_action.py +15 -15
  153. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_personal_information.py +14 -17
  154. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_personal_information_response.py +13 -14
  155. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_personal_name.py +14 -18
  156. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_personal_name_response.py +12 -13
  157. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_redirect_data.py +12 -13
  158. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mandate_response.py +32 -32
  159. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/merchant_action.py +132 -0
  160. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mobile_payment_data.py +12 -13
  161. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.py +105 -0
  162. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mobile_payment_method_specific_input.py +45 -46
  163. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mobile_payment_method_specific_output.py +27 -28
  164. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/mobile_payment_product302_specific_input.py +41 -0
  165. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/mobile_payment_product320_specific_input.py +10 -11
  166. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/mobile_three_d_secure_challenge_parameters.py +91 -0
  167. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/multiple_payment_information.py +14 -14
  168. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/omnichannel_payout_specific_input.py +9 -10
  169. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/operation_output.py +50 -29
  170. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/operation_payment_references.py +37 -0
  171. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/order.py +39 -41
  172. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/order_line_details.py +50 -34
  173. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/order_references.py +102 -0
  174. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/order_status_output.py +27 -25
  175. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/order_type_information.py +64 -0
  176. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/other_details.py +55 -0
  177. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_account_on_file.py +13 -14
  178. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_context.py +17 -14
  179. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_creation_output.py +22 -22
  180. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_details_response.py +27 -30
  181. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_error_response.py +17 -16
  182. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_link_event.py +15 -16
  183. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_link_order_input.py +18 -28
  184. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_link_order_output.py +18 -20
  185. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_link_response.py +59 -42
  186. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_link_specific_input.py +19 -19
  187. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_output.py +58 -57
  188. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product.py +76 -59
  189. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product130_specific_input.py +10 -11
  190. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product130_specific_three_d_secure.py +18 -19
  191. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product3012.py +13 -14
  192. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/payment_product3012_specific_input.py +100 -0
  193. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product302_specific_data.py +9 -8
  194. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product3203_specific_output.py +13 -14
  195. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product3208_specific_input.py +9 -10
  196. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product3208_specific_output.py +9 -10
  197. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product3209_specific_input.py +9 -10
  198. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product3209_specific_output.py +9 -10
  199. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product320_specific_data.py +13 -12
  200. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/payment_product5001_specific_output.py +112 -0
  201. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product5100_specific_input.py +9 -10
  202. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product5402_specific_output.py +9 -10
  203. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product5404.py +12 -13
  204. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product5407.py +12 -13
  205. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product5500_specific_output.py +33 -16
  206. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product771_specific_output.py +9 -10
  207. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product840_customer_account.py +38 -37
  208. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product840_specific_output.py +21 -22
  209. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_display_hints.py +15 -16
  210. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_field.py +21 -18
  211. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_field_data_restrictions.py +15 -16
  212. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_field_display_element.py +24 -24
  213. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_field_display_hints.py +53 -53
  214. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_field_form_element.py +20 -20
  215. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_field_tooltip.py +15 -15
  216. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_field_validators.py +39 -40
  217. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_filter.py +11 -16
  218. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_filter_hosted_tokenization.py +8 -13
  219. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_filters_hosted_checkout.py +13 -14
  220. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_filters_hosted_tokenization.py +13 -14
  221. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_group.py +20 -21
  222. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_product_networks_response.py +8 -13
  223. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_references.py +13 -15
  224. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_response.py +24 -25
  225. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payment_status_output.py +29 -34
  226. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payout_error_response.py +17 -18
  227. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payout_output.py +18 -14
  228. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payout_response.py +21 -18
  229. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payout_result.py +21 -18
  230. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/payout_status_output.py +21 -17
  231. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/personal_information.py +18 -23
  232. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/personal_information_token.py +11 -8
  233. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/personal_name.py +15 -16
  234. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/personal_name_token.py +13 -10
  235. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/product_directory.py +10 -9
  236. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/protection_eligibility.py +59 -0
  237. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/range_validator.py +13 -10
  238. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/rate_details.py +22 -19
  239. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/reattempt_instructions.py +82 -0
  240. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/reattempt_instructions_conditions.py +55 -0
  241. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/redirect_data.py +12 -13
  242. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/redirect_payment_method_specific_input.py +421 -0
  243. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/redirect_payment_method_specific_output.py +47 -48
  244. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/redirect_payment_product3203_specific_input.py +40 -0
  245. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/redirect_payment_product3204_specific_input.py +37 -0
  246. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/redirect_payment_product3302_specific_input.py +73 -0
  247. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/redirect_payment_product3306_specific_input.py +10 -14
  248. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/redirect_payment_product5001_specific_input.py +62 -0
  249. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/redirect_payment_product5300_specific_input.py +145 -0
  250. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/redirect_payment_product5402_specific_input.py +40 -0
  251. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/redirect_payment_product5403_specific_input.py +40 -0
  252. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/redirect_payment_product5406_specific_input.py +10 -11
  253. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/redirect_payment_product5408_specific_input.py +15 -16
  254. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/redirect_payment_product5410_specific_input.py +38 -0
  255. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/redirect_payment_product809_specific_input.py +10 -11
  256. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/redirect_payment_product840_specific_input.py +100 -0
  257. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/redirection_data.py +10 -13
  258. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/refund_card_method_specific_output.py +17 -14
  259. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/refund_e_wallet_method_specific_output.py +17 -14
  260. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/refund_error_response.py +17 -16
  261. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/refund_mobile_method_specific_output.py +16 -13
  262. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/refund_output.py +63 -42
  263. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/refund_payment_product840_customer_account.py +16 -13
  264. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/refund_payment_product840_specific_output.py +11 -8
  265. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/refund_redirect_method_specific_output.py +13 -10
  266. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/refund_request.py +103 -0
  267. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/refund_response.py +20 -21
  268. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/refunds_response.py +10 -9
  269. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/regular_expression_validator.py +10 -7
  270. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/send_test_request.py +37 -0
  271. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input.py +13 -14
  272. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input_base.py +13 -14
  273. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_output.py +17 -18
  274. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input.py +13 -14
  275. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input_base.py +13 -14
  276. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/session_request.py +9 -8
  277. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/session_response.py +21 -22
  278. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/shipping.py +51 -50
  279. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/shipping_method.py +18 -19
  280. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/shopping_cart.py +31 -33
  281. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/shopping_cart_extension.py +8 -6
  282. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/show_form_data.py +18 -19
  283. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/show_instructions_data.py +37 -0
  284. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.py +153 -0
  285. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/subsequent_payment_product5001_specific_input.py +41 -0
  286. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/subsequent_payment_request.py +20 -18
  287. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/subsequent_payment_response.py +10 -11
  288. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/surcharge.py +27 -24
  289. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/surcharge_calculation_card.py +13 -15
  290. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/surcharge_for_payment_link.py +40 -0
  291. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/surcharge_rate.py +18 -19
  292. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/surcharge_specific_input.py +16 -16
  293. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/surcharge_specific_output.py +20 -20
  294. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/test_connection.py +10 -7
  295. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/three_d_secure.py +95 -77
  296. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/three_d_secure_base.py +69 -69
  297. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/three_d_secure_data.py +20 -20
  298. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/three_d_secure_results.py +57 -56
  299. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/token_card.py +13 -14
  300. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/token_card_data.py +61 -0
  301. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/token_card_specific_input.py +10 -11
  302. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/token_data.py +63 -0
  303. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/token_e_wallet.py +16 -16
  304. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/token_response.py +28 -25
  305. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/transaction.py +11 -8
  306. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain}/uploadable_file.py +9 -6
  307. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/validate_credentials_request.py +55 -0
  308. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/validate_credentials_response.py +37 -0
  309. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/domain/value_mapping_element.py +12 -15
  310. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/domain/web_hooks_event.py +174 -0
  311. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/exception_factory.py +75 -0
  312. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/factory.py +127 -0
  313. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/i_client.py +78 -0
  314. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/i_communicator.py +180 -0
  315. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/idempotence_exception.py +36 -0
  316. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/json/__init__.py +0 -0
  317. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/defaultimpl → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/json}/default_marshaller.py +16 -11
  318. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/json}/marshaller.py +10 -5
  319. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/json}/marshaller_syntax_exception.py +4 -1
  320. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/log/__init__.py +0 -0
  321. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/log/body_obfuscator.py +113 -0
  322. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/log/communicator_logger.py +8 -3
  323. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/log/header_obfuscator.py +49 -0
  324. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/log/log_message.py +94 -0
  325. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/log/logging_capable.py +7 -3
  326. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/log/obfuscation_capable.py +24 -0
  327. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/log/obfuscation_rule.py +50 -0
  328. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/log/python_communicator_logger.py +6 -3
  329. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/log/request_log_message.py +28 -0
  330. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/log/response_log_message.py +11 -10
  331. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/log/sys_out_communicator_logger.py +7 -8
  332. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/__init__.py +4 -0
  333. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/captures/__init__.py +4 -0
  334. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/captures/captures_client.py +61 -0
  335. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/captures/i_captures_client.py +34 -0
  336. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/complete/__init__.py +4 -0
  337. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/complete/complete_client.py +65 -0
  338. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/complete/i_complete_client.py +37 -0
  339. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/hostedcheckout/__init__.py +4 -0
  340. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/hostedcheckout/hosted_checkout_client.py +42 -37
  341. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/hostedcheckout/i_hosted_checkout_client.py +22 -19
  342. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/hostedtokenization/__init__.py +4 -0
  343. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/hostedtokenization/hosted_tokenization_client.py +42 -37
  344. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/hostedtokenization/i_hosted_tokenization_client.py +22 -19
  345. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/i_merchant_client.py +157 -0
  346. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/mandates/__init__.py +4 -0
  347. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/mandates/i_mandates_client.py +49 -46
  348. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/mandates/mandates_client.py +90 -85
  349. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/merchant_client.py +182 -0
  350. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/paymentlinks/__init__.py +4 -0
  351. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/paymentlinks/i_payment_links_client.py +31 -28
  352. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/paymentlinks/payment_links_client.py +58 -53
  353. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/payments/__init__.py +4 -0
  354. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/payments/i_payments_client.py +166 -0
  355. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/payments/payments_client.py +287 -0
  356. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/payouts/__init__.py +4 -0
  357. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/payouts/i_payouts_client.py +25 -22
  358. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/payouts/payouts_client.py +54 -49
  359. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/privacypolicy/__init__.py +4 -0
  360. {onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/services → onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/privacypolicy}/get_privacy_policy_params.py +12 -11
  361. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/privacypolicy/i_privacy_policy_client.py +36 -0
  362. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/privacypolicy/privacy_policy_client.py +59 -0
  363. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/productgroups/__init__.py +4 -0
  364. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/productgroups/get_product_group_params.py +35 -32
  365. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/productgroups/get_product_groups_params.py +35 -32
  366. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/productgroups/i_product_groups_client.py +26 -22
  367. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/productgroups/product_groups_client.py +44 -39
  368. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/products/__init__.py +4 -0
  369. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/products/get_payment_product_networks_params.py +21 -19
  370. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/products/get_payment_product_params.py +35 -32
  371. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/products/get_payment_products_params.py +35 -32
  372. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/products/get_product_directory_params.py +12 -11
  373. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/products/i_products_client.py +52 -48
  374. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/products/products_client.py +84 -79
  375. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/refunds/__init__.py +4 -0
  376. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/refunds/i_refunds_client.py +34 -0
  377. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/refunds/refunds_client.py +61 -0
  378. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/services/__init__.py +4 -0
  379. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/services/i_services_client.py +96 -0
  380. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/services/services_client.py +159 -0
  381. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/sessions/__init__.py +4 -0
  382. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/sessions/i_sessions_client.py +13 -10
  383. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/sessions/sessions_client.py +60 -0
  384. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/tokens/__init__.py +4 -0
  385. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/tokens/i_tokens_client.py +37 -34
  386. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/merchant/tokens/tokens_client.py +71 -66
  387. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/webhooks/__init__.py +4 -0
  388. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/webhooks/i_webhooks_client.py +55 -0
  389. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/merchant/webhooks/webhooks_client.py +93 -0
  390. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/platform_exception.py +19 -0
  391. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/proxy_configuration.py +19 -14
  392. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/reference_exception.py +19 -0
  393. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/validation_exception.py +19 -0
  394. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/webhooks/__init__.py +0 -0
  395. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/webhooks/api_version_mismatch_exception.py +4 -5
  396. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/webhooks/in_memory_secret_key_store.py +8 -9
  397. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/webhooks/secret_key_not_available_exception.py +18 -0
  398. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments/sdk/webhooks/secret_key_store.py +3 -3
  399. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/webhooks/signature_validation_exception.py +17 -0
  400. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/webhooks/signature_validator.py +56 -0
  401. onlinepayments_sdk_python3-5.1.0/onlinepayments/sdk/webhooks/webhooks_helper.py +52 -0
  402. onlinepayments_sdk_python3-5.1.0/onlinepayments_sdk_python3.egg-info/PKG-INFO +154 -0
  403. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments_sdk_python3.egg-info/SOURCES.txt +87 -29
  404. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments_sdk_python3.egg-info/requires.txt +1 -1
  405. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/setup.cfg +7 -7
  406. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/setup.py +26 -10
  407. onlinepayments-sdk-python3-4.23.0/PKG-INFO +0 -139
  408. onlinepayments-sdk-python3-4.23.0/README.md +0 -83
  409. onlinepayments-sdk-python3-4.23.0/README.rst +0 -120
  410. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/api_resource.py +0 -115
  411. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/authenticator.py +0 -18
  412. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/authorization_exception.py +0 -12
  413. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/call_context.py +0 -42
  414. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/client.py +0 -91
  415. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/communicator.py +0 -354
  416. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/communicator_configuration.py +0 -106
  417. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/data_object.py +0 -9
  418. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/declined_payment_exception.py +0 -43
  419. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/declined_payout_exception.py +0 -41
  420. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/declined_refund_exception.py +0 -41
  421. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/declined_transaction_exception.py +0 -13
  422. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/defaultimpl/authorization_type.py +0 -10
  423. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/amount_breakdown.py +0 -63
  424. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/capture_payment_request.py +0 -76
  425. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/capture_status_output.py +0 -38
  426. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/card_fraud_results.py +0 -110
  427. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/create_payout_request.py +0 -108
  428. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/customer_account_authentication.py +0 -64
  429. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/discount.py +0 -44
  430. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/fraud_results.py +0 -43
  431. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/merchant_action.py +0 -88
  432. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.py +0 -83
  433. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/order_references.py +0 -108
  434. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/order_type_information.py +0 -63
  435. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/payment_product5001_specific_output.py +0 -38
  436. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/protection_eligibility.py +0 -60
  437. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/redirect_payment_method_specific_input.py +0 -289
  438. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/redirect_payment_product3203_specific_input.py +0 -44
  439. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/redirect_payment_product5001_specific_input.py +0 -41
  440. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/redirect_payment_product840_specific_input.py +0 -60
  441. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/refund_request.py +0 -60
  442. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.py +0 -146
  443. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/subsequent_payment_product5001_specific_input.py +0 -41
  444. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/surcharge_for_payment_link.py +0 -40
  445. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/token_card_data.py +0 -36
  446. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/token_data.py +0 -42
  447. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/domain/web_hooks_event.py +0 -145
  448. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/endpoint_configuration.py +0 -126
  449. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/factory.py +0 -117
  450. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/i_client.py +0 -67
  451. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/idempotence_exception.py +0 -29
  452. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/log/log_message.py +0 -70
  453. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/log/logging_util.py +0 -144
  454. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/log/request_log_message.py +0 -24
  455. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/i_merchant_client.py +0 -109
  456. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/merchant_client.py +0 -117
  457. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/payments/i_payments_client.py +0 -226
  458. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/payments/payments_client.py +0 -391
  459. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/services/i_services_client.py +0 -114
  460. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/services/services_client.py +0 -187
  461. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/merchant/sessions/sessions_client.py +0 -55
  462. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/multipart_form_data_request.py +0 -10
  463. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/param_request.py +0 -13
  464. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/payment_platform_exception.py +0 -11
  465. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/reference_exception.py +0 -12
  466. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/response_header.py +0 -25
  467. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/validation_exception.py +0 -11
  468. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/webhooks/secret_key_not_available_exception.py +0 -23
  469. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/webhooks/signature_validation_exception.py +0 -10
  470. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/webhooks/web_hooks.py +0 -22
  471. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/webhooks/web_hooks_helper.py +0 -124
  472. onlinepayments-sdk-python3-4.23.0/onlinepayments/sdk/webhooks/web_hooks_helper_builder.py +0 -33
  473. onlinepayments-sdk-python3-4.23.0/onlinepayments_sdk_python3.egg-info/PKG-INFO +0 -139
  474. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments_sdk_python3.egg-info/dependency_links.txt +0 -0
  475. {onlinepayments-sdk-python3-4.23.0 → onlinepayments_sdk_python3-5.1.0}/onlinepayments_sdk_python3.egg-info/top_level.txt +0 -0
@@ -0,0 +1,107 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # This file was automatically generated.
4
+ #
5
+ from base64 import b64encode
6
+ from datetime import timedelta
7
+ from typing import Optional
8
+
9
+ from .api_resource import ApiResource
10
+ from .i_client import IClient
11
+ from .i_communicator import ICommunicator
12
+
13
+ from onlinepayments.sdk.log.body_obfuscator import BodyObfuscator
14
+ from onlinepayments.sdk.log.communicator_logger import CommunicatorLogger
15
+ from onlinepayments.sdk.log.header_obfuscator import HeaderObfuscator
16
+ from onlinepayments.sdk.merchant.i_merchant_client import IMerchantClient
17
+ from onlinepayments.sdk.merchant.merchant_client import MerchantClient
18
+
19
+
20
+ class Client(ApiResource, IClient):
21
+ """
22
+ Payment platform client.
23
+
24
+ This client and all its child clients are bound to one specific value for the X-GCS-ClientMetaInfo header.
25
+ To get a new client with a different header value, use with_client_meta_info.
26
+
27
+ Thread-safe.
28
+ """
29
+
30
+ def __init__(self, communicator: ICommunicator, client_meta_info: Optional[str] = None):
31
+ """
32
+ :param communicator: :class:`onlinepayments.sdk.i_communicator.ICommunicator`
33
+ :param client_meta_info: str
34
+ """
35
+ super(Client, self).__init__(communicator=communicator,
36
+ client_meta_info=client_meta_info)
37
+
38
+ def with_client_meta_info(self, client_meta_info: Optional[str]) -> 'Client':
39
+ """
40
+ :param client_meta_info: JSON string containing the metadata for the client
41
+ :return: a new Client which uses the passed metadata for the X-GCS-ClientMetaInfo header.
42
+ :raise MarshallerSyntaxException: if the given clientMetaInfo is not a valid JSON string
43
+ """
44
+ if self._client_meta_info is None and client_meta_info is None:
45
+ return self
46
+ if client_meta_info is None:
47
+ return Client(self._communicator, None)
48
+ # Checking to see if this is valid JSON (no JSON parse exceptions)
49
+ self._communicator.marshaller.unmarshal(client_meta_info, object)
50
+ client_meta_info = b64encode(client_meta_info.encode('utf-8')).decode('utf-8')
51
+ if client_meta_info == self._client_meta_info:
52
+ return self
53
+ return Client(self._communicator, client_meta_info)
54
+
55
+ def close_idle_connections(self, idle_time: timedelta) -> None:
56
+ """
57
+ Utility method that delegates the call to this client's communicator.
58
+
59
+ :param idle_time: a datetime.timedelta object indicating the idle time
60
+ """
61
+ self._communicator.close_idle_connections(idle_time)
62
+
63
+ def close_expired_connections(self) -> None:
64
+ """
65
+ Utility method that delegates the call to this client's communicator.
66
+ """
67
+ self._communicator.close_expired_connections()
68
+
69
+ def set_body_obfuscator(self, body_obfuscator: BodyObfuscator) -> None:
70
+ # delegate to the communicator
71
+ self._communicator.set_body_obfuscator(body_obfuscator)
72
+
73
+ def set_header_obfuscator(self, header_obfuscator: HeaderObfuscator) -> None:
74
+ # delegate to the communicator
75
+ self._communicator.set_header_obfuscator(header_obfuscator)
76
+
77
+ def enable_logging(self, communicator_logger: CommunicatorLogger) -> None:
78
+ # delegate to the communicator
79
+ self._communicator.enable_logging(communicator_logger)
80
+
81
+ def disable_logging(self) -> None:
82
+ # delegate to the communicator
83
+ self._communicator.disable_logging()
84
+
85
+ def close(self) -> None:
86
+ """
87
+ Releases any system resources associated with this object.
88
+ """
89
+ self._communicator.close()
90
+
91
+ def __enter__(self):
92
+ return self
93
+
94
+ def __exit__(self, exc_type, exc_val, exc_tb):
95
+ self.close()
96
+
97
+ def merchant(self, merchant_id: str) -> IMerchantClient:
98
+ """
99
+ Resource /v2/{merchantId}
100
+
101
+ :param merchant_id: str
102
+ :return: :class:`onlinepayments.sdk.merchant.i_merchant_client.IMerchantClient`
103
+ """
104
+ sub_context = {
105
+ "merchantId": merchant_id,
106
+ }
107
+ return MerchantClient(self, sub_context)
@@ -1,9 +1,8 @@
1
1
  class CommunicationException(RuntimeError):
2
2
  """
3
- Indicates an exception regarding the communication with the Online Payments
4
- platform such as a connection exception.
3
+ Indicates an exception regarding the communication with the Online Payments platform such as a connection exception.
5
4
  """
6
5
 
7
- def __init__(self, exception):
6
+ def __init__(self, exception: Exception):
8
7
  super(CommunicationException, self).__init__(exception)
9
8
  self.cause = exception
@@ -1,70 +1,84 @@
1
1
  from abc import ABC, abstractmethod
2
+ from typing import Iterable, Mapping, Sequence, Tuple, Union
3
+ from urllib.parse import ParseResult
4
+
5
+ from .multipart_form_data_object import MultipartFormDataObject
6
+ from .request_header import RequestHeader
2
7
 
3
8
  from onlinepayments.sdk.log.logging_capable import LoggingCapable
9
+ from onlinepayments.sdk.log.obfuscation_capable import ObfuscationCapable
10
+
4
11
 
12
+ URI = Union[str, ParseResult]
13
+ RequestBody = Union[str, MultipartFormDataObject, None]
14
+ Response = Tuple[int, Mapping[str, str], Iterable[bytes]]
5
15
 
6
- # noinspection PyAbstractClass
7
- class Connection(LoggingCapable, ABC):
16
+
17
+ class Connection(LoggingCapable, ObfuscationCapable, ABC):
8
18
  """
9
19
  Represents a connection to the Online Payments platform server.
10
20
  """
11
21
 
12
22
  @abstractmethod
13
- def get(self, url, request_headers):
23
+ def get(self, url: URI, request_headers: Sequence[RequestHeader]) -> Response:
14
24
  """
15
25
  Send a GET request to the Online Payments platform and return the response.
16
26
 
17
27
  :param url: The URI to call, including any necessary query parameters.
18
- :param request_headers: An optional list of request headers.
28
+ :param request_headers: An optional sequence of request headers.
19
29
  :return: The response from the Online Payments platform as a tuple with
20
30
  the status code, headers and a generator of body chunks
21
- :raise: CommunicationException when an exception occurred communicating
31
+ :raise CommunicationException: when an exception occurred communicating
22
32
  with the Online Payments platform
23
33
  """
34
+ raise NotImplementedError
24
35
 
25
36
  @abstractmethod
26
- def delete(self, url, request_headers):
37
+ def delete(self, url: URI, request_headers: Sequence[RequestHeader]) -> Response:
27
38
  """
28
39
  Send a DELETE request to the Online Payments platform and return the response.
29
40
 
30
41
  :param url: The URI to call, including any necessary query parameters.
31
- :param request_headers: An optional list of request headers.
42
+ :param request_headers: An optional sequence of request headers.
32
43
  :return: The response from the Online Payments platform as a tuple with
33
44
  the status code, headers and a generator of body chunks
34
- :raise: CommunicationException when an exception occurred communicating
45
+ :raise CommunicationException: when an exception occurred communicating
35
46
  with the Online Payments platform
36
47
  """
48
+ raise NotImplementedError
37
49
 
38
50
  @abstractmethod
39
- def post(self, url, request_headers, body):
51
+ def post(self, url: URI, request_headers: Sequence[RequestHeader], body: RequestBody) -> Response:
40
52
  """
41
53
  Send a POST request to the Online Payments platform and return the response.
42
54
 
43
55
  :param url: The URI to call, including any necessary query parameters.
44
- :param request_headers: An optional list of request headers.
56
+ :param request_headers: An optional sequence of request headers.
45
57
  :param body: The optional body to send.
46
58
  :return: The response from the Online Payments platform as a tuple with
47
59
  the status code, headers and a generator of body chunks
48
- :raise: CommunicationException when an exception occurred communicating
60
+ :raise CommunicationException: when an exception occurred communicating
49
61
  with the Online Payments platform
50
62
  """
63
+ raise NotImplementedError
51
64
 
52
65
  @abstractmethod
53
- def put(self, url, request_headers, body):
66
+ def put(self, url: URI, request_headers: Sequence[RequestHeader], body: RequestBody) -> Response:
54
67
  """
55
68
  Send a PUT request to the Online Payments platform and return the response.
56
69
 
57
70
  :param url: The URI to call, including any necessary query parameters.
58
- :param request_headers: An optional list of request headers.
71
+ :param request_headers: An optional sequence of request headers.
59
72
  :param body: The optional body to send.
60
73
  :return: The response from the Online Payments platform as a tuple with
61
74
  the status code, headers and a generator of body chunks
62
- :raise: CommunicationException when an exception occurred communicating
75
+ :raise CommunicationException: when an exception occurred communicating
63
76
  with the Online Payments platform
64
77
  """
78
+ raise NotImplementedError
65
79
 
66
- @abstractmethod
67
- def close(self):
80
+ def close(self) -> None:
68
81
  """
69
- Close the connection
82
+ Releases any system resources associated with this object.
70
83
  """
84
+ pass
@@ -1,20 +1,29 @@
1
1
  import math
2
2
  import uuid
3
- from datetime import datetime
3
+ from datetime import datetime, timedelta
4
+ from typing import Mapping, Optional, Sequence
4
5
  from urllib.parse import urlparse
5
6
 
6
7
  import requests
7
8
  from requests.adapters import HTTPAdapter
9
+ from requests.models import PreparedRequest
8
10
  from requests.exceptions import RequestException, Timeout
9
11
  from requests_toolbelt import MultipartEncoder
10
12
 
11
- from onlinepayments.sdk.communication_exception import CommunicationException
12
- from onlinepayments.sdk.endpoint_configuration import EndpointConfiguration
13
+ from .communication_exception import CommunicationException
14
+ from .connection import RequestBody, Response, URI
15
+ from .multipart_form_data_object import MultipartFormDataObject
16
+ from .pooled_connection import PooledConnection
17
+ from .request_header import RequestHeader
18
+ from .response_header import get_header_value
19
+
20
+ from onlinepayments.sdk.communicator_configuration import CommunicatorConfiguration
21
+ from onlinepayments.sdk.proxy_configuration import ProxyConfiguration
22
+ from onlinepayments.sdk.log.body_obfuscator import BodyObfuscator
23
+ from onlinepayments.sdk.log.communicator_logger import CommunicatorLogger
24
+ from onlinepayments.sdk.log.header_obfuscator import HeaderObfuscator
13
25
  from onlinepayments.sdk.log.request_log_message import RequestLogMessage
14
26
  from onlinepayments.sdk.log.response_log_message import ResponseLogMessage
15
- from onlinepayments.sdk.pooled_connection import PooledConnection
16
- from onlinepayments.sdk.proxy_configuration import ProxyConfiguration
17
- from onlinepayments.sdk.multipart_form_data_object import MultipartFormDataObject
18
27
 
19
28
  CHARSET = "UTF-8"
20
29
 
@@ -23,145 +32,137 @@ class DefaultConnection(PooledConnection):
23
32
  """
24
33
  Provides an HTTP request interface, thread-safe
25
34
 
26
- :param connect_timeout: timeout in seconds before a pending connection is
27
- dropped
28
- :param socket_timeout: timeout in seconds before dropping an established
29
- connection. This is the time the server is allowed for a response
30
- :param max_connections: the maximum number of connections in the connection
31
- pool
32
- :param proxy_configuration: ProxyConfiguration object that contains data
33
- about proxy settings if present.
35
+ :param connect_timeout: timeout in seconds before a pending connection is dropped
36
+ :param socket_timeout: timeout in seconds before dropping an established connection.
37
+ This is the time the server is allowed for a response
38
+ :param max_connections: the maximum number of connections in the connection pool
39
+ :param proxy_configuration: ProxyConfiguration object that contains data about proxy settings if present.
34
40
  It should be writeable as string and have a scheme attribute.
35
41
 
36
- Use the methods get, delete, post and put to perform the corresponding HTTP
37
- request.
38
- Alternatively you can use request with the request method as the first
39
- parameter.
42
+ Use the methods get, delete, post and put to perform the corresponding HTTP request.
43
+ Alternatively you can use request with the request method as the first parameter.
40
44
 
41
45
  URI, headers and body should be given on a per-request basis.
42
46
  """
43
47
 
44
- def __init__(self,
45
- connect_timeout: int = EndpointConfiguration.DEFAULT_CONNECT_TIMEOUT,
46
- socket_timeout: int = EndpointConfiguration.DEFAULT_SOCKET_TIMEOUT,
47
- max_connections: int = EndpointConfiguration.DEFAULT_MAX_CONNECTIONS,
48
- proxy_configuration: ProxyConfiguration = None):
48
+ def __init__(self, connect_timeout: int, socket_timeout: int,
49
+ max_connections: int = CommunicatorConfiguration.DEFAULT_MAX_CONNECTIONS,
50
+ proxy_configuration: Optional[ProxyConfiguration] = None):
49
51
  self.logger = None
50
52
  self.__requests_session = requests.session()
51
- self.__requests_session.mount("http://", HTTPAdapter(pool_maxsize=max_connections, pool_connections=1))
52
- self.__requests_session.mount("https://", HTTPAdapter(pool_maxsize=max_connections, pool_connections=1))
53
+ self.__requests_session.mount("http://", HTTPAdapter(pool_maxsize=max_connections,
54
+ pool_connections=1))
55
+ self.__requests_session.mount("https://", HTTPAdapter(pool_maxsize=max_connections,
56
+ pool_connections=1))
53
57
  # request timeouts are in seconds
54
58
  self.__connect_timeout = connect_timeout if connect_timeout >= 0 else None
55
59
  self.__socket_timeout = socket_timeout if socket_timeout >= 0 else None
56
60
  if proxy_configuration:
57
- proxy = {"http": str(proxy_configuration),
58
- "https": str(proxy_configuration)}
61
+ proxy = {
62
+ "http": str(proxy_configuration),
63
+ "https": str(proxy_configuration)
64
+ }
59
65
  self.__requests_session.proxies = proxy
60
66
 
67
+ self.__body_obfuscator = BodyObfuscator.default_body_obfuscator()
68
+ self.__header_obfuscator = HeaderObfuscator.default_header_obfuscator()
69
+
61
70
  @property
62
- def connect_timeout(self) -> int:
71
+ def connect_timeout(self) -> Optional[int]:
63
72
  """Connection timeout in seconds"""
64
73
  return self.__connect_timeout
65
74
 
66
75
  @property
67
- def socket_timeout(self) -> int:
76
+ def socket_timeout(self) -> Optional[int]:
68
77
  """Socket timeout in seconds"""
69
78
  return self.__socket_timeout
70
79
 
71
- def get(self, url, request_headers):
80
+ def get(self, url: URI, request_headers: Sequence[RequestHeader]) -> Response:
72
81
  """Perform a request to the server given by url
73
82
 
74
83
  :param url: the url to the server, given as a parsed url
75
- :param request_headers: a list containing RequestHeader objects
76
- representing the request headers
84
+ :param request_headers: a sequence containing RequestHeader objects representing the request headers
77
85
  """
78
86
  return self._request('get', url, request_headers)
79
87
 
80
- def delete(self, url, request_headers):
88
+ def delete(self, url: URI, request_headers: Sequence[RequestHeader]) -> Response:
81
89
  """Perform a request to the server given by url
82
90
 
83
91
  :param url: the url to the server, given as a parsed url
84
- :param request_headers: a list containing RequestHeader objects
85
- representing the request headers
92
+ :param request_headers: a sequence containing RequestHeader objects representing the request headers
86
93
  """
87
94
  return self._request('delete', url, request_headers)
88
95
 
89
- def post(self, url, request_headers, body):
96
+ def post(self, url: URI, request_headers: Sequence[RequestHeader], body: RequestBody) -> Response:
90
97
  """Perform a request to the server given by url
91
98
 
92
99
  :param url: the url to the server, given as a parsed url
93
- :param request_headers: a list containing RequestHeader objects
94
- representing the request headers
100
+ :param request_headers: a sequence containing RequestHeader objects representing the request headers
95
101
  :param body: the request body
96
102
  """
97
103
  if isinstance(body, MultipartFormDataObject):
98
104
  body = self.__to_multipart_encoder(body)
99
105
  return self._request('post', url, request_headers, body)
100
106
 
101
- def put(self, url, request_headers, body):
107
+ def put(self, url: URI, request_headers: Sequence[RequestHeader], body: RequestBody) -> Response:
102
108
  """Perform a request to the server given by url
103
109
 
104
110
  :param url: the url to the server, given as a parsed url
105
- :param request_headers: a list containing RequestHeader objects
106
- representing the request headers
111
+ :param request_headers: a sequence containing RequestHeader objects representing the request headers
107
112
  :param body: the request body
108
113
  """
114
+ if isinstance(body, MultipartFormDataObject):
115
+ body = self.__to_multipart_encoder(body)
109
116
  return self._request('put', url, request_headers, body)
110
-
111
- def __to_multipart_encoder(self, multipart):
117
+
118
+ @staticmethod
119
+ def __to_multipart_encoder(multipart: MultipartFormDataObject) -> MultipartEncoder:
112
120
  fields = {}
113
- for name, value in multipart.values.iteritems():
121
+ for name, value in multipart.values.items():
114
122
  fields[name] = value
115
- for name, uploadable_file in multipart.files.iteritems():
123
+ for name, uploadable_file in multipart.files.items():
116
124
  fields[name] = (uploadable_file.file_name, uploadable_file.content, uploadable_file.content_type)
117
- encoder = MultipartEncoder(fields=fields, boundary=multipart.boundary)
125
+ encoder = MultipartEncoder(fields=fields,
126
+ boundary=multipart.boundary)
118
127
  if encoder.content_type != multipart.content_type:
119
128
  raise ValueError("MultipartEncoder did not create the expected content type")
120
129
  return encoder
121
130
 
122
- class _ToResult:
131
+ class _ToResult(object):
123
132
  def __call__(self, func):
124
133
  def _wrapper(*args, **kwargs):
125
134
  result = func(*args, **kwargs)
126
135
  header = next(result)
127
136
  return header + (result,)
128
-
129
137
  return _wrapper
130
138
 
131
139
  @_ToResult()
132
- def _request(self, method, url, headers, body=None):
140
+ def _request(self, method: str, url: URI, headers: Sequence[RequestHeader], body: RequestBody = None) -> Response:
133
141
  """
134
142
  Perform a request to the server given by url
135
143
 
136
144
  :param url: the url to the server, given as a parsed url
137
- :param headers: a list containing RequestHeader objects representing
138
- the request headers
145
+ :param headers: a sequence containing RequestHeader objects representing the request headers
139
146
  :param body: the request body
140
147
  """
141
148
  headers = {} if not headers else headers
142
149
  if not isinstance(url, str):
143
150
  url = url.geturl()
144
151
 
145
- # convert the list of RequestParam objects to a dictionary of key:value
146
- # pairs if necessary
152
+ # convert the sequence of RequestParam objects to a dictionary of key:value pairs if necessary
147
153
  if headers and not isinstance(headers, dict):
148
154
  headers = {param.name: param.value for param in headers}
149
155
 
150
- # generate random uuid for traceability
151
- _id = str(uuid.uuid4())
152
-
153
- # set X-Request-Id for better traceability
154
- headers['X-Request-Id'] = _id;
155
-
156
- # send request with all parameters not declared in session and with
157
- # callback for logging response
158
- request = requests.Request(method, url, headers=headers, data=body,
156
+ # send request with all parameters not declared in session and with callback for logging response
157
+ request = requests.Request(method, url,
158
+ headers=headers,
159
+ data=body,
159
160
  hooks={'response': self._cb_log_response})
160
161
  prepped_request = self.__requests_session.prepare_request(request)
161
162
  # add timestamp to request for later reference
162
163
  prepped_request.timestamp = datetime.now()
163
- # store random id in request so it can be matched with its response
164
- # in logging
164
+ _id = str(uuid.uuid4())
165
+ # store random id in request so it can be matched with its response in logging
165
166
  prepped_request.id = _id
166
167
  self._log_request(prepped_request)
167
168
  try:
@@ -183,11 +184,11 @@ class DefaultConnection(PooledConnection):
183
184
  except RequestException as exception:
184
185
  self._log_error(prepped_request.id, exception, prepped_request.timestamp)
185
186
  raise CommunicationException(exception)
186
- except RuntimeError as exception:
187
+ except Exception as exception:
187
188
  self._log_error(prepped_request.id, exception, prepped_request.timestamp)
188
189
  raise
189
190
 
190
- def _log_request(self, request):
191
+ def _log_request(self, request: PreparedRequest) -> None:
191
192
  """
192
193
  Log parameter request if logging is enabled at the moment of logging.
193
194
  Also adds a timestamp to the request for response logging
@@ -202,7 +203,11 @@ class DefaultConnection(PooledConnection):
202
203
  else:
203
204
  local_path = url.path
204
205
  try:
205
- message = RequestLogMessage(request.id, method, local_path)
206
+ message = RequestLogMessage(request_id=request.id,
207
+ method=method,
208
+ uri=local_path,
209
+ body_obfuscator=self.__body_obfuscator,
210
+ header_obfuscator=self.__header_obfuscator)
206
211
  for name in request.headers:
207
212
  message.add_header(name, request.headers[name])
208
213
  body = request.body
@@ -214,10 +219,9 @@ class DefaultConnection(PooledConnection):
214
219
  message.set_body(body, content)
215
220
  logger.log_request(message)
216
221
  except Exception as exception:
217
- logger.log("An error occurred trying to log request '{}'".format(
218
- request.id), exception)
222
+ logger.log("An error occurred trying to log request '{}'".format(request.id), exception)
219
223
 
220
- def _cb_log_response(self, response, **kwargs):
224
+ def _cb_log_response(self, response: requests.models.Response, **kwargs) -> None:
221
225
  """Log parameter response if logging is enabled at the moment of logging"""
222
226
  logger = self.logger
223
227
  if logger is None:
@@ -227,43 +231,61 @@ class DefaultConnection(PooledConnection):
227
231
  duration = math.ceil((datetime.now() - request.timestamp).total_seconds() * 1000)
228
232
  status_code = response.status_code
229
233
  try:
230
- message = ResponseLogMessage(_id, status_code, duration)
234
+ message = ResponseLogMessage(request_id=_id,
235
+ status_code=status_code,
236
+ duration=duration,
237
+ body_obfuscator=self.__body_obfuscator,
238
+ header_obfuscator=self.__header_obfuscator)
231
239
  for name in response.headers:
232
240
  message.add_header(name, response.headers[name])
233
- # The response is always encoded UTF8
234
- # When this is not specified anywhere, the response body will be encoded in the wrong way
235
- response.encoding = 'utf8'
236
- body = response.text
241
+ if self.__is_binary(response.headers):
242
+ body = "<binary content>"
243
+ else:
244
+ # The response is always encoded UTF8
245
+ # When this is not specified anywhere, the response body will be encoded in the wrong way
246
+ response.encoding = 'utf8'
247
+ body = response.text
237
248
  if body:
238
249
  content = response.headers['Content-Type']
239
250
  message.set_body(body, content)
240
251
  logger.log_response(message)
241
252
  except Exception as exception:
242
- message = "An error occurred trying to log response '{}'".format(_id)
243
- logger.log(message, exception)
253
+ logger.log("An error occurred trying to log response '{}'".format(_id), exception)
244
254
 
245
- def _log_error(self, request_id, error, start_time):
255
+ def _log_error(self, request_id: str, error: Exception, start_time: datetime) -> None:
246
256
  """Log communication errors when logging is enabled"""
247
257
  logger = self.logger
248
258
  if logger:
249
259
  duration = math.ceil((datetime.now() - start_time).total_seconds() * 1000)
250
- logger.log(
251
- "Error occurred for outgoing request (requestId='{}', {} s)".format(
252
- request_id, duration), error)
260
+ logger.log("Error occurred for outgoing request (requestId='{}', {} s)".format(request_id, duration), error)
261
+
262
+ @staticmethod
263
+ def __is_binary(headers: Mapping[str, str]) -> bool:
264
+ content_type = get_header_value(headers, "Content-Type")
265
+ if content_type is None:
266
+ return False
267
+ content_type = content_type.lower()
268
+ return not (content_type.startswith("text/") or "json" in content_type or "xml" in content_type)
269
+
270
+ def set_body_obfuscator(self, body_obfuscator: BodyObfuscator) -> None:
271
+ self.__body_obfuscator = body_obfuscator
272
+
273
+ def set_header_obfuscator(self, header_obfuscator: HeaderObfuscator) -> None:
274
+ self.__header_obfuscator = header_obfuscator
253
275
 
254
- def enable_logging(self, communicator_logger):
276
+ def enable_logging(self, communicator_logger: CommunicatorLogger) -> None:
255
277
  self.logger = communicator_logger
256
278
 
257
- def disable_logging(self):
279
+ def disable_logging(self) -> None:
258
280
  self.logger = None
259
281
 
260
- def close_idle_connections(self, idle_time):
282
+ def close_idle_connections(self, idle_time: timedelta) -> None:
261
283
  """
262
284
  :param idle_time: a datetime.timedelta object indicating the idle time
263
285
  """
264
286
  pass
265
287
 
266
- def close_expired_connections(self):
288
+ def close_expired_connections(self) -> None:
267
289
  pass
268
290
 
269
291
  def __enter__(self):
@@ -272,7 +294,7 @@ class DefaultConnection(PooledConnection):
272
294
  def __exit__(self, exc_type, exc_val, exc_tb):
273
295
  self.close()
274
296
 
275
- def close(self):
297
+ def close(self) -> None:
276
298
  """
277
299
  Explicitly closes the connection
278
300
  """
@@ -0,0 +1,19 @@
1
+ from abc import ABC, abstractmethod
2
+ from typing import Sequence
3
+
4
+ from onlinepayments.sdk.communication.request_header import RequestHeader
5
+
6
+
7
+ class IMetadataProvider(ABC):
8
+ """
9
+ Provides meta info about the server.
10
+ """
11
+
12
+ @property
13
+ @abstractmethod
14
+ def metadata_headers(self) -> Sequence[RequestHeader]:
15
+ """
16
+ :return: The server related headers containing the metadata to be
17
+ associated with the request (if any). This will always contain at least
18
+ an automatically generated header X-GCS-ServerMetaInfo.
19
+ """