onlinepayments-sdk-python3 7.4.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. onlinepayments/__init__.py +0 -0
  2. onlinepayments/sdk/__init__.py +4 -0
  3. onlinepayments/sdk/api_exception.py +60 -0
  4. onlinepayments/sdk/api_resource.py +57 -0
  5. onlinepayments/sdk/authentication/__init__.py +0 -0
  6. onlinepayments/sdk/authentication/authenticator.py +24 -0
  7. onlinepayments/sdk/authentication/authorization_type.py +10 -0
  8. onlinepayments/sdk/authentication/v1hmac_authenticator.py +122 -0
  9. onlinepayments/sdk/authorization_exception.py +19 -0
  10. onlinepayments/sdk/call_context.py +72 -0
  11. onlinepayments/sdk/client.py +107 -0
  12. onlinepayments/sdk/communication/__init__.py +0 -0
  13. onlinepayments/sdk/communication/communication_exception.py +8 -0
  14. onlinepayments/sdk/communication/connection.py +84 -0
  15. onlinepayments/sdk/communication/default_connection.py +313 -0
  16. onlinepayments/sdk/communication/i_metadata_provider.py +19 -0
  17. onlinepayments/sdk/communication/metadata_provider.py +132 -0
  18. onlinepayments/sdk/communication/multipart_form_data_object.py +51 -0
  19. onlinepayments/sdk/communication/multipart_form_data_request.py +16 -0
  20. onlinepayments/sdk/communication/not_found_exception.py +10 -0
  21. onlinepayments/sdk/communication/param_request.py +17 -0
  22. onlinepayments/sdk/communication/pooled_connection.py +29 -0
  23. onlinepayments/sdk/communication/request_header.py +60 -0
  24. onlinepayments/sdk/communication/request_param.py +30 -0
  25. onlinepayments/sdk/communication/response_exception.py +58 -0
  26. onlinepayments/sdk/communication/response_header.py +50 -0
  27. onlinepayments/sdk/communicator.py +465 -0
  28. onlinepayments/sdk/communicator_configuration.py +264 -0
  29. onlinepayments/sdk/declined_payment_exception.py +46 -0
  30. onlinepayments/sdk/declined_payout_exception.py +46 -0
  31. onlinepayments/sdk/declined_refund_exception.py +46 -0
  32. onlinepayments/sdk/declined_transaction_exception.py +22 -0
  33. onlinepayments/sdk/domain/__init__.py +4 -0
  34. onlinepayments/sdk/domain/acceptance.py +56 -0
  35. onlinepayments/sdk/domain/account_on_file.py +102 -0
  36. onlinepayments/sdk/domain/account_on_file_attribute.py +97 -0
  37. onlinepayments/sdk/domain/account_on_file_display_hints.py +64 -0
  38. onlinepayments/sdk/domain/acquirer_information.py +59 -0
  39. onlinepayments/sdk/domain/acquirer_selection_information.py +73 -0
  40. onlinepayments/sdk/domain/additional_order_input.py +107 -0
  41. onlinepayments/sdk/domain/address.py +145 -0
  42. onlinepayments/sdk/domain/address_personal.py +185 -0
  43. onlinepayments/sdk/domain/airline_data.py +519 -0
  44. onlinepayments/sdk/domain/airline_flight_leg.py +386 -0
  45. onlinepayments/sdk/domain/airline_passenger.py +129 -0
  46. onlinepayments/sdk/domain/amount_breakdown.py +63 -0
  47. onlinepayments/sdk/domain/amount_of_money.py +59 -0
  48. onlinepayments/sdk/domain/api_error.py +177 -0
  49. onlinepayments/sdk/domain/apple_pay_line_item.py +145 -0
  50. onlinepayments/sdk/domain/apple_pay_recurring_payment_request.py +116 -0
  51. onlinepayments/sdk/domain/bank_account_iban.py +37 -0
  52. onlinepayments/sdk/domain/batch_metadata.py +73 -0
  53. onlinepayments/sdk/domain/browser_data.py +130 -0
  54. onlinepayments/sdk/domain/calculate_surcharge_request.py +63 -0
  55. onlinepayments/sdk/domain/calculate_surcharge_response.py +44 -0
  56. onlinepayments/sdk/domain/cancel_payment_batch_request.py +57 -0
  57. onlinepayments/sdk/domain/cancel_payment_request.py +130 -0
  58. onlinepayments/sdk/domain/cancel_payment_response.py +41 -0
  59. onlinepayments/sdk/domain/capture.py +97 -0
  60. onlinepayments/sdk/domain/capture_output.py +272 -0
  61. onlinepayments/sdk/domain/capture_payment_batch_request.py +57 -0
  62. onlinepayments/sdk/domain/capture_payment_request.py +148 -0
  63. onlinepayments/sdk/domain/capture_response.py +99 -0
  64. onlinepayments/sdk/domain/capture_status_output.py +37 -0
  65. onlinepayments/sdk/domain/captures_response.py +46 -0
  66. onlinepayments/sdk/domain/card.py +91 -0
  67. onlinepayments/sdk/domain/card_bin_details.py +384 -0
  68. onlinepayments/sdk/domain/card_data_without_cvv.py +73 -0
  69. onlinepayments/sdk/domain/card_essentials.py +438 -0
  70. onlinepayments/sdk/domain/card_fraud_results.py +112 -0
  71. onlinepayments/sdk/domain/card_info.py +55 -0
  72. onlinepayments/sdk/domain/card_payment_method_specific_input.py +608 -0
  73. onlinepayments/sdk/domain/card_payment_method_specific_input_base.py +441 -0
  74. onlinepayments/sdk/domain/card_payment_method_specific_input_for_hosted_checkout.py +105 -0
  75. onlinepayments/sdk/domain/card_payment_method_specific_output.py +467 -0
  76. onlinepayments/sdk/domain/card_payout_method_specific_input.py +99 -0
  77. onlinepayments/sdk/domain/card_recurrence_details.py +40 -0
  78. onlinepayments/sdk/domain/card_source.py +95 -0
  79. onlinepayments/sdk/domain/card_without_cvv.py +73 -0
  80. onlinepayments/sdk/domain/click_to_pay.py +37 -0
  81. onlinepayments/sdk/domain/company_information.py +37 -0
  82. onlinepayments/sdk/domain/complete_payment_card_payment_method_specific_input.py +39 -0
  83. onlinepayments/sdk/domain/complete_payment_request.py +61 -0
  84. onlinepayments/sdk/domain/complete_payment_response.py +85 -0
  85. onlinepayments/sdk/domain/contact_details.py +109 -0
  86. onlinepayments/sdk/domain/create_certificate_response.py +55 -0
  87. onlinepayments/sdk/domain/create_hosted_checkout_request.py +195 -0
  88. onlinepayments/sdk/domain/create_hosted_checkout_response.py +132 -0
  89. onlinepayments/sdk/domain/create_hosted_fields_session_request.py +37 -0
  90. onlinepayments/sdk/domain/create_hosted_fields_session_response.py +102 -0
  91. onlinepayments/sdk/domain/create_hosted_tokenization_request.py +133 -0
  92. onlinepayments/sdk/domain/create_hosted_tokenization_response.py +127 -0
  93. onlinepayments/sdk/domain/create_mandate_request.py +187 -0
  94. onlinepayments/sdk/domain/create_mandate_response.py +63 -0
  95. onlinepayments/sdk/domain/create_mandate_with_return_url.py +187 -0
  96. onlinepayments/sdk/domain/create_payment_link_request.py +344 -0
  97. onlinepayments/sdk/domain/create_payment_request.py +249 -0
  98. onlinepayments/sdk/domain/create_payment_response.py +85 -0
  99. onlinepayments/sdk/domain/create_payout_request.py +176 -0
  100. onlinepayments/sdk/domain/create_token_request.py +77 -0
  101. onlinepayments/sdk/domain/created_payment_output.py +57 -0
  102. onlinepayments/sdk/domain/created_token_response.py +142 -0
  103. onlinepayments/sdk/domain/credit_card_specific_input_hosted_tokenization.py +66 -0
  104. onlinepayments/sdk/domain/credit_card_validation_rules.py +55 -0
  105. onlinepayments/sdk/domain/credit_card_validation_rules_hosted_tokenization.py +55 -0
  106. onlinepayments/sdk/domain/crm_token.py +55 -0
  107. onlinepayments/sdk/domain/csr_request.py +37 -0
  108. onlinepayments/sdk/domain/currency_conversion.py +59 -0
  109. onlinepayments/sdk/domain/currency_conversion_input.py +55 -0
  110. onlinepayments/sdk/domain/currency_conversion_request.py +59 -0
  111. onlinepayments/sdk/domain/currency_conversion_response.py +81 -0
  112. onlinepayments/sdk/domain/currency_conversion_result.py +61 -0
  113. onlinepayments/sdk/domain/currency_conversion_specific_input.py +40 -0
  114. onlinepayments/sdk/domain/customer.py +234 -0
  115. onlinepayments/sdk/domain/customer_account.py +204 -0
  116. onlinepayments/sdk/domain/customer_account_authentication.py +81 -0
  117. onlinepayments/sdk/domain/customer_bank_account.py +73 -0
  118. onlinepayments/sdk/domain/customer_device.py +155 -0
  119. onlinepayments/sdk/domain/customer_device_output.py +37 -0
  120. onlinepayments/sdk/domain/customer_output.py +41 -0
  121. onlinepayments/sdk/domain/customer_payment_activity.py +73 -0
  122. onlinepayments/sdk/domain/customer_token.py +83 -0
  123. onlinepayments/sdk/domain/data_object.py +47 -0
  124. onlinepayments/sdk/domain/dcc_card_source.py +93 -0
  125. onlinepayments/sdk/domain/dcc_proposal.py +118 -0
  126. onlinepayments/sdk/domain/decrypted_payment_data.py +120 -0
  127. onlinepayments/sdk/domain/detokenization_response.py +46 -0
  128. onlinepayments/sdk/domain/detokenized_token_response.py +145 -0
  129. onlinepayments/sdk/domain/directory_entry.py +73 -0
  130. onlinepayments/sdk/domain/discount.py +41 -0
  131. onlinepayments/sdk/domain/empty_validator.py +16 -0
  132. onlinepayments/sdk/domain/error_response.py +64 -0
  133. onlinepayments/sdk/domain/external_cardholder_authentication_data.py +216 -0
  134. onlinepayments/sdk/domain/external_token_linked.py +75 -0
  135. onlinepayments/sdk/domain/feedbacks.py +64 -0
  136. onlinepayments/sdk/domain/fixed_list_validator.py +42 -0
  137. onlinepayments/sdk/domain/fraud_fields.py +84 -0
  138. onlinepayments/sdk/domain/fraud_results.py +43 -0
  139. onlinepayments/sdk/domain/g_pay_three_d_secure.py +159 -0
  140. onlinepayments/sdk/domain/get_batch_status_response.py +91 -0
  141. onlinepayments/sdk/domain/get_hosted_checkout_response.py +63 -0
  142. onlinepayments/sdk/domain/get_hosted_tokenization_response.py +61 -0
  143. onlinepayments/sdk/domain/get_iin_details_request.py +57 -0
  144. onlinepayments/sdk/domain/get_iin_details_response.py +450 -0
  145. onlinepayments/sdk/domain/get_mandate_response.py +41 -0
  146. onlinepayments/sdk/domain/get_payment_product_groups_response.py +44 -0
  147. onlinepayments/sdk/domain/get_payment_products_response.py +44 -0
  148. onlinepayments/sdk/domain/get_privacy_policy_response.py +37 -0
  149. onlinepayments/sdk/domain/gift_card_purchase.py +59 -0
  150. onlinepayments/sdk/domain/hosted_checkout_specific_input.py +250 -0
  151. onlinepayments/sdk/domain/hosted_checkout_specific_output.py +55 -0
  152. onlinepayments/sdk/domain/iin_detail.py +423 -0
  153. onlinepayments/sdk/domain/import_cof_series_request.py +113 -0
  154. onlinepayments/sdk/domain/import_cof_series_response.py +37 -0
  155. onlinepayments/sdk/domain/label_template_element.py +55 -0
  156. onlinepayments/sdk/domain/length_validator.py +51 -0
  157. onlinepayments/sdk/domain/line_item.py +107 -0
  158. onlinepayments/sdk/domain/line_item_detail.py +99 -0
  159. onlinepayments/sdk/domain/line_item_invoice_data.py +37 -0
  160. onlinepayments/sdk/domain/loan_recipient.py +109 -0
  161. onlinepayments/sdk/domain/lodging_data.py +37 -0
  162. onlinepayments/sdk/domain/mandate_address.py +109 -0
  163. onlinepayments/sdk/domain/mandate_address_response.py +109 -0
  164. onlinepayments/sdk/domain/mandate_contact_details.py +37 -0
  165. onlinepayments/sdk/domain/mandate_customer.py +125 -0
  166. onlinepayments/sdk/domain/mandate_customer_response.py +125 -0
  167. onlinepayments/sdk/domain/mandate_merchant_action.py +61 -0
  168. onlinepayments/sdk/domain/mandate_personal_information.py +59 -0
  169. onlinepayments/sdk/domain/mandate_personal_information_response.py +59 -0
  170. onlinepayments/sdk/domain/mandate_personal_name.py +55 -0
  171. onlinepayments/sdk/domain/mandate_personal_name_response.py +55 -0
  172. onlinepayments/sdk/domain/mandate_redirect_data.py +55 -0
  173. onlinepayments/sdk/domain/mandate_response.py +150 -0
  174. onlinepayments/sdk/domain/market_place.py +55 -0
  175. onlinepayments/sdk/domain/merchant_action.py +132 -0
  176. onlinepayments/sdk/domain/mobile_payment_data.py +55 -0
  177. onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.py +105 -0
  178. onlinepayments/sdk/domain/mobile_payment_method_specific_input.py +202 -0
  179. onlinepayments/sdk/domain/mobile_payment_method_specific_output.py +139 -0
  180. onlinepayments/sdk/domain/mobile_payment_product302_specific_input.py +103 -0
  181. onlinepayments/sdk/domain/mobile_payment_product320_specific_input.py +103 -0
  182. onlinepayments/sdk/domain/mobile_three_d_secure_challenge_parameters.py +91 -0
  183. onlinepayments/sdk/domain/multiple_payment_information.py +57 -0
  184. onlinepayments/sdk/domain/network_token_data.py +127 -0
  185. onlinepayments/sdk/domain/network_token_essentials.py +134 -0
  186. onlinepayments/sdk/domain/network_token_linked.py +80 -0
  187. onlinepayments/sdk/domain/omnichannel_payment_specific_input.py +37 -0
  188. onlinepayments/sdk/domain/omnichannel_payout_specific_input.py +55 -0
  189. onlinepayments/sdk/domain/omnichannel_refund_specific_input.py +37 -0
  190. onlinepayments/sdk/domain/omnichannel_subsequent_specific_input.py +37 -0
  191. onlinepayments/sdk/domain/operation_output.py +161 -0
  192. onlinepayments/sdk/domain/operation_payment_references.py +55 -0
  193. onlinepayments/sdk/domain/order.py +213 -0
  194. onlinepayments/sdk/domain/order_line_details.py +189 -0
  195. onlinepayments/sdk/domain/order_references.py +120 -0
  196. onlinepayments/sdk/domain/order_status_output.py +119 -0
  197. onlinepayments/sdk/domain/order_type_information.py +64 -0
  198. onlinepayments/sdk/domain/other_details.py +55 -0
  199. onlinepayments/sdk/domain/payment_account_on_file.py +57 -0
  200. onlinepayments/sdk/domain/payment_context.py +77 -0
  201. onlinepayments/sdk/domain/payment_creation_output.py +94 -0
  202. onlinepayments/sdk/domain/payment_details_response.py +148 -0
  203. onlinepayments/sdk/domain/payment_error_response.py +84 -0
  204. onlinepayments/sdk/domain/payment_link_event.py +73 -0
  205. onlinepayments/sdk/domain/payment_link_order_input.py +84 -0
  206. onlinepayments/sdk/domain/payment_link_order_output.py +81 -0
  207. onlinepayments/sdk/domain/payment_link_response.py +216 -0
  208. onlinepayments/sdk/domain/payment_link_specific_input.py +74 -0
  209. onlinepayments/sdk/domain/payment_links_response.py +44 -0
  210. onlinepayments/sdk/domain/payment_output.py +335 -0
  211. onlinepayments/sdk/domain/payment_product.py +296 -0
  212. onlinepayments/sdk/domain/payment_product130_specific_input.py +41 -0
  213. onlinepayments/sdk/domain/payment_product130_specific_three_d_secure.py +91 -0
  214. onlinepayments/sdk/domain/payment_product3012.py +55 -0
  215. onlinepayments/sdk/domain/payment_product3012_specific_input.py +100 -0
  216. onlinepayments/sdk/domain/payment_product3013_specific_input.py +73 -0
  217. onlinepayments/sdk/domain/payment_product302_specific_data.py +44 -0
  218. onlinepayments/sdk/domain/payment_product3203_specific_output.py +62 -0
  219. onlinepayments/sdk/domain/payment_product3204_specific_output.py +37 -0
  220. onlinepayments/sdk/domain/payment_product3208_specific_input.py +37 -0
  221. onlinepayments/sdk/domain/payment_product3208_specific_output.py +37 -0
  222. onlinepayments/sdk/domain/payment_product3209_specific_input.py +37 -0
  223. onlinepayments/sdk/domain/payment_product3209_specific_output.py +37 -0
  224. onlinepayments/sdk/domain/payment_product320_specific_data.py +62 -0
  225. onlinepayments/sdk/domain/payment_product350.py +55 -0
  226. onlinepayments/sdk/domain/payment_product5001.py +58 -0
  227. onlinepayments/sdk/domain/payment_product5001_specific_output.py +112 -0
  228. onlinepayments/sdk/domain/payment_product5100_specific_input.py +37 -0
  229. onlinepayments/sdk/domain/payment_product5402_specific_output.py +37 -0
  230. onlinepayments/sdk/domain/payment_product5404.py +55 -0
  231. onlinepayments/sdk/domain/payment_product5407.py +55 -0
  232. onlinepayments/sdk/domain/payment_product5500_specific_output.py +91 -0
  233. onlinepayments/sdk/domain/payment_product771_specific_output.py +37 -0
  234. onlinepayments/sdk/domain/payment_product840.py +37 -0
  235. onlinepayments/sdk/domain/payment_product840_customer_account.py +170 -0
  236. onlinepayments/sdk/domain/payment_product840_specific_output.py +167 -0
  237. onlinepayments/sdk/domain/payment_product_display_hints.py +73 -0
  238. onlinepayments/sdk/domain/payment_product_field.py +95 -0
  239. onlinepayments/sdk/domain/payment_product_field_data_restrictions.py +60 -0
  240. onlinepayments/sdk/domain/payment_product_field_display_element.py +97 -0
  241. onlinepayments/sdk/domain/payment_product_field_display_hints.py +218 -0
  242. onlinepayments/sdk/domain/payment_product_field_form_element.py +72 -0
  243. onlinepayments/sdk/domain/payment_product_field_tooltip.py +57 -0
  244. onlinepayments/sdk/domain/payment_product_field_validators.py +195 -0
  245. onlinepayments/sdk/domain/payment_product_filter.py +67 -0
  246. onlinepayments/sdk/domain/payment_product_filter_hosted_tokenization.py +42 -0
  247. onlinepayments/sdk/domain/payment_product_filters_hosted_checkout.py +62 -0
  248. onlinepayments/sdk/domain/payment_product_filters_hosted_tokenization.py +62 -0
  249. onlinepayments/sdk/domain/payment_product_group.py +103 -0
  250. onlinepayments/sdk/domain/payment_product_networks_response.py +42 -0
  251. onlinepayments/sdk/domain/payment_references.py +73 -0
  252. onlinepayments/sdk/domain/payment_response.py +143 -0
  253. onlinepayments/sdk/domain/payment_status_output.py +152 -0
  254. onlinepayments/sdk/domain/payout_error_response.py +80 -0
  255. onlinepayments/sdk/domain/payout_output.py +63 -0
  256. onlinepayments/sdk/domain/payout_response.py +93 -0
  257. onlinepayments/sdk/domain/payout_result.py +93 -0
  258. onlinepayments/sdk/domain/payout_status_output.py +76 -0
  259. onlinepayments/sdk/domain/pending_authentication.py +37 -0
  260. onlinepayments/sdk/domain/personal_information.py +77 -0
  261. onlinepayments/sdk/domain/personal_information_token.py +39 -0
  262. onlinepayments/sdk/domain/personal_name.py +73 -0
  263. onlinepayments/sdk/domain/personal_name_token.py +51 -0
  264. onlinepayments/sdk/domain/product302_recurring.py +37 -0
  265. onlinepayments/sdk/domain/product320_recurring.py +37 -0
  266. onlinepayments/sdk/domain/product_directory.py +46 -0
  267. onlinepayments/sdk/domain/protection_eligibility.py +59 -0
  268. onlinepayments/sdk/domain/range_validator.py +51 -0
  269. onlinepayments/sdk/domain/rate_details.py +109 -0
  270. onlinepayments/sdk/domain/reattempt_instructions.py +82 -0
  271. onlinepayments/sdk/domain/reattempt_instructions_conditions.py +55 -0
  272. onlinepayments/sdk/domain/redirect_data.py +55 -0
  273. onlinepayments/sdk/domain/redirect_payment_method_specific_input.py +575 -0
  274. onlinepayments/sdk/domain/redirect_payment_method_specific_output.py +267 -0
  275. onlinepayments/sdk/domain/redirect_payment_product11_specific_input.py +38 -0
  276. onlinepayments/sdk/domain/redirect_payment_product3103_specific_input.py +40 -0
  277. onlinepayments/sdk/domain/redirect_payment_product3112_specific_input.py +40 -0
  278. onlinepayments/sdk/domain/redirect_payment_product3116_specific_input.py +40 -0
  279. onlinepayments/sdk/domain/redirect_payment_product3203_specific_input.py +40 -0
  280. onlinepayments/sdk/domain/redirect_payment_product3204_specific_input.py +55 -0
  281. onlinepayments/sdk/domain/redirect_payment_product3302_specific_input.py +73 -0
  282. onlinepayments/sdk/domain/redirect_payment_product3306_specific_input.py +37 -0
  283. onlinepayments/sdk/domain/redirect_payment_product3307_specific_input.py +16 -0
  284. onlinepayments/sdk/domain/redirect_payment_product5001_specific_input.py +62 -0
  285. onlinepayments/sdk/domain/redirect_payment_product5300_specific_input.py +163 -0
  286. onlinepayments/sdk/domain/redirect_payment_product5402_specific_input.py +40 -0
  287. onlinepayments/sdk/domain/redirect_payment_product5403_specific_input.py +40 -0
  288. onlinepayments/sdk/domain/redirect_payment_product5406_specific_input.py +41 -0
  289. onlinepayments/sdk/domain/redirect_payment_product5408_specific_input.py +60 -0
  290. onlinepayments/sdk/domain/redirect_payment_product5410_specific_input.py +38 -0
  291. onlinepayments/sdk/domain/redirect_payment_product5412_specific_input.py +55 -0
  292. onlinepayments/sdk/domain/redirect_payment_product5601_specific_input.py +40 -0
  293. onlinepayments/sdk/domain/redirect_payment_product809_specific_input.py +40 -0
  294. onlinepayments/sdk/domain/redirect_payment_product840_specific_input.py +100 -0
  295. onlinepayments/sdk/domain/redirection_data.py +37 -0
  296. onlinepayments/sdk/domain/refund_card_method_specific_output.py +71 -0
  297. onlinepayments/sdk/domain/refund_e_wallet_method_specific_output.py +71 -0
  298. onlinepayments/sdk/domain/refund_error_response.py +82 -0
  299. onlinepayments/sdk/domain/refund_mobile_method_specific_output.py +69 -0
  300. onlinepayments/sdk/domain/refund_output.py +217 -0
  301. onlinepayments/sdk/domain/refund_payment_batch_request.py +57 -0
  302. onlinepayments/sdk/domain/refund_payment_product840_customer_account.py +69 -0
  303. onlinepayments/sdk/domain/refund_payment_product840_specific_output.py +39 -0
  304. onlinepayments/sdk/domain/refund_redirect_method_specific_output.py +51 -0
  305. onlinepayments/sdk/domain/refund_redirect_payment_method_specific_input.py +41 -0
  306. onlinepayments/sdk/domain/refund_redirect_payment_product900_specific_input.py +37 -0
  307. onlinepayments/sdk/domain/refund_request.py +210 -0
  308. onlinepayments/sdk/domain/refund_response.py +97 -0
  309. onlinepayments/sdk/domain/refunds_response.py +46 -0
  310. onlinepayments/sdk/domain/regular_expression_validator.py +35 -0
  311. onlinepayments/sdk/domain/revoke_mandate_request.py +48 -0
  312. onlinepayments/sdk/domain/send_test_request.py +37 -0
  313. onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input.py +59 -0
  314. onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input_base.py +59 -0
  315. onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_output.py +81 -0
  316. onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input.py +59 -0
  317. onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input_base.py +59 -0
  318. onlinepayments/sdk/domain/session_data.py +116 -0
  319. onlinepayments/sdk/domain/session_details.py +55 -0
  320. onlinepayments/sdk/domain/session_request.py +44 -0
  321. onlinepayments/sdk/domain/session_response.py +114 -0
  322. onlinepayments/sdk/domain/shipping.py +214 -0
  323. onlinepayments/sdk/domain/shipping_detail.py +63 -0
  324. onlinepayments/sdk/domain/shipping_method.py +91 -0
  325. onlinepayments/sdk/domain/shopping_cart.py +155 -0
  326. onlinepayments/sdk/domain/shopping_cart_extension.py +77 -0
  327. onlinepayments/sdk/domain/shopping_cart_output.py +46 -0
  328. onlinepayments/sdk/domain/show_form_data.py +173 -0
  329. onlinepayments/sdk/domain/show_instructions_data.py +37 -0
  330. onlinepayments/sdk/domain/split_payment_product_filter.py +42 -0
  331. onlinepayments/sdk/domain/split_payment_product_filters_hosted_checkout.py +62 -0
  332. onlinepayments/sdk/domain/submit_batch_request_body.py +230 -0
  333. onlinepayments/sdk/domain/submit_batch_response.py +55 -0
  334. onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.py +175 -0
  335. onlinepayments/sdk/domain/subsequent_payment_batch_request.py +57 -0
  336. onlinepayments/sdk/domain/subsequent_payment_product5001_specific_input.py +41 -0
  337. onlinepayments/sdk/domain/subsequent_payment_request.py +107 -0
  338. onlinepayments/sdk/domain/subsequent_payment_response.py +41 -0
  339. onlinepayments/sdk/domain/surcharge.py +141 -0
  340. onlinepayments/sdk/domain/surcharge_calculation_card.py +55 -0
  341. onlinepayments/sdk/domain/surcharge_for_payment_link.py +40 -0
  342. onlinepayments/sdk/domain/surcharge_rate.py +91 -0
  343. onlinepayments/sdk/domain/surcharge_specific_input.py +62 -0
  344. onlinepayments/sdk/domain/surcharge_specific_output.py +84 -0
  345. onlinepayments/sdk/domain/test_connection.py +35 -0
  346. onlinepayments/sdk/domain/three_d_secure.py +281 -0
  347. onlinepayments/sdk/domain/three_d_secure_base.py +219 -0
  348. onlinepayments/sdk/domain/three_d_secure_data.py +78 -0
  349. onlinepayments/sdk/domain/three_d_secure_results.py +266 -0
  350. onlinepayments/sdk/domain/token_card.py +57 -0
  351. onlinepayments/sdk/domain/token_card_data.py +83 -0
  352. onlinepayments/sdk/domain/token_card_specific_input.py +41 -0
  353. onlinepayments/sdk/domain/token_data.py +63 -0
  354. onlinepayments/sdk/domain/token_e_wallet.py +59 -0
  355. onlinepayments/sdk/domain/token_response.py +181 -0
  356. onlinepayments/sdk/domain/transaction.py +41 -0
  357. onlinepayments/sdk/domain/uploadable_file.py +51 -0
  358. onlinepayments/sdk/domain/validate_credentials_request.py +55 -0
  359. onlinepayments/sdk/domain/validate_credentials_response.py +37 -0
  360. onlinepayments/sdk/domain/value_mapping_element.py +62 -0
  361. onlinepayments/sdk/domain/web_hooks_event.py +214 -0
  362. onlinepayments/sdk/exception_factory.py +75 -0
  363. onlinepayments/sdk/factory.py +127 -0
  364. onlinepayments/sdk/i_client.py +78 -0
  365. onlinepayments/sdk/i_communicator.py +180 -0
  366. onlinepayments/sdk/idempotence_exception.py +36 -0
  367. onlinepayments/sdk/json/__init__.py +0 -0
  368. onlinepayments/sdk/json/default_marshaller.py +60 -0
  369. onlinepayments/sdk/json/marshaller.py +32 -0
  370. onlinepayments/sdk/json/marshaller_syntax_exception.py +13 -0
  371. onlinepayments/sdk/log/__init__.py +0 -0
  372. onlinepayments/sdk/log/body_obfuscator.py +113 -0
  373. onlinepayments/sdk/log/communicator_logger.py +35 -0
  374. onlinepayments/sdk/log/header_obfuscator.py +49 -0
  375. onlinepayments/sdk/log/log_message.py +94 -0
  376. onlinepayments/sdk/log/logging_capable.py +26 -0
  377. onlinepayments/sdk/log/obfuscation_capable.py +24 -0
  378. onlinepayments/sdk/log/obfuscation_rule.py +50 -0
  379. onlinepayments/sdk/log/python_communicator_logger.py +54 -0
  380. onlinepayments/sdk/log/request_log_message.py +28 -0
  381. onlinepayments/sdk/log/response_log_message.py +37 -0
  382. onlinepayments/sdk/log/sys_out_communicator_logger.py +36 -0
  383. onlinepayments/sdk/merchant/__init__.py +4 -0
  384. onlinepayments/sdk/merchant/captures/__init__.py +4 -0
  385. onlinepayments/sdk/merchant/captures/captures_client.py +63 -0
  386. onlinepayments/sdk/merchant/captures/i_captures_client.py +34 -0
  387. onlinepayments/sdk/merchant/cofseries/__init__.py +4 -0
  388. onlinepayments/sdk/merchant/cofseries/cof_series_client.py +62 -0
  389. onlinepayments/sdk/merchant/cofseries/i_cof_series_client.py +35 -0
  390. onlinepayments/sdk/merchant/complete/__init__.py +4 -0
  391. onlinepayments/sdk/merchant/complete/complete_client.py +67 -0
  392. onlinepayments/sdk/merchant/complete/i_complete_client.py +37 -0
  393. onlinepayments/sdk/merchant/hostedcheckout/__init__.py +4 -0
  394. onlinepayments/sdk/merchant/hostedcheckout/hosted_checkout_client.py +99 -0
  395. onlinepayments/sdk/merchant/hostedcheckout/i_hosted_checkout_client.py +55 -0
  396. onlinepayments/sdk/merchant/hostedfields/__init__.py +4 -0
  397. onlinepayments/sdk/merchant/hostedfields/hosted_fields_client.py +62 -0
  398. onlinepayments/sdk/merchant/hostedfields/i_hosted_fields_client.py +35 -0
  399. onlinepayments/sdk/merchant/hostedtokenization/__init__.py +4 -0
  400. onlinepayments/sdk/merchant/hostedtokenization/hosted_tokenization_client.py +99 -0
  401. onlinepayments/sdk/merchant/hostedtokenization/i_hosted_tokenization_client.py +55 -0
  402. onlinepayments/sdk/merchant/i_merchant_client.py +202 -0
  403. onlinepayments/sdk/merchant/mandates/__init__.py +4 -0
  404. onlinepayments/sdk/merchant/mandates/i_mandates_client.py +114 -0
  405. onlinepayments/sdk/merchant/mandates/mandates_client.py +212 -0
  406. onlinepayments/sdk/merchant/merchant_client.py +232 -0
  407. onlinepayments/sdk/merchant/merchantbatch/__init__.py +4 -0
  408. onlinepayments/sdk/merchant/merchantbatch/i_merchant_batch_client.py +74 -0
  409. onlinepayments/sdk/merchant/merchantbatch/merchant_batch_client.py +138 -0
  410. onlinepayments/sdk/merchant/paymentlinks/__init__.py +4 -0
  411. onlinepayments/sdk/merchant/paymentlinks/get_payment_links_in_bulk_params.py +36 -0
  412. onlinepayments/sdk/merchant/paymentlinks/i_payment_links_client.py +73 -0
  413. onlinepayments/sdk/merchant/paymentlinks/payment_links_client.py +135 -0
  414. onlinepayments/sdk/merchant/payments/__init__.py +4 -0
  415. onlinepayments/sdk/merchant/payments/i_payments_client.py +143 -0
  416. onlinepayments/sdk/merchant/payments/payments_client.py +260 -0
  417. onlinepayments/sdk/merchant/payouts/__init__.py +4 -0
  418. onlinepayments/sdk/merchant/payouts/i_payouts_client.py +55 -0
  419. onlinepayments/sdk/merchant/payouts/payouts_client.py +100 -0
  420. onlinepayments/sdk/merchant/privacypolicy/__init__.py +4 -0
  421. onlinepayments/sdk/merchant/privacypolicy/get_privacy_policy_params.py +54 -0
  422. onlinepayments/sdk/merchant/privacypolicy/i_privacy_policy_client.py +36 -0
  423. onlinepayments/sdk/merchant/privacypolicy/privacy_policy_client.py +61 -0
  424. onlinepayments/sdk/merchant/productgroups/__init__.py +4 -0
  425. onlinepayments/sdk/merchant/productgroups/get_product_group_params.py +140 -0
  426. onlinepayments/sdk/merchant/productgroups/get_product_groups_params.py +140 -0
  427. onlinepayments/sdk/merchant/productgroups/i_product_groups_client.py +58 -0
  428. onlinepayments/sdk/merchant/productgroups/product_groups_client.py +100 -0
  429. onlinepayments/sdk/merchant/products/__init__.py +4 -0
  430. onlinepayments/sdk/merchant/products/get_payment_product_networks_params.py +89 -0
  431. onlinepayments/sdk/merchant/products/get_payment_product_params.py +138 -0
  432. onlinepayments/sdk/merchant/products/get_payment_products_params.py +138 -0
  433. onlinepayments/sdk/merchant/products/get_product_directory_params.py +54 -0
  434. onlinepayments/sdk/merchant/products/i_products_client.py +102 -0
  435. onlinepayments/sdk/merchant/products/products_client.py +178 -0
  436. onlinepayments/sdk/merchant/refunds/__init__.py +4 -0
  437. onlinepayments/sdk/merchant/refunds/i_refunds_client.py +34 -0
  438. onlinepayments/sdk/merchant/refunds/refunds_client.py +63 -0
  439. onlinepayments/sdk/merchant/services/__init__.py +4 -0
  440. onlinepayments/sdk/merchant/services/i_services_client.py +96 -0
  441. onlinepayments/sdk/merchant/services/services_client.py +167 -0
  442. onlinepayments/sdk/merchant/sessions/__init__.py +4 -0
  443. onlinepayments/sdk/merchant/sessions/i_sessions_client.py +35 -0
  444. onlinepayments/sdk/merchant/sessions/sessions_client.py +62 -0
  445. onlinepayments/sdk/merchant/subsequent/__init__.py +4 -0
  446. onlinepayments/sdk/merchant/subsequent/i_subsequent_client.py +37 -0
  447. onlinepayments/sdk/merchant/subsequent/subsequent_client.py +67 -0
  448. onlinepayments/sdk/merchant/tokenization/__init__.py +4 -0
  449. onlinepayments/sdk/merchant/tokenization/get_card_data_by_payments_params.py +48 -0
  450. onlinepayments/sdk/merchant/tokenization/get_card_data_by_tokens_params.py +48 -0
  451. onlinepayments/sdk/merchant/tokenization/i_tokenization_client.py +77 -0
  452. onlinepayments/sdk/merchant/tokenization/tokenization_client.py +131 -0
  453. onlinepayments/sdk/merchant/tokens/__init__.py +4 -0
  454. onlinepayments/sdk/merchant/tokens/i_tokens_client.py +74 -0
  455. onlinepayments/sdk/merchant/tokens/tokens_client.py +135 -0
  456. onlinepayments/sdk/merchant/webhooks/__init__.py +4 -0
  457. onlinepayments/sdk/merchant/webhooks/i_webhooks_client.py +55 -0
  458. onlinepayments/sdk/merchant/webhooks/webhooks_client.py +97 -0
  459. onlinepayments/sdk/platform_exception.py +19 -0
  460. onlinepayments/sdk/proxy_configuration.py +102 -0
  461. onlinepayments/sdk/reference_exception.py +19 -0
  462. onlinepayments/sdk/validation_exception.py +19 -0
  463. onlinepayments/sdk/webhooks/__init__.py +0 -0
  464. onlinepayments/sdk/webhooks/api_version_mismatch_exception.py +24 -0
  465. onlinepayments/sdk/webhooks/in_memory_secret_key_store.py +48 -0
  466. onlinepayments/sdk/webhooks/secret_key_not_available_exception.py +18 -0
  467. onlinepayments/sdk/webhooks/secret_key_store.py +15 -0
  468. onlinepayments/sdk/webhooks/signature_validation_exception.py +17 -0
  469. onlinepayments/sdk/webhooks/signature_validator.py +56 -0
  470. onlinepayments/sdk/webhooks/webhooks_helper.py +52 -0
  471. onlinepayments_sdk_python3-7.4.1.dist-info/METADATA +154 -0
  472. onlinepayments_sdk_python3-7.4.1.dist-info/RECORD +475 -0
  473. onlinepayments_sdk_python3-7.4.1.dist-info/WHEEL +5 -0
  474. onlinepayments_sdk_python3-7.4.1.dist-info/licenses/LICENSE.txt +52 -0
  475. onlinepayments_sdk_python3-7.4.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,296 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # This file was automatically generated.
4
+ #
5
+ from typing import List, Optional
6
+
7
+ from .account_on_file import AccountOnFile
8
+ from .data_object import DataObject
9
+ from .payment_product302_specific_data import PaymentProduct302SpecificData
10
+ from .payment_product320_specific_data import PaymentProduct320SpecificData
11
+ from .payment_product_display_hints import PaymentProductDisplayHints
12
+ from .payment_product_field import PaymentProductField
13
+
14
+
15
+ class PaymentProduct(DataObject):
16
+
17
+ __accounts_on_file: Optional[List[AccountOnFile]] = None
18
+ __allows_authentication: Optional[bool] = None
19
+ __allows_recurring: Optional[bool] = None
20
+ __allows_tokenization: Optional[bool] = None
21
+ __display_hints: Optional[PaymentProductDisplayHints] = None
22
+ __display_hints_list: Optional[List[PaymentProductDisplayHints]] = None
23
+ __fields: Optional[List[PaymentProductField]] = None
24
+ __id: Optional[int] = None
25
+ __payment_method: Optional[str] = None
26
+ __payment_product302_specific_data: Optional[PaymentProduct302SpecificData] = None
27
+ __payment_product320_specific_data: Optional[PaymentProduct320SpecificData] = None
28
+ __payment_product_group: Optional[str] = None
29
+ __uses_redirection_to3rd_party: Optional[bool] = None
30
+
31
+ @property
32
+ def accounts_on_file(self) -> Optional[List[AccountOnFile]]:
33
+ """
34
+ | List of tokens for that payment product
35
+
36
+ Type: list[:class:`onlinepayments.sdk.domain.account_on_file.AccountOnFile`]
37
+ """
38
+ return self.__accounts_on_file
39
+
40
+ @accounts_on_file.setter
41
+ def accounts_on_file(self, value: Optional[List[AccountOnFile]]) -> None:
42
+ self.__accounts_on_file = value
43
+
44
+ @property
45
+ def allows_authentication(self) -> Optional[bool]:
46
+ """
47
+ | True when 3DS authentication is supported or required for the product
48
+
49
+ Type: bool
50
+ """
51
+ return self.__allows_authentication
52
+
53
+ @allows_authentication.setter
54
+ def allows_authentication(self, value: Optional[bool]) -> None:
55
+ self.__allows_authentication = value
56
+
57
+ @property
58
+ def allows_recurring(self) -> Optional[bool]:
59
+ """
60
+ | Indicates if the product supports recurring payments
61
+
62
+ * true - This payment product supports recurring payments
63
+ * false - This payment product does not support recurring transactions and can only be used for one-off payments
64
+
65
+ Type: bool
66
+ """
67
+ return self.__allows_recurring
68
+
69
+ @allows_recurring.setter
70
+ def allows_recurring(self, value: Optional[bool]) -> None:
71
+ self.__allows_recurring = value
72
+
73
+ @property
74
+ def allows_tokenization(self) -> Optional[bool]:
75
+ """
76
+ | Indicates if the payment details can be tokenized for future re-use
77
+
78
+ * true - Payment details from payments done with this payment product can be tokenized for future re-use
79
+ * false - Payment details from payments done with this payment product can not be tokenized
80
+
81
+ Type: bool
82
+ """
83
+ return self.__allows_tokenization
84
+
85
+ @allows_tokenization.setter
86
+ def allows_tokenization(self, value: Optional[bool]) -> None:
87
+ self.__allows_tokenization = value
88
+
89
+ @property
90
+ def display_hints(self) -> Optional[PaymentProductDisplayHints]:
91
+ """
92
+ | Object containing display hints like the order of the product when shown in a list, the name of the product and the logo
93
+
94
+ Type: :class:`onlinepayments.sdk.domain.payment_product_display_hints.PaymentProductDisplayHints`
95
+ """
96
+ return self.__display_hints
97
+
98
+ @display_hints.setter
99
+ def display_hints(self, value: Optional[PaymentProductDisplayHints]) -> None:
100
+ self.__display_hints = value
101
+
102
+ @property
103
+ def display_hints_list(self) -> Optional[List[PaymentProductDisplayHints]]:
104
+ """
105
+ Type: list[:class:`onlinepayments.sdk.domain.payment_product_display_hints.PaymentProductDisplayHints`]
106
+ """
107
+ return self.__display_hints_list
108
+
109
+ @display_hints_list.setter
110
+ def display_hints_list(self, value: Optional[List[PaymentProductDisplayHints]]) -> None:
111
+ self.__display_hints_list = value
112
+
113
+ @property
114
+ def fields(self) -> Optional[List[PaymentProductField]]:
115
+ """
116
+ | Object containing all the fields and their details that are associated with this payment product. If you are not interested in the data on the fields you should have us filter them our (using filter=fields in the query-string)
117
+
118
+ Type: list[:class:`onlinepayments.sdk.domain.payment_product_field.PaymentProductField`]
119
+ """
120
+ return self.__fields
121
+
122
+ @fields.setter
123
+ def fields(self, value: Optional[List[PaymentProductField]]) -> None:
124
+ self.__fields = value
125
+
126
+ @property
127
+ def id(self) -> Optional[int]:
128
+ """
129
+ | The ID of the payment product in our system
130
+
131
+ Type: int
132
+ """
133
+ return self.__id
134
+
135
+ @id.setter
136
+ def id(self, value: Optional[int]) -> None:
137
+ self.__id = value
138
+
139
+ @property
140
+ def payment_method(self) -> Optional[str]:
141
+ """
142
+ | Payment method identifier used by the our payment engine.
143
+
144
+ Type: str
145
+ """
146
+ return self.__payment_method
147
+
148
+ @payment_method.setter
149
+ def payment_method(self, value: Optional[str]) -> None:
150
+ self.__payment_method = value
151
+
152
+ @property
153
+ def payment_product302_specific_data(self) -> Optional[PaymentProduct302SpecificData]:
154
+ """
155
+ Type: :class:`onlinepayments.sdk.domain.payment_product302_specific_data.PaymentProduct302SpecificData`
156
+ """
157
+ return self.__payment_product302_specific_data
158
+
159
+ @payment_product302_specific_data.setter
160
+ def payment_product302_specific_data(self, value: Optional[PaymentProduct302SpecificData]) -> None:
161
+ self.__payment_product302_specific_data = value
162
+
163
+ @property
164
+ def payment_product320_specific_data(self) -> Optional[PaymentProduct320SpecificData]:
165
+ """
166
+ Type: :class:`onlinepayments.sdk.domain.payment_product320_specific_data.PaymentProduct320SpecificData`
167
+ """
168
+ return self.__payment_product320_specific_data
169
+
170
+ @payment_product320_specific_data.setter
171
+ def payment_product320_specific_data(self, value: Optional[PaymentProduct320SpecificData]) -> None:
172
+ self.__payment_product320_specific_data = value
173
+
174
+ @property
175
+ def payment_product_group(self) -> Optional[str]:
176
+ """
177
+ | The payment product group that has this payment product, if there is any. Not populated otherwise. Currently only one payment product group is supported:
178
+
179
+ * cards
180
+
181
+ Type: str
182
+ """
183
+ return self.__payment_product_group
184
+
185
+ @payment_product_group.setter
186
+ def payment_product_group(self, value: Optional[str]) -> None:
187
+ self.__payment_product_group = value
188
+
189
+ @property
190
+ def uses_redirection_to3rd_party(self) -> Optional[bool]:
191
+ """
192
+ | Indicates whether the payment product requires redirection to a third party to complete the payment. You can use this to filter out products that require a redirect if you do not want to support that.
193
+
194
+ * true - Redirection is required
195
+ * false - No redirection is required
196
+
197
+ Type: bool
198
+ """
199
+ return self.__uses_redirection_to3rd_party
200
+
201
+ @uses_redirection_to3rd_party.setter
202
+ def uses_redirection_to3rd_party(self, value: Optional[bool]) -> None:
203
+ self.__uses_redirection_to3rd_party = value
204
+
205
+ def to_dictionary(self) -> dict:
206
+ dictionary = super(PaymentProduct, self).to_dictionary()
207
+ if self.accounts_on_file is not None:
208
+ dictionary['accountsOnFile'] = []
209
+ for element in self.accounts_on_file:
210
+ if element is not None:
211
+ dictionary['accountsOnFile'].append(element.to_dictionary())
212
+ if self.allows_authentication is not None:
213
+ dictionary['allowsAuthentication'] = self.allows_authentication
214
+ if self.allows_recurring is not None:
215
+ dictionary['allowsRecurring'] = self.allows_recurring
216
+ if self.allows_tokenization is not None:
217
+ dictionary['allowsTokenization'] = self.allows_tokenization
218
+ if self.display_hints is not None:
219
+ dictionary['displayHints'] = self.display_hints.to_dictionary()
220
+ if self.display_hints_list is not None:
221
+ dictionary['displayHintsList'] = []
222
+ for element in self.display_hints_list:
223
+ if element is not None:
224
+ dictionary['displayHintsList'].append(element.to_dictionary())
225
+ if self.fields is not None:
226
+ dictionary['fields'] = []
227
+ for element in self.fields:
228
+ if element is not None:
229
+ dictionary['fields'].append(element.to_dictionary())
230
+ if self.id is not None:
231
+ dictionary['id'] = self.id
232
+ if self.payment_method is not None:
233
+ dictionary['paymentMethod'] = self.payment_method
234
+ if self.payment_product302_specific_data is not None:
235
+ dictionary['paymentProduct302SpecificData'] = self.payment_product302_specific_data.to_dictionary()
236
+ if self.payment_product320_specific_data is not None:
237
+ dictionary['paymentProduct320SpecificData'] = self.payment_product320_specific_data.to_dictionary()
238
+ if self.payment_product_group is not None:
239
+ dictionary['paymentProductGroup'] = self.payment_product_group
240
+ if self.uses_redirection_to3rd_party is not None:
241
+ dictionary['usesRedirectionTo3rdParty'] = self.uses_redirection_to3rd_party
242
+ return dictionary
243
+
244
+ def from_dictionary(self, dictionary: dict) -> 'PaymentProduct':
245
+ super(PaymentProduct, self).from_dictionary(dictionary)
246
+ if 'accountsOnFile' in dictionary:
247
+ if not isinstance(dictionary['accountsOnFile'], list):
248
+ raise TypeError('value \'{}\' is not a list'.format(dictionary['accountsOnFile']))
249
+ self.accounts_on_file = []
250
+ for element in dictionary['accountsOnFile']:
251
+ value = AccountOnFile()
252
+ self.accounts_on_file.append(value.from_dictionary(element))
253
+ if 'allowsAuthentication' in dictionary:
254
+ self.allows_authentication = dictionary['allowsAuthentication']
255
+ if 'allowsRecurring' in dictionary:
256
+ self.allows_recurring = dictionary['allowsRecurring']
257
+ if 'allowsTokenization' in dictionary:
258
+ self.allows_tokenization = dictionary['allowsTokenization']
259
+ if 'displayHints' in dictionary:
260
+ if not isinstance(dictionary['displayHints'], dict):
261
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['displayHints']))
262
+ value = PaymentProductDisplayHints()
263
+ self.display_hints = value.from_dictionary(dictionary['displayHints'])
264
+ if 'displayHintsList' in dictionary:
265
+ if not isinstance(dictionary['displayHintsList'], list):
266
+ raise TypeError('value \'{}\' is not a list'.format(dictionary['displayHintsList']))
267
+ self.display_hints_list = []
268
+ for element in dictionary['displayHintsList']:
269
+ value = PaymentProductDisplayHints()
270
+ self.display_hints_list.append(value.from_dictionary(element))
271
+ if 'fields' in dictionary:
272
+ if not isinstance(dictionary['fields'], list):
273
+ raise TypeError('value \'{}\' is not a list'.format(dictionary['fields']))
274
+ self.fields = []
275
+ for element in dictionary['fields']:
276
+ value = PaymentProductField()
277
+ self.fields.append(value.from_dictionary(element))
278
+ if 'id' in dictionary:
279
+ self.id = dictionary['id']
280
+ if 'paymentMethod' in dictionary:
281
+ self.payment_method = dictionary['paymentMethod']
282
+ if 'paymentProduct302SpecificData' in dictionary:
283
+ if not isinstance(dictionary['paymentProduct302SpecificData'], dict):
284
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['paymentProduct302SpecificData']))
285
+ value = PaymentProduct302SpecificData()
286
+ self.payment_product302_specific_data = value.from_dictionary(dictionary['paymentProduct302SpecificData'])
287
+ if 'paymentProduct320SpecificData' in dictionary:
288
+ if not isinstance(dictionary['paymentProduct320SpecificData'], dict):
289
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['paymentProduct320SpecificData']))
290
+ value = PaymentProduct320SpecificData()
291
+ self.payment_product320_specific_data = value.from_dictionary(dictionary['paymentProduct320SpecificData'])
292
+ if 'paymentProductGroup' in dictionary:
293
+ self.payment_product_group = dictionary['paymentProductGroup']
294
+ if 'usesRedirectionTo3rdParty' in dictionary:
295
+ self.uses_redirection_to3rd_party = dictionary['usesRedirectionTo3rdParty']
296
+ return self
@@ -0,0 +1,41 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # This file was automatically generated.
4
+ #
5
+ from typing import Optional
6
+
7
+ from .data_object import DataObject
8
+ from .payment_product130_specific_three_d_secure import PaymentProduct130SpecificThreeDSecure
9
+
10
+
11
+ class PaymentProduct130SpecificInput(DataObject):
12
+
13
+ __three_d_secure: Optional[PaymentProduct130SpecificThreeDSecure] = None
14
+
15
+ @property
16
+ def three_d_secure(self) -> Optional[PaymentProduct130SpecificThreeDSecure]:
17
+ """
18
+ | Object containing specific data regarding 3-D Secure
19
+
20
+ Type: :class:`onlinepayments.sdk.domain.payment_product130_specific_three_d_secure.PaymentProduct130SpecificThreeDSecure`
21
+ """
22
+ return self.__three_d_secure
23
+
24
+ @three_d_secure.setter
25
+ def three_d_secure(self, value: Optional[PaymentProduct130SpecificThreeDSecure]) -> None:
26
+ self.__three_d_secure = value
27
+
28
+ def to_dictionary(self) -> dict:
29
+ dictionary = super(PaymentProduct130SpecificInput, self).to_dictionary()
30
+ if self.three_d_secure is not None:
31
+ dictionary['threeDSecure'] = self.three_d_secure.to_dictionary()
32
+ return dictionary
33
+
34
+ def from_dictionary(self, dictionary: dict) -> 'PaymentProduct130SpecificInput':
35
+ super(PaymentProduct130SpecificInput, self).from_dictionary(dictionary)
36
+ if 'threeDSecure' in dictionary:
37
+ if not isinstance(dictionary['threeDSecure'], dict):
38
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['threeDSecure']))
39
+ value = PaymentProduct130SpecificThreeDSecure()
40
+ self.three_d_secure = value.from_dictionary(dictionary['threeDSecure'])
41
+ return self
@@ -0,0 +1,91 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # This file was automatically generated.
4
+ #
5
+ from typing import Optional
6
+
7
+ from .data_object import DataObject
8
+
9
+
10
+ class PaymentProduct130SpecificThreeDSecure(DataObject):
11
+
12
+ __acquirer_exemption: Optional[bool] = None
13
+ __merchant_score: Optional[str] = None
14
+ __number_of_items: Optional[int] = None
15
+ __usecase: Optional[str] = None
16
+
17
+ @property
18
+ def acquirer_exemption(self) -> Optional[bool]:
19
+ """
20
+ | Indicates the Acquirer TRA exemption
21
+
22
+ Type: bool
23
+ """
24
+ return self.__acquirer_exemption
25
+
26
+ @acquirer_exemption.setter
27
+ def acquirer_exemption(self, value: Optional[bool]) -> None:
28
+ self.__acquirer_exemption = value
29
+
30
+ @property
31
+ def merchant_score(self) -> Optional[str]:
32
+ """
33
+ | Score calculated by the 3DS Requestor and provided to CB Scoring service only.
34
+
35
+ Type: str
36
+ """
37
+ return self.__merchant_score
38
+
39
+ @merchant_score.setter
40
+ def merchant_score(self, value: Optional[str]) -> None:
41
+ self.__merchant_score = value
42
+
43
+ @property
44
+ def number_of_items(self) -> Optional[int]:
45
+ """
46
+ | Number of purchased items or services. 99 if more than 99 items
47
+
48
+ Type: int
49
+ """
50
+ return self.__number_of_items
51
+
52
+ @number_of_items.setter
53
+ def number_of_items(self, value: Optional[int]) -> None:
54
+ self.__number_of_items = value
55
+
56
+ @property
57
+ def usecase(self) -> Optional[str]:
58
+ """
59
+ | Indicates the type of payment for which an authentication is requested
60
+
61
+ Type: str
62
+ """
63
+ return self.__usecase
64
+
65
+ @usecase.setter
66
+ def usecase(self, value: Optional[str]) -> None:
67
+ self.__usecase = value
68
+
69
+ def to_dictionary(self) -> dict:
70
+ dictionary = super(PaymentProduct130SpecificThreeDSecure, self).to_dictionary()
71
+ if self.acquirer_exemption is not None:
72
+ dictionary['acquirerExemption'] = self.acquirer_exemption
73
+ if self.merchant_score is not None:
74
+ dictionary['merchantScore'] = self.merchant_score
75
+ if self.number_of_items is not None:
76
+ dictionary['numberOfItems'] = self.number_of_items
77
+ if self.usecase is not None:
78
+ dictionary['usecase'] = self.usecase
79
+ return dictionary
80
+
81
+ def from_dictionary(self, dictionary: dict) -> 'PaymentProduct130SpecificThreeDSecure':
82
+ super(PaymentProduct130SpecificThreeDSecure, self).from_dictionary(dictionary)
83
+ if 'acquirerExemption' in dictionary:
84
+ self.acquirer_exemption = dictionary['acquirerExemption']
85
+ if 'merchantScore' in dictionary:
86
+ self.merchant_score = dictionary['merchantScore']
87
+ if 'numberOfItems' in dictionary:
88
+ self.number_of_items = dictionary['numberOfItems']
89
+ if 'usecase' in dictionary:
90
+ self.usecase = dictionary['usecase']
91
+ return self
@@ -0,0 +1,55 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # This file was automatically generated.
4
+ #
5
+ from typing import Optional
6
+
7
+ from .data_object import DataObject
8
+
9
+
10
+ class PaymentProduct3012(DataObject):
11
+
12
+ __qr_code: Optional[str] = None
13
+ __url_intent: Optional[str] = None
14
+
15
+ @property
16
+ def qr_code(self) -> Optional[str]:
17
+ """
18
+ | Contains a value which can be used to build a QR code (intended to be scanned by a device with the Bancontact app)
19
+
20
+ Type: str
21
+ """
22
+ return self.__qr_code
23
+
24
+ @qr_code.setter
25
+ def qr_code(self, value: Optional[str]) -> None:
26
+ self.__qr_code = value
27
+
28
+ @property
29
+ def url_intent(self) -> Optional[str]:
30
+ """
31
+ | Contains URL intent that can be used as the link of an "open the app" button on a device
32
+
33
+ Type: str
34
+ """
35
+ return self.__url_intent
36
+
37
+ @url_intent.setter
38
+ def url_intent(self, value: Optional[str]) -> None:
39
+ self.__url_intent = value
40
+
41
+ def to_dictionary(self) -> dict:
42
+ dictionary = super(PaymentProduct3012, self).to_dictionary()
43
+ if self.qr_code is not None:
44
+ dictionary['qrCode'] = self.qr_code
45
+ if self.url_intent is not None:
46
+ dictionary['urlIntent'] = self.url_intent
47
+ return dictionary
48
+
49
+ def from_dictionary(self, dictionary: dict) -> 'PaymentProduct3012':
50
+ super(PaymentProduct3012, self).from_dictionary(dictionary)
51
+ if 'qrCode' in dictionary:
52
+ self.qr_code = dictionary['qrCode']
53
+ if 'urlIntent' in dictionary:
54
+ self.url_intent = dictionary['urlIntent']
55
+ return self
@@ -0,0 +1,100 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # This file was automatically generated.
4
+ #
5
+ from typing import Optional
6
+
7
+ from .data_object import DataObject
8
+
9
+
10
+ class PaymentProduct3012SpecificInput(DataObject):
11
+
12
+ __force_authentication: Optional[bool] = None
13
+ __is_deferred_payment: Optional[bool] = None
14
+ __is_wip_transaction: Optional[bool] = None
15
+ __wip_merchant_authentication_method: Optional[str] = None
16
+
17
+ @property
18
+ def force_authentication(self) -> Optional[bool]:
19
+ """
20
+ | Indicate whether 3D Secure authentication should be forced.
21
+
22
+ Type: bool
23
+ """
24
+ return self.__force_authentication
25
+
26
+ @force_authentication.setter
27
+ def force_authentication(self, value: Optional[bool]) -> None:
28
+ self.__force_authentication = value
29
+
30
+ @property
31
+ def is_deferred_payment(self) -> Optional[bool]:
32
+ """
33
+ | Indicate whether its a deferred payment.
34
+
35
+ Type: bool
36
+ """
37
+ return self.__is_deferred_payment
38
+
39
+ @is_deferred_payment.setter
40
+ def is_deferred_payment(self, value: Optional[bool]) -> None:
41
+ self.__is_deferred_payment = value
42
+
43
+ @property
44
+ def is_wip_transaction(self) -> Optional[bool]:
45
+ """
46
+ | Indicate whether its wallet initiated payment.
47
+
48
+ Type: bool
49
+ """
50
+ return self.__is_wip_transaction
51
+
52
+ @is_wip_transaction.setter
53
+ def is_wip_transaction(self, value: Optional[bool]) -> None:
54
+ self.__is_wip_transaction = value
55
+
56
+ @property
57
+ def wip_merchant_authentication_method(self) -> Optional[str]:
58
+ """
59
+ | Indicates how the cardholder was authenticated to the Merchant Wallet in the context of the transaction to which the BEPAF is attached
60
+
61
+ * 01 = Username/password or PIN login successfully performed by cardholder.
62
+ * 02 = Authentication through Secret/Private Key in Secure Hardware Solution was successfully performed.
63
+ * 04 = Authentication through Secret/Private Key in Secure Software Solution (for example, mobile App) was successfully performed.
64
+ * 08 = Location-based Authentication was successfully performed.
65
+ * 10 = Environmental Authentication in Secure Software Solution (mobile App) was successfully performed.
66
+ * 20 = Behavioral Analysis was successfully performed.
67
+ * 40 = Biometrics Authentication was successfully performed.
68
+ * 80 = Out of band user authentication was successfully performed.
69
+
70
+ Type: str
71
+ """
72
+ return self.__wip_merchant_authentication_method
73
+
74
+ @wip_merchant_authentication_method.setter
75
+ def wip_merchant_authentication_method(self, value: Optional[str]) -> None:
76
+ self.__wip_merchant_authentication_method = value
77
+
78
+ def to_dictionary(self) -> dict:
79
+ dictionary = super(PaymentProduct3012SpecificInput, self).to_dictionary()
80
+ if self.force_authentication is not None:
81
+ dictionary['forceAuthentication'] = self.force_authentication
82
+ if self.is_deferred_payment is not None:
83
+ dictionary['isDeferredPayment'] = self.is_deferred_payment
84
+ if self.is_wip_transaction is not None:
85
+ dictionary['isWipTransaction'] = self.is_wip_transaction
86
+ if self.wip_merchant_authentication_method is not None:
87
+ dictionary['wipMerchantAuthenticationMethod'] = self.wip_merchant_authentication_method
88
+ return dictionary
89
+
90
+ def from_dictionary(self, dictionary: dict) -> 'PaymentProduct3012SpecificInput':
91
+ super(PaymentProduct3012SpecificInput, self).from_dictionary(dictionary)
92
+ if 'forceAuthentication' in dictionary:
93
+ self.force_authentication = dictionary['forceAuthentication']
94
+ if 'isDeferredPayment' in dictionary:
95
+ self.is_deferred_payment = dictionary['isDeferredPayment']
96
+ if 'isWipTransaction' in dictionary:
97
+ self.is_wip_transaction = dictionary['isWipTransaction']
98
+ if 'wipMerchantAuthenticationMethod' in dictionary:
99
+ self.wip_merchant_authentication_method = dictionary['wipMerchantAuthenticationMethod']
100
+ return self
@@ -0,0 +1,73 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # This file was automatically generated.
4
+ #
5
+ from typing import Optional
6
+
7
+ from .data_object import DataObject
8
+
9
+
10
+ class PaymentProduct3013SpecificInput(DataObject):
11
+
12
+ __market_number: Optional[str] = None
13
+ __purchasing_buyer_reference1: Optional[str] = None
14
+ __purchasing_buyer_reference2: Optional[str] = None
15
+
16
+ @property
17
+ def market_number(self) -> Optional[str]:
18
+ """
19
+ | An identifier that refers to the public tender
20
+
21
+ Type: str
22
+ """
23
+ return self.__market_number
24
+
25
+ @market_number.setter
26
+ def market_number(self, value: Optional[str]) -> None:
27
+ self.__market_number = value
28
+
29
+ @property
30
+ def purchasing_buyer_reference1(self) -> Optional[str]:
31
+ """
32
+ | An identifier allocated by the government
33
+
34
+ Type: str
35
+ """
36
+ return self.__purchasing_buyer_reference1
37
+
38
+ @purchasing_buyer_reference1.setter
39
+ def purchasing_buyer_reference1(self, value: Optional[str]) -> None:
40
+ self.__purchasing_buyer_reference1 = value
41
+
42
+ @property
43
+ def purchasing_buyer_reference2(self) -> Optional[str]:
44
+ """
45
+ | An identifier allocated by the government
46
+
47
+ Type: str
48
+ """
49
+ return self.__purchasing_buyer_reference2
50
+
51
+ @purchasing_buyer_reference2.setter
52
+ def purchasing_buyer_reference2(self, value: Optional[str]) -> None:
53
+ self.__purchasing_buyer_reference2 = value
54
+
55
+ def to_dictionary(self) -> dict:
56
+ dictionary = super(PaymentProduct3013SpecificInput, self).to_dictionary()
57
+ if self.market_number is not None:
58
+ dictionary['marketNumber'] = self.market_number
59
+ if self.purchasing_buyer_reference1 is not None:
60
+ dictionary['purchasingBuyerReference1'] = self.purchasing_buyer_reference1
61
+ if self.purchasing_buyer_reference2 is not None:
62
+ dictionary['purchasingBuyerReference2'] = self.purchasing_buyer_reference2
63
+ return dictionary
64
+
65
+ def from_dictionary(self, dictionary: dict) -> 'PaymentProduct3013SpecificInput':
66
+ super(PaymentProduct3013SpecificInput, self).from_dictionary(dictionary)
67
+ if 'marketNumber' in dictionary:
68
+ self.market_number = dictionary['marketNumber']
69
+ if 'purchasingBuyerReference1' in dictionary:
70
+ self.purchasing_buyer_reference1 = dictionary['purchasingBuyerReference1']
71
+ if 'purchasingBuyerReference2' in dictionary:
72
+ self.purchasing_buyer_reference2 = dictionary['purchasingBuyerReference2']
73
+ return self