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,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 SubmitBatchResponse(DataObject):
11
+
12
+ __merchant_batch_reference: Optional[str] = None
13
+ __total_count: Optional[int] = None
14
+
15
+ @property
16
+ def merchant_batch_reference(self) -> Optional[str]:
17
+ """
18
+ | Unique batch reference submitted by the merchant.
19
+
20
+ Type: str
21
+ """
22
+ return self.__merchant_batch_reference
23
+
24
+ @merchant_batch_reference.setter
25
+ def merchant_batch_reference(self, value: Optional[str]) -> None:
26
+ self.__merchant_batch_reference = value
27
+
28
+ @property
29
+ def total_count(self) -> Optional[int]:
30
+ """
31
+ | The total number of batch items that were included in the submitted batch.
32
+
33
+ Type: int
34
+ """
35
+ return self.__total_count
36
+
37
+ @total_count.setter
38
+ def total_count(self, value: Optional[int]) -> None:
39
+ self.__total_count = value
40
+
41
+ def to_dictionary(self) -> dict:
42
+ dictionary = super(SubmitBatchResponse, self).to_dictionary()
43
+ if self.merchant_batch_reference is not None:
44
+ dictionary['merchantBatchReference'] = self.merchant_batch_reference
45
+ if self.total_count is not None:
46
+ dictionary['totalCount'] = self.total_count
47
+ return dictionary
48
+
49
+ def from_dictionary(self, dictionary: dict) -> 'SubmitBatchResponse':
50
+ super(SubmitBatchResponse, self).from_dictionary(dictionary)
51
+ if 'merchantBatchReference' in dictionary:
52
+ self.merchant_batch_reference = dictionary['merchantBatchReference']
53
+ if 'totalCount' in dictionary:
54
+ self.total_count = dictionary['totalCount']
55
+ return self
@@ -0,0 +1,175 @@
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 .market_place import MarketPlace
9
+
10
+
11
+ class SubsequentCardPaymentMethodSpecificInput(DataObject):
12
+
13
+ __authorization_mode: Optional[str] = None
14
+ __market_place: Optional[MarketPlace] = None
15
+ __payment_number: Optional[int] = None
16
+ __scheme_reference_data: Optional[str] = None
17
+ __subsequent_type: Optional[str] = None
18
+ __token: Optional[str] = None
19
+ __transaction_channel: Optional[str] = None
20
+
21
+ @property
22
+ def authorization_mode(self) -> Optional[str]:
23
+ """
24
+ | Determines the type of the authorization that will be used. Allowed values:
25
+
26
+ * FINAL_AUTHORIZATION - The payment creation results in an authorization that is ready for capture. Final authorizations can't be reversed and need to be captured for the full amount within 7 days.
27
+ * PRE_AUTHORIZATION - The payment creation results in a pre-authorization that is ready for capture. Pre-authortizations can be reversed and can be captured within 30 days. The capture amount can be lower than the authorized amount.
28
+ * SALE - The payment creation results in an authorization that is already captured at the moment of approval.
29
+
30
+ | Only used with some acquirers, ignored for acquirers that do not support this. In case the acquirer does not allow this to be specified the authorizationMode is 'unspecified', which behaves similar to a final authorization.
31
+
32
+ Type: str
33
+ """
34
+ return self.__authorization_mode
35
+
36
+ @authorization_mode.setter
37
+ def authorization_mode(self, value: Optional[str]) -> None:
38
+ self.__authorization_mode = value
39
+
40
+ @property
41
+ def market_place(self) -> Optional[MarketPlace]:
42
+ """
43
+ | Object containing marketplace-related data for additional information on sub-merchants (retailers) transacting via the marketplace’s platform. This object is required for platforms onboarding multiple sellers to ensure accurate identification and attribution of each transaction. The platform must collect and submit the retailer’s country and regional information in accordance with card scheme requirements. In some cases, Visa may treat specific regions—such as EU member states—as a single country entity for regulatory and reporting purposes.
44
+
45
+ Type: :class:`onlinepayments.sdk.domain.market_place.MarketPlace`
46
+ """
47
+ return self.__market_place
48
+
49
+ @market_place.setter
50
+ def market_place(self, value: Optional[MarketPlace]) -> None:
51
+ self.__market_place = value
52
+
53
+ @property
54
+ def payment_number(self) -> Optional[int]:
55
+ """
56
+ | This payment's ordinal number in the sequence of payments. As the payments are numbered from 1 to the totalNumberOfPayments provided at initialization of the sequence in the multiplePaymentInformation container, the allowed values for this field actually depend on whether the initial call to CreatePayment or CreateHostedCheckout led to a payment or not.
57
+
58
+ * if the initial call led to a payment, since it is implicitly numbered 1, then the allowed values for this field range from 2 to the totalNumberOfPayments.
59
+ * if the initial call did not lead to a payment (e.g. this was a 0 amount operation for authentication), then the allowed values for this field range from 1 to the totalNumberOfPayments.
60
+
61
+ Type: int
62
+ """
63
+ return self.__payment_number
64
+
65
+ @payment_number.setter
66
+ def payment_number(self, value: Optional[int]) -> None:
67
+ self.__payment_number = value
68
+
69
+ @property
70
+ def scheme_reference_data(self) -> Optional[str]:
71
+ """
72
+ | Deprecated: This is the unique Scheme Reference Data from the initial transaction that was performed with a Strong Customer Authentication. In case this value is unknown, a Scheme Reference of an earlier transaction that was part of the same sequence can be used as a fall-back. Still, it is strongly advised to submit this value for any Merchant Initiated Transaction or any recurring transaction (hereby defined as "Subsequent").
73
+
74
+ Type: str
75
+
76
+ Deprecated; Deprecated
77
+ """
78
+ return self.__scheme_reference_data
79
+
80
+ @scheme_reference_data.setter
81
+ def scheme_reference_data(self, value: Optional[str]) -> None:
82
+ self.__scheme_reference_data = value
83
+
84
+ @property
85
+ def subsequent_type(self) -> Optional[str]:
86
+ """
87
+ | Determines the type of the subsequent that will be used. Allowed values:
88
+
89
+ * Recurring - Transactions processed at fixed, regular intervals not to exceed one year between Transactions, representing an agreement between a cardholder and a merchant to purchase goods or services provided over a period of time. Note that a recurring MIT transaction is initiated by the merchant (payee) not the customer (payer) and so is out of scope of PSD2. Recurring transactions that are in scope of PSD2 (and therefore may benefit from the recurring transaction exemption) are those that are customer (payer) initiates, e.g. standing orders set up from a bank account.
90
+ * Unscheduled - A transaction using a stored credential for a fixed or variable amount that does not occur on a scheduled or regularly occurring transaction date, where the cardholder has provided consent for the merchant to initiate one or more future transactions which are not initiated by the cardholder. This transaction type is based on an agreement with the cardholder and is not to be confused with cardholder initiated transactions performed with stored credentials (CITs are in scope of PSD2 whereas UCOF transactions are MITs and thus out of scope).
91
+ * Installment - Installment payments describe a single purchase of goods or services billed to a cardholder in multiple transactions over a period of time agreed by the cardholder and merchant.
92
+ * NoShow - A No-show is a transaction where the merchant is enabled to charge for services which the cardholder entered into an agreement to purchase but did not meet the terms of the agreement.
93
+ * DelayedCharge - A delayed charge is typically used in hotel, cruise lines and vehicle rental payment scenarios to perform a supplemental account charge after original services are rendered.
94
+ * PartialShipment - I-P e-Commerce scenario whereby credentials have been stored to enable subsequent MITs per shipment. For this type of use case, PartialShipment is expected on both the initial CIT and eventual subsequent MITs to complete the order.
95
+ * Resubmission - This is an event that occurs when the original purchase occurred, but the merchant was not able to get authorization at the time the goods or services were provided. This is only applicable to contactless transit transactions.
96
+
97
+ Type: str
98
+ """
99
+ return self.__subsequent_type
100
+
101
+ @subsequent_type.setter
102
+ def subsequent_type(self, value: Optional[str]) -> None:
103
+ self.__subsequent_type = value
104
+
105
+ @property
106
+ def token(self) -> Optional[str]:
107
+ """
108
+ | Deprecated: ID of the token to use to create the payment.
109
+
110
+ Type: str
111
+
112
+ Deprecated; ID of the token to use to create the payment.
113
+ """
114
+ return self.__token
115
+
116
+ @token.setter
117
+ def token(self, value: Optional[str]) -> None:
118
+ self.__token = value
119
+
120
+ @property
121
+ def transaction_channel(self) -> Optional[str]:
122
+ """
123
+ | Indicates the channel via which the payment is created. Allowed values:
124
+
125
+ * ECOMMERCE - The transaction is a regular E-Commerce transaction.
126
+ * MOTO - The transaction is a Mail Order/Telephone Order.
127
+
128
+ | Defaults to ECOMMERCE.
129
+
130
+ Type: str
131
+ """
132
+ return self.__transaction_channel
133
+
134
+ @transaction_channel.setter
135
+ def transaction_channel(self, value: Optional[str]) -> None:
136
+ self.__transaction_channel = value
137
+
138
+ def to_dictionary(self) -> dict:
139
+ dictionary = super(SubsequentCardPaymentMethodSpecificInput, self).to_dictionary()
140
+ if self.authorization_mode is not None:
141
+ dictionary['authorizationMode'] = self.authorization_mode
142
+ if self.market_place is not None:
143
+ dictionary['marketPlace'] = self.market_place.to_dictionary()
144
+ if self.payment_number is not None:
145
+ dictionary['paymentNumber'] = self.payment_number
146
+ if self.scheme_reference_data is not None:
147
+ dictionary['schemeReferenceData'] = self.scheme_reference_data
148
+ if self.subsequent_type is not None:
149
+ dictionary['subsequentType'] = self.subsequent_type
150
+ if self.token is not None:
151
+ dictionary['token'] = self.token
152
+ if self.transaction_channel is not None:
153
+ dictionary['transactionChannel'] = self.transaction_channel
154
+ return dictionary
155
+
156
+ def from_dictionary(self, dictionary: dict) -> 'SubsequentCardPaymentMethodSpecificInput':
157
+ super(SubsequentCardPaymentMethodSpecificInput, self).from_dictionary(dictionary)
158
+ if 'authorizationMode' in dictionary:
159
+ self.authorization_mode = dictionary['authorizationMode']
160
+ if 'marketPlace' in dictionary:
161
+ if not isinstance(dictionary['marketPlace'], dict):
162
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['marketPlace']))
163
+ value = MarketPlace()
164
+ self.market_place = value.from_dictionary(dictionary['marketPlace'])
165
+ if 'paymentNumber' in dictionary:
166
+ self.payment_number = dictionary['paymentNumber']
167
+ if 'schemeReferenceData' in dictionary:
168
+ self.scheme_reference_data = dictionary['schemeReferenceData']
169
+ if 'subsequentType' in dictionary:
170
+ self.subsequent_type = dictionary['subsequentType']
171
+ if 'token' in dictionary:
172
+ self.token = dictionary['token']
173
+ if 'transactionChannel' in dictionary:
174
+ self.transaction_channel = dictionary['transactionChannel']
175
+ return self
@@ -0,0 +1,57 @@
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 .subsequent_payment_request import SubsequentPaymentRequest
9
+
10
+
11
+ class SubsequentPaymentBatchRequest(DataObject):
12
+
13
+ __payment_id: Optional[str] = None
14
+ __subsequent: Optional[SubsequentPaymentRequest] = None
15
+
16
+ @property
17
+ def payment_id(self) -> Optional[str]:
18
+ """
19
+ | This is our unique payment transaction identifier.
20
+
21
+ Type: str
22
+ """
23
+ return self.__payment_id
24
+
25
+ @payment_id.setter
26
+ def payment_id(self, value: Optional[str]) -> None:
27
+ self.__payment_id = value
28
+
29
+ @property
30
+ def subsequent(self) -> Optional[SubsequentPaymentRequest]:
31
+ """
32
+ Type: :class:`onlinepayments.sdk.domain.subsequent_payment_request.SubsequentPaymentRequest`
33
+ """
34
+ return self.__subsequent
35
+
36
+ @subsequent.setter
37
+ def subsequent(self, value: Optional[SubsequentPaymentRequest]) -> None:
38
+ self.__subsequent = value
39
+
40
+ def to_dictionary(self) -> dict:
41
+ dictionary = super(SubsequentPaymentBatchRequest, self).to_dictionary()
42
+ if self.payment_id is not None:
43
+ dictionary['paymentId'] = self.payment_id
44
+ if self.subsequent is not None:
45
+ dictionary['subsequent'] = self.subsequent.to_dictionary()
46
+ return dictionary
47
+
48
+ def from_dictionary(self, dictionary: dict) -> 'SubsequentPaymentBatchRequest':
49
+ super(SubsequentPaymentBatchRequest, self).from_dictionary(dictionary)
50
+ if 'paymentId' in dictionary:
51
+ self.payment_id = dictionary['paymentId']
52
+ if 'subsequent' in dictionary:
53
+ if not isinstance(dictionary['subsequent'], dict):
54
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['subsequent']))
55
+ value = SubsequentPaymentRequest()
56
+ self.subsequent = value.from_dictionary(dictionary['subsequent'])
57
+ 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
+
9
+
10
+ class SubsequentPaymentProduct5001SpecificInput(DataObject):
11
+
12
+ __subsequent_type: Optional[str] = None
13
+
14
+ @property
15
+ def subsequent_type(self) -> Optional[str]:
16
+ """
17
+ | Determines the type of the subsequent that will be used. Allowed values:
18
+
19
+ * recurring - Transactions processed at fixed, regular intervals not to exceed one year between Transactions, representing an agreement between a consumer and a merchant to purchase goods or services provided over a period of time. Note that a recurring MIT transaction is initiated by the merchant (payee) not the customer (payer) and so is out of scope of PSD2. Recurring transactions that are in scope of PSD2 (and therefore may benefit from the recurring transaction exemption) are those that are customer (payer) initiates, e.g. standing orders set up from a bank account.
20
+ * installment - Installment payments describe a single purchase of goods or services billed to a consumer in multiple transactions over a period of time agreed by the consumer and merchant.
21
+ * other - other cases
22
+
23
+ Type: str
24
+ """
25
+ return self.__subsequent_type
26
+
27
+ @subsequent_type.setter
28
+ def subsequent_type(self, value: Optional[str]) -> None:
29
+ self.__subsequent_type = value
30
+
31
+ def to_dictionary(self) -> dict:
32
+ dictionary = super(SubsequentPaymentProduct5001SpecificInput, self).to_dictionary()
33
+ if self.subsequent_type is not None:
34
+ dictionary['subsequentType'] = self.subsequent_type
35
+ return dictionary
36
+
37
+ def from_dictionary(self, dictionary: dict) -> 'SubsequentPaymentProduct5001SpecificInput':
38
+ super(SubsequentPaymentProduct5001SpecificInput, self).from_dictionary(dictionary)
39
+ if 'subsequentType' in dictionary:
40
+ self.subsequent_type = dictionary['subsequentType']
41
+ return self
@@ -0,0 +1,107 @@
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 .omnichannel_subsequent_specific_input import OmnichannelSubsequentSpecificInput
9
+ from .order import Order
10
+ from .subsequent_card_payment_method_specific_input import SubsequentCardPaymentMethodSpecificInput
11
+ from .subsequent_payment_product5001_specific_input import SubsequentPaymentProduct5001SpecificInput
12
+
13
+
14
+ class SubsequentPaymentRequest(DataObject):
15
+
16
+ __omnichannel_subsequent_specific_input: Optional[OmnichannelSubsequentSpecificInput] = None
17
+ __order: Optional[Order] = None
18
+ __subsequent_payment_product5001_specific_input: Optional[SubsequentPaymentProduct5001SpecificInput] = None
19
+ __subsequentcard_payment_method_specific_input: Optional[SubsequentCardPaymentMethodSpecificInput] = None
20
+
21
+ @property
22
+ def omnichannel_subsequent_specific_input(self) -> Optional[OmnichannelSubsequentSpecificInput]:
23
+ """
24
+ | This object contains additional subsequent details for omnichannel merchants.
25
+
26
+ Type: :class:`onlinepayments.sdk.domain.omnichannel_subsequent_specific_input.OmnichannelSubsequentSpecificInput`
27
+ """
28
+ return self.__omnichannel_subsequent_specific_input
29
+
30
+ @omnichannel_subsequent_specific_input.setter
31
+ def omnichannel_subsequent_specific_input(self, value: Optional[OmnichannelSubsequentSpecificInput]) -> None:
32
+ self.__omnichannel_subsequent_specific_input = value
33
+
34
+ @property
35
+ def order(self) -> Optional[Order]:
36
+ """
37
+ | The order object contains order-related data; Please note that this object is required to submit the amount.
38
+
39
+ Type: :class:`onlinepayments.sdk.domain.order.Order`
40
+ """
41
+ return self.__order
42
+
43
+ @order.setter
44
+ def order(self, value: Optional[Order]) -> None:
45
+ self.__order = value
46
+
47
+ @property
48
+ def subsequent_payment_product5001_specific_input(self) -> Optional[SubsequentPaymentProduct5001SpecificInput]:
49
+ """
50
+ | Specific data is required for Bizum subsequent payment.
51
+
52
+ Type: :class:`onlinepayments.sdk.domain.subsequent_payment_product5001_specific_input.SubsequentPaymentProduct5001SpecificInput`
53
+ """
54
+ return self.__subsequent_payment_product5001_specific_input
55
+
56
+ @subsequent_payment_product5001_specific_input.setter
57
+ def subsequent_payment_product5001_specific_input(self, value: Optional[SubsequentPaymentProduct5001SpecificInput]) -> None:
58
+ self.__subsequent_payment_product5001_specific_input = value
59
+
60
+ @property
61
+ def subsequentcard_payment_method_specific_input(self) -> Optional[SubsequentCardPaymentMethodSpecificInput]:
62
+ """
63
+ | Object containing the specific input details for subsequent card payments
64
+
65
+ Type: :class:`onlinepayments.sdk.domain.subsequent_card_payment_method_specific_input.SubsequentCardPaymentMethodSpecificInput`
66
+ """
67
+ return self.__subsequentcard_payment_method_specific_input
68
+
69
+ @subsequentcard_payment_method_specific_input.setter
70
+ def subsequentcard_payment_method_specific_input(self, value: Optional[SubsequentCardPaymentMethodSpecificInput]) -> None:
71
+ self.__subsequentcard_payment_method_specific_input = value
72
+
73
+ def to_dictionary(self) -> dict:
74
+ dictionary = super(SubsequentPaymentRequest, self).to_dictionary()
75
+ if self.omnichannel_subsequent_specific_input is not None:
76
+ dictionary['omnichannelSubsequentSpecificInput'] = self.omnichannel_subsequent_specific_input.to_dictionary()
77
+ if self.order is not None:
78
+ dictionary['order'] = self.order.to_dictionary()
79
+ if self.subsequent_payment_product5001_specific_input is not None:
80
+ dictionary['subsequentPaymentProduct5001SpecificInput'] = self.subsequent_payment_product5001_specific_input.to_dictionary()
81
+ if self.subsequentcard_payment_method_specific_input is not None:
82
+ dictionary['subsequentcardPaymentMethodSpecificInput'] = self.subsequentcard_payment_method_specific_input.to_dictionary()
83
+ return dictionary
84
+
85
+ def from_dictionary(self, dictionary: dict) -> 'SubsequentPaymentRequest':
86
+ super(SubsequentPaymentRequest, self).from_dictionary(dictionary)
87
+ if 'omnichannelSubsequentSpecificInput' in dictionary:
88
+ if not isinstance(dictionary['omnichannelSubsequentSpecificInput'], dict):
89
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['omnichannelSubsequentSpecificInput']))
90
+ value = OmnichannelSubsequentSpecificInput()
91
+ self.omnichannel_subsequent_specific_input = value.from_dictionary(dictionary['omnichannelSubsequentSpecificInput'])
92
+ if 'order' in dictionary:
93
+ if not isinstance(dictionary['order'], dict):
94
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['order']))
95
+ value = Order()
96
+ self.order = value.from_dictionary(dictionary['order'])
97
+ if 'subsequentPaymentProduct5001SpecificInput' in dictionary:
98
+ if not isinstance(dictionary['subsequentPaymentProduct5001SpecificInput'], dict):
99
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['subsequentPaymentProduct5001SpecificInput']))
100
+ value = SubsequentPaymentProduct5001SpecificInput()
101
+ self.subsequent_payment_product5001_specific_input = value.from_dictionary(dictionary['subsequentPaymentProduct5001SpecificInput'])
102
+ if 'subsequentcardPaymentMethodSpecificInput' in dictionary:
103
+ if not isinstance(dictionary['subsequentcardPaymentMethodSpecificInput'], dict):
104
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['subsequentcardPaymentMethodSpecificInput']))
105
+ value = SubsequentCardPaymentMethodSpecificInput()
106
+ self.subsequentcard_payment_method_specific_input = value.from_dictionary(dictionary['subsequentcardPaymentMethodSpecificInput'])
107
+ 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_response import PaymentResponse
9
+
10
+
11
+ class SubsequentPaymentResponse(DataObject):
12
+
13
+ __payment: Optional[PaymentResponse] = None
14
+
15
+ @property
16
+ def payment(self) -> Optional[PaymentResponse]:
17
+ """
18
+ | This object holds the properties related to the payment.
19
+
20
+ Type: :class:`onlinepayments.sdk.domain.payment_response.PaymentResponse`
21
+ """
22
+ return self.__payment
23
+
24
+ @payment.setter
25
+ def payment(self, value: Optional[PaymentResponse]) -> None:
26
+ self.__payment = value
27
+
28
+ def to_dictionary(self) -> dict:
29
+ dictionary = super(SubsequentPaymentResponse, self).to_dictionary()
30
+ if self.payment is not None:
31
+ dictionary['payment'] = self.payment.to_dictionary()
32
+ return dictionary
33
+
34
+ def from_dictionary(self, dictionary: dict) -> 'SubsequentPaymentResponse':
35
+ super(SubsequentPaymentResponse, self).from_dictionary(dictionary)
36
+ if 'payment' in dictionary:
37
+ if not isinstance(dictionary['payment'], dict):
38
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['payment']))
39
+ value = PaymentResponse()
40
+ self.payment = value.from_dictionary(dictionary['payment'])
41
+ return self
@@ -0,0 +1,141 @@
1
+ # -*- coding: utf-8 -*-
2
+ #
3
+ # This file was automatically generated.
4
+ #
5
+ from typing import Optional
6
+
7
+ from .amount_of_money import AmountOfMoney
8
+ from .data_object import DataObject
9
+ from .surcharge_rate import SurchargeRate
10
+
11
+
12
+ class Surcharge(DataObject):
13
+
14
+ __net_amount: Optional[AmountOfMoney] = None
15
+ __payment_product_id: Optional[int] = None
16
+ __result: Optional[str] = None
17
+ __surcharge_amount: Optional[AmountOfMoney] = None
18
+ __surcharge_rate: Optional[SurchargeRate] = None
19
+ __total_amount: Optional[AmountOfMoney] = None
20
+
21
+ @property
22
+ def net_amount(self) -> Optional[AmountOfMoney]:
23
+ """
24
+ | Object containing amount and ISO currency code attributes
25
+
26
+ Type: :class:`onlinepayments.sdk.domain.amount_of_money.AmountOfMoney`
27
+ """
28
+ return self.__net_amount
29
+
30
+ @net_amount.setter
31
+ def net_amount(self, value: Optional[AmountOfMoney]) -> None:
32
+ self.__net_amount = value
33
+
34
+ @property
35
+ def payment_product_id(self) -> Optional[int]:
36
+ """
37
+ | Payment product identifier - Please see Products documentation for a full overview of possible values.
38
+
39
+ Type: int
40
+ """
41
+ return self.__payment_product_id
42
+
43
+ @payment_product_id.setter
44
+ def payment_product_id(self, value: Optional[int]) -> None:
45
+ self.__payment_product_id = value
46
+
47
+ @property
48
+ def result(self) -> Optional[str]:
49
+ """
50
+ | Token describing result. OK - A Surcharge Amount was successfully calculated, NO_SURCHARGE - A configured surcharge rate could not be found for the payment product
51
+
52
+ Type: str
53
+ """
54
+ return self.__result
55
+
56
+ @result.setter
57
+ def result(self, value: Optional[str]) -> None:
58
+ self.__result = value
59
+
60
+ @property
61
+ def surcharge_amount(self) -> Optional[AmountOfMoney]:
62
+ """
63
+ | Object containing amount and ISO currency code attributes
64
+
65
+ Type: :class:`onlinepayments.sdk.domain.amount_of_money.AmountOfMoney`
66
+ """
67
+ return self.__surcharge_amount
68
+
69
+ @surcharge_amount.setter
70
+ def surcharge_amount(self, value: Optional[AmountOfMoney]) -> None:
71
+ self.__surcharge_amount = value
72
+
73
+ @property
74
+ def surcharge_rate(self) -> Optional[SurchargeRate]:
75
+ """
76
+ | A summary of surcharge details used in the calculation of the surcharge amount. null if result = NO_SURCHARGE
77
+
78
+ Type: :class:`onlinepayments.sdk.domain.surcharge_rate.SurchargeRate`
79
+ """
80
+ return self.__surcharge_rate
81
+
82
+ @surcharge_rate.setter
83
+ def surcharge_rate(self, value: Optional[SurchargeRate]) -> None:
84
+ self.__surcharge_rate = value
85
+
86
+ @property
87
+ def total_amount(self) -> Optional[AmountOfMoney]:
88
+ """
89
+ | Object containing amount and ISO currency code attributes
90
+
91
+ Type: :class:`onlinepayments.sdk.domain.amount_of_money.AmountOfMoney`
92
+ """
93
+ return self.__total_amount
94
+
95
+ @total_amount.setter
96
+ def total_amount(self, value: Optional[AmountOfMoney]) -> None:
97
+ self.__total_amount = value
98
+
99
+ def to_dictionary(self) -> dict:
100
+ dictionary = super(Surcharge, self).to_dictionary()
101
+ if self.net_amount is not None:
102
+ dictionary['netAmount'] = self.net_amount.to_dictionary()
103
+ if self.payment_product_id is not None:
104
+ dictionary['paymentProductId'] = self.payment_product_id
105
+ if self.result is not None:
106
+ dictionary['result'] = self.result
107
+ if self.surcharge_amount is not None:
108
+ dictionary['surchargeAmount'] = self.surcharge_amount.to_dictionary()
109
+ if self.surcharge_rate is not None:
110
+ dictionary['surchargeRate'] = self.surcharge_rate.to_dictionary()
111
+ if self.total_amount is not None:
112
+ dictionary['totalAmount'] = self.total_amount.to_dictionary()
113
+ return dictionary
114
+
115
+ def from_dictionary(self, dictionary: dict) -> 'Surcharge':
116
+ super(Surcharge, self).from_dictionary(dictionary)
117
+ if 'netAmount' in dictionary:
118
+ if not isinstance(dictionary['netAmount'], dict):
119
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['netAmount']))
120
+ value = AmountOfMoney()
121
+ self.net_amount = value.from_dictionary(dictionary['netAmount'])
122
+ if 'paymentProductId' in dictionary:
123
+ self.payment_product_id = dictionary['paymentProductId']
124
+ if 'result' in dictionary:
125
+ self.result = dictionary['result']
126
+ if 'surchargeAmount' in dictionary:
127
+ if not isinstance(dictionary['surchargeAmount'], dict):
128
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['surchargeAmount']))
129
+ value = AmountOfMoney()
130
+ self.surcharge_amount = value.from_dictionary(dictionary['surchargeAmount'])
131
+ if 'surchargeRate' in dictionary:
132
+ if not isinstance(dictionary['surchargeRate'], dict):
133
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['surchargeRate']))
134
+ value = SurchargeRate()
135
+ self.surcharge_rate = value.from_dictionary(dictionary['surchargeRate'])
136
+ if 'totalAmount' in dictionary:
137
+ if not isinstance(dictionary['totalAmount'], dict):
138
+ raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['totalAmount']))
139
+ value = AmountOfMoney()
140
+ self.total_amount = value.from_dictionary(dictionary['totalAmount'])
141
+ 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 SurchargeCalculationCard(DataObject):
11
+
12
+ __card_number: Optional[str] = None
13
+ __payment_product_id: Optional[int] = None
14
+
15
+ @property
16
+ def card_number(self) -> Optional[str]:
17
+ """
18
+ | The complete credit/debit card number (also known as the PAN) is always obfuscated in any of our responses.
19
+
20
+ Type: str
21
+ """
22
+ return self.__card_number
23
+
24
+ @card_number.setter
25
+ def card_number(self, value: Optional[str]) -> None:
26
+ self.__card_number = value
27
+
28
+ @property
29
+ def payment_product_id(self) -> Optional[int]:
30
+ """
31
+ | Payment product identifier - Please see Products documentation for a full overview of possible values.
32
+
33
+ Type: int
34
+ """
35
+ return self.__payment_product_id
36
+
37
+ @payment_product_id.setter
38
+ def payment_product_id(self, value: Optional[int]) -> None:
39
+ self.__payment_product_id = value
40
+
41
+ def to_dictionary(self) -> dict:
42
+ dictionary = super(SurchargeCalculationCard, self).to_dictionary()
43
+ if self.card_number is not None:
44
+ dictionary['cardNumber'] = self.card_number
45
+ if self.payment_product_id is not None:
46
+ dictionary['paymentProductId'] = self.payment_product_id
47
+ return dictionary
48
+
49
+ def from_dictionary(self, dictionary: dict) -> 'SurchargeCalculationCard':
50
+ super(SurchargeCalculationCard, self).from_dictionary(dictionary)
51
+ if 'cardNumber' in dictionary:
52
+ self.card_number = dictionary['cardNumber']
53
+ if 'paymentProductId' in dictionary:
54
+ self.payment_product_id = dictionary['paymentProductId']
55
+ return self