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.
- onlinepayments/__init__.py +0 -0
- onlinepayments/sdk/__init__.py +4 -0
- onlinepayments/sdk/api_exception.py +60 -0
- onlinepayments/sdk/api_resource.py +57 -0
- onlinepayments/sdk/authentication/__init__.py +0 -0
- onlinepayments/sdk/authentication/authenticator.py +24 -0
- onlinepayments/sdk/authentication/authorization_type.py +10 -0
- onlinepayments/sdk/authentication/v1hmac_authenticator.py +122 -0
- onlinepayments/sdk/authorization_exception.py +19 -0
- onlinepayments/sdk/call_context.py +72 -0
- onlinepayments/sdk/client.py +107 -0
- onlinepayments/sdk/communication/__init__.py +0 -0
- onlinepayments/sdk/communication/communication_exception.py +8 -0
- onlinepayments/sdk/communication/connection.py +84 -0
- onlinepayments/sdk/communication/default_connection.py +313 -0
- onlinepayments/sdk/communication/i_metadata_provider.py +19 -0
- onlinepayments/sdk/communication/metadata_provider.py +132 -0
- onlinepayments/sdk/communication/multipart_form_data_object.py +51 -0
- onlinepayments/sdk/communication/multipart_form_data_request.py +16 -0
- onlinepayments/sdk/communication/not_found_exception.py +10 -0
- onlinepayments/sdk/communication/param_request.py +17 -0
- onlinepayments/sdk/communication/pooled_connection.py +29 -0
- onlinepayments/sdk/communication/request_header.py +60 -0
- onlinepayments/sdk/communication/request_param.py +30 -0
- onlinepayments/sdk/communication/response_exception.py +58 -0
- onlinepayments/sdk/communication/response_header.py +50 -0
- onlinepayments/sdk/communicator.py +465 -0
- onlinepayments/sdk/communicator_configuration.py +264 -0
- onlinepayments/sdk/declined_payment_exception.py +46 -0
- onlinepayments/sdk/declined_payout_exception.py +46 -0
- onlinepayments/sdk/declined_refund_exception.py +46 -0
- onlinepayments/sdk/declined_transaction_exception.py +22 -0
- onlinepayments/sdk/domain/__init__.py +4 -0
- onlinepayments/sdk/domain/acceptance.py +56 -0
- onlinepayments/sdk/domain/account_on_file.py +102 -0
- onlinepayments/sdk/domain/account_on_file_attribute.py +97 -0
- onlinepayments/sdk/domain/account_on_file_display_hints.py +64 -0
- onlinepayments/sdk/domain/acquirer_information.py +59 -0
- onlinepayments/sdk/domain/acquirer_selection_information.py +73 -0
- onlinepayments/sdk/domain/additional_order_input.py +107 -0
- onlinepayments/sdk/domain/address.py +145 -0
- onlinepayments/sdk/domain/address_personal.py +185 -0
- onlinepayments/sdk/domain/airline_data.py +519 -0
- onlinepayments/sdk/domain/airline_flight_leg.py +386 -0
- onlinepayments/sdk/domain/airline_passenger.py +129 -0
- onlinepayments/sdk/domain/amount_breakdown.py +63 -0
- onlinepayments/sdk/domain/amount_of_money.py +59 -0
- onlinepayments/sdk/domain/api_error.py +177 -0
- onlinepayments/sdk/domain/apple_pay_line_item.py +145 -0
- onlinepayments/sdk/domain/apple_pay_recurring_payment_request.py +116 -0
- onlinepayments/sdk/domain/bank_account_iban.py +37 -0
- onlinepayments/sdk/domain/batch_metadata.py +73 -0
- onlinepayments/sdk/domain/browser_data.py +130 -0
- onlinepayments/sdk/domain/calculate_surcharge_request.py +63 -0
- onlinepayments/sdk/domain/calculate_surcharge_response.py +44 -0
- onlinepayments/sdk/domain/cancel_payment_batch_request.py +57 -0
- onlinepayments/sdk/domain/cancel_payment_request.py +130 -0
- onlinepayments/sdk/domain/cancel_payment_response.py +41 -0
- onlinepayments/sdk/domain/capture.py +97 -0
- onlinepayments/sdk/domain/capture_output.py +272 -0
- onlinepayments/sdk/domain/capture_payment_batch_request.py +57 -0
- onlinepayments/sdk/domain/capture_payment_request.py +148 -0
- onlinepayments/sdk/domain/capture_response.py +99 -0
- onlinepayments/sdk/domain/capture_status_output.py +37 -0
- onlinepayments/sdk/domain/captures_response.py +46 -0
- onlinepayments/sdk/domain/card.py +91 -0
- onlinepayments/sdk/domain/card_bin_details.py +384 -0
- onlinepayments/sdk/domain/card_data_without_cvv.py +73 -0
- onlinepayments/sdk/domain/card_essentials.py +438 -0
- onlinepayments/sdk/domain/card_fraud_results.py +112 -0
- onlinepayments/sdk/domain/card_info.py +55 -0
- onlinepayments/sdk/domain/card_payment_method_specific_input.py +608 -0
- onlinepayments/sdk/domain/card_payment_method_specific_input_base.py +441 -0
- onlinepayments/sdk/domain/card_payment_method_specific_input_for_hosted_checkout.py +105 -0
- onlinepayments/sdk/domain/card_payment_method_specific_output.py +467 -0
- onlinepayments/sdk/domain/card_payout_method_specific_input.py +99 -0
- onlinepayments/sdk/domain/card_recurrence_details.py +40 -0
- onlinepayments/sdk/domain/card_source.py +95 -0
- onlinepayments/sdk/domain/card_without_cvv.py +73 -0
- onlinepayments/sdk/domain/click_to_pay.py +37 -0
- onlinepayments/sdk/domain/company_information.py +37 -0
- onlinepayments/sdk/domain/complete_payment_card_payment_method_specific_input.py +39 -0
- onlinepayments/sdk/domain/complete_payment_request.py +61 -0
- onlinepayments/sdk/domain/complete_payment_response.py +85 -0
- onlinepayments/sdk/domain/contact_details.py +109 -0
- onlinepayments/sdk/domain/create_certificate_response.py +55 -0
- onlinepayments/sdk/domain/create_hosted_checkout_request.py +195 -0
- onlinepayments/sdk/domain/create_hosted_checkout_response.py +132 -0
- onlinepayments/sdk/domain/create_hosted_fields_session_request.py +37 -0
- onlinepayments/sdk/domain/create_hosted_fields_session_response.py +102 -0
- onlinepayments/sdk/domain/create_hosted_tokenization_request.py +133 -0
- onlinepayments/sdk/domain/create_hosted_tokenization_response.py +127 -0
- onlinepayments/sdk/domain/create_mandate_request.py +187 -0
- onlinepayments/sdk/domain/create_mandate_response.py +63 -0
- onlinepayments/sdk/domain/create_mandate_with_return_url.py +187 -0
- onlinepayments/sdk/domain/create_payment_link_request.py +344 -0
- onlinepayments/sdk/domain/create_payment_request.py +249 -0
- onlinepayments/sdk/domain/create_payment_response.py +85 -0
- onlinepayments/sdk/domain/create_payout_request.py +176 -0
- onlinepayments/sdk/domain/create_token_request.py +77 -0
- onlinepayments/sdk/domain/created_payment_output.py +57 -0
- onlinepayments/sdk/domain/created_token_response.py +142 -0
- onlinepayments/sdk/domain/credit_card_specific_input_hosted_tokenization.py +66 -0
- onlinepayments/sdk/domain/credit_card_validation_rules.py +55 -0
- onlinepayments/sdk/domain/credit_card_validation_rules_hosted_tokenization.py +55 -0
- onlinepayments/sdk/domain/crm_token.py +55 -0
- onlinepayments/sdk/domain/csr_request.py +37 -0
- onlinepayments/sdk/domain/currency_conversion.py +59 -0
- onlinepayments/sdk/domain/currency_conversion_input.py +55 -0
- onlinepayments/sdk/domain/currency_conversion_request.py +59 -0
- onlinepayments/sdk/domain/currency_conversion_response.py +81 -0
- onlinepayments/sdk/domain/currency_conversion_result.py +61 -0
- onlinepayments/sdk/domain/currency_conversion_specific_input.py +40 -0
- onlinepayments/sdk/domain/customer.py +234 -0
- onlinepayments/sdk/domain/customer_account.py +204 -0
- onlinepayments/sdk/domain/customer_account_authentication.py +81 -0
- onlinepayments/sdk/domain/customer_bank_account.py +73 -0
- onlinepayments/sdk/domain/customer_device.py +155 -0
- onlinepayments/sdk/domain/customer_device_output.py +37 -0
- onlinepayments/sdk/domain/customer_output.py +41 -0
- onlinepayments/sdk/domain/customer_payment_activity.py +73 -0
- onlinepayments/sdk/domain/customer_token.py +83 -0
- onlinepayments/sdk/domain/data_object.py +47 -0
- onlinepayments/sdk/domain/dcc_card_source.py +93 -0
- onlinepayments/sdk/domain/dcc_proposal.py +118 -0
- onlinepayments/sdk/domain/decrypted_payment_data.py +120 -0
- onlinepayments/sdk/domain/detokenization_response.py +46 -0
- onlinepayments/sdk/domain/detokenized_token_response.py +145 -0
- onlinepayments/sdk/domain/directory_entry.py +73 -0
- onlinepayments/sdk/domain/discount.py +41 -0
- onlinepayments/sdk/domain/empty_validator.py +16 -0
- onlinepayments/sdk/domain/error_response.py +64 -0
- onlinepayments/sdk/domain/external_cardholder_authentication_data.py +216 -0
- onlinepayments/sdk/domain/external_token_linked.py +75 -0
- onlinepayments/sdk/domain/feedbacks.py +64 -0
- onlinepayments/sdk/domain/fixed_list_validator.py +42 -0
- onlinepayments/sdk/domain/fraud_fields.py +84 -0
- onlinepayments/sdk/domain/fraud_results.py +43 -0
- onlinepayments/sdk/domain/g_pay_three_d_secure.py +159 -0
- onlinepayments/sdk/domain/get_batch_status_response.py +91 -0
- onlinepayments/sdk/domain/get_hosted_checkout_response.py +63 -0
- onlinepayments/sdk/domain/get_hosted_tokenization_response.py +61 -0
- onlinepayments/sdk/domain/get_iin_details_request.py +57 -0
- onlinepayments/sdk/domain/get_iin_details_response.py +450 -0
- onlinepayments/sdk/domain/get_mandate_response.py +41 -0
- onlinepayments/sdk/domain/get_payment_product_groups_response.py +44 -0
- onlinepayments/sdk/domain/get_payment_products_response.py +44 -0
- onlinepayments/sdk/domain/get_privacy_policy_response.py +37 -0
- onlinepayments/sdk/domain/gift_card_purchase.py +59 -0
- onlinepayments/sdk/domain/hosted_checkout_specific_input.py +250 -0
- onlinepayments/sdk/domain/hosted_checkout_specific_output.py +55 -0
- onlinepayments/sdk/domain/iin_detail.py +423 -0
- onlinepayments/sdk/domain/import_cof_series_request.py +113 -0
- onlinepayments/sdk/domain/import_cof_series_response.py +37 -0
- onlinepayments/sdk/domain/label_template_element.py +55 -0
- onlinepayments/sdk/domain/length_validator.py +51 -0
- onlinepayments/sdk/domain/line_item.py +107 -0
- onlinepayments/sdk/domain/line_item_detail.py +99 -0
- onlinepayments/sdk/domain/line_item_invoice_data.py +37 -0
- onlinepayments/sdk/domain/loan_recipient.py +109 -0
- onlinepayments/sdk/domain/lodging_data.py +37 -0
- onlinepayments/sdk/domain/mandate_address.py +109 -0
- onlinepayments/sdk/domain/mandate_address_response.py +109 -0
- onlinepayments/sdk/domain/mandate_contact_details.py +37 -0
- onlinepayments/sdk/domain/mandate_customer.py +125 -0
- onlinepayments/sdk/domain/mandate_customer_response.py +125 -0
- onlinepayments/sdk/domain/mandate_merchant_action.py +61 -0
- onlinepayments/sdk/domain/mandate_personal_information.py +59 -0
- onlinepayments/sdk/domain/mandate_personal_information_response.py +59 -0
- onlinepayments/sdk/domain/mandate_personal_name.py +55 -0
- onlinepayments/sdk/domain/mandate_personal_name_response.py +55 -0
- onlinepayments/sdk/domain/mandate_redirect_data.py +55 -0
- onlinepayments/sdk/domain/mandate_response.py +150 -0
- onlinepayments/sdk/domain/market_place.py +55 -0
- onlinepayments/sdk/domain/merchant_action.py +132 -0
- onlinepayments/sdk/domain/mobile_payment_data.py +55 -0
- onlinepayments/sdk/domain/mobile_payment_method_hosted_checkout_specific_input.py +105 -0
- onlinepayments/sdk/domain/mobile_payment_method_specific_input.py +202 -0
- onlinepayments/sdk/domain/mobile_payment_method_specific_output.py +139 -0
- onlinepayments/sdk/domain/mobile_payment_product302_specific_input.py +103 -0
- onlinepayments/sdk/domain/mobile_payment_product320_specific_input.py +103 -0
- onlinepayments/sdk/domain/mobile_three_d_secure_challenge_parameters.py +91 -0
- onlinepayments/sdk/domain/multiple_payment_information.py +57 -0
- onlinepayments/sdk/domain/network_token_data.py +127 -0
- onlinepayments/sdk/domain/network_token_essentials.py +134 -0
- onlinepayments/sdk/domain/network_token_linked.py +80 -0
- onlinepayments/sdk/domain/omnichannel_payment_specific_input.py +37 -0
- onlinepayments/sdk/domain/omnichannel_payout_specific_input.py +55 -0
- onlinepayments/sdk/domain/omnichannel_refund_specific_input.py +37 -0
- onlinepayments/sdk/domain/omnichannel_subsequent_specific_input.py +37 -0
- onlinepayments/sdk/domain/operation_output.py +161 -0
- onlinepayments/sdk/domain/operation_payment_references.py +55 -0
- onlinepayments/sdk/domain/order.py +213 -0
- onlinepayments/sdk/domain/order_line_details.py +189 -0
- onlinepayments/sdk/domain/order_references.py +120 -0
- onlinepayments/sdk/domain/order_status_output.py +119 -0
- onlinepayments/sdk/domain/order_type_information.py +64 -0
- onlinepayments/sdk/domain/other_details.py +55 -0
- onlinepayments/sdk/domain/payment_account_on_file.py +57 -0
- onlinepayments/sdk/domain/payment_context.py +77 -0
- onlinepayments/sdk/domain/payment_creation_output.py +94 -0
- onlinepayments/sdk/domain/payment_details_response.py +148 -0
- onlinepayments/sdk/domain/payment_error_response.py +84 -0
- onlinepayments/sdk/domain/payment_link_event.py +73 -0
- onlinepayments/sdk/domain/payment_link_order_input.py +84 -0
- onlinepayments/sdk/domain/payment_link_order_output.py +81 -0
- onlinepayments/sdk/domain/payment_link_response.py +216 -0
- onlinepayments/sdk/domain/payment_link_specific_input.py +74 -0
- onlinepayments/sdk/domain/payment_links_response.py +44 -0
- onlinepayments/sdk/domain/payment_output.py +335 -0
- onlinepayments/sdk/domain/payment_product.py +296 -0
- onlinepayments/sdk/domain/payment_product130_specific_input.py +41 -0
- onlinepayments/sdk/domain/payment_product130_specific_three_d_secure.py +91 -0
- onlinepayments/sdk/domain/payment_product3012.py +55 -0
- onlinepayments/sdk/domain/payment_product3012_specific_input.py +100 -0
- onlinepayments/sdk/domain/payment_product3013_specific_input.py +73 -0
- onlinepayments/sdk/domain/payment_product302_specific_data.py +44 -0
- onlinepayments/sdk/domain/payment_product3203_specific_output.py +62 -0
- onlinepayments/sdk/domain/payment_product3204_specific_output.py +37 -0
- onlinepayments/sdk/domain/payment_product3208_specific_input.py +37 -0
- onlinepayments/sdk/domain/payment_product3208_specific_output.py +37 -0
- onlinepayments/sdk/domain/payment_product3209_specific_input.py +37 -0
- onlinepayments/sdk/domain/payment_product3209_specific_output.py +37 -0
- onlinepayments/sdk/domain/payment_product320_specific_data.py +62 -0
- onlinepayments/sdk/domain/payment_product350.py +55 -0
- onlinepayments/sdk/domain/payment_product5001.py +58 -0
- onlinepayments/sdk/domain/payment_product5001_specific_output.py +112 -0
- onlinepayments/sdk/domain/payment_product5100_specific_input.py +37 -0
- onlinepayments/sdk/domain/payment_product5402_specific_output.py +37 -0
- onlinepayments/sdk/domain/payment_product5404.py +55 -0
- onlinepayments/sdk/domain/payment_product5407.py +55 -0
- onlinepayments/sdk/domain/payment_product5500_specific_output.py +91 -0
- onlinepayments/sdk/domain/payment_product771_specific_output.py +37 -0
- onlinepayments/sdk/domain/payment_product840.py +37 -0
- onlinepayments/sdk/domain/payment_product840_customer_account.py +170 -0
- onlinepayments/sdk/domain/payment_product840_specific_output.py +167 -0
- onlinepayments/sdk/domain/payment_product_display_hints.py +73 -0
- onlinepayments/sdk/domain/payment_product_field.py +95 -0
- onlinepayments/sdk/domain/payment_product_field_data_restrictions.py +60 -0
- onlinepayments/sdk/domain/payment_product_field_display_element.py +97 -0
- onlinepayments/sdk/domain/payment_product_field_display_hints.py +218 -0
- onlinepayments/sdk/domain/payment_product_field_form_element.py +72 -0
- onlinepayments/sdk/domain/payment_product_field_tooltip.py +57 -0
- onlinepayments/sdk/domain/payment_product_field_validators.py +195 -0
- onlinepayments/sdk/domain/payment_product_filter.py +67 -0
- onlinepayments/sdk/domain/payment_product_filter_hosted_tokenization.py +42 -0
- onlinepayments/sdk/domain/payment_product_filters_hosted_checkout.py +62 -0
- onlinepayments/sdk/domain/payment_product_filters_hosted_tokenization.py +62 -0
- onlinepayments/sdk/domain/payment_product_group.py +103 -0
- onlinepayments/sdk/domain/payment_product_networks_response.py +42 -0
- onlinepayments/sdk/domain/payment_references.py +73 -0
- onlinepayments/sdk/domain/payment_response.py +143 -0
- onlinepayments/sdk/domain/payment_status_output.py +152 -0
- onlinepayments/sdk/domain/payout_error_response.py +80 -0
- onlinepayments/sdk/domain/payout_output.py +63 -0
- onlinepayments/sdk/domain/payout_response.py +93 -0
- onlinepayments/sdk/domain/payout_result.py +93 -0
- onlinepayments/sdk/domain/payout_status_output.py +76 -0
- onlinepayments/sdk/domain/pending_authentication.py +37 -0
- onlinepayments/sdk/domain/personal_information.py +77 -0
- onlinepayments/sdk/domain/personal_information_token.py +39 -0
- onlinepayments/sdk/domain/personal_name.py +73 -0
- onlinepayments/sdk/domain/personal_name_token.py +51 -0
- onlinepayments/sdk/domain/product302_recurring.py +37 -0
- onlinepayments/sdk/domain/product320_recurring.py +37 -0
- onlinepayments/sdk/domain/product_directory.py +46 -0
- onlinepayments/sdk/domain/protection_eligibility.py +59 -0
- onlinepayments/sdk/domain/range_validator.py +51 -0
- onlinepayments/sdk/domain/rate_details.py +109 -0
- onlinepayments/sdk/domain/reattempt_instructions.py +82 -0
- onlinepayments/sdk/domain/reattempt_instructions_conditions.py +55 -0
- onlinepayments/sdk/domain/redirect_data.py +55 -0
- onlinepayments/sdk/domain/redirect_payment_method_specific_input.py +575 -0
- onlinepayments/sdk/domain/redirect_payment_method_specific_output.py +267 -0
- onlinepayments/sdk/domain/redirect_payment_product11_specific_input.py +38 -0
- onlinepayments/sdk/domain/redirect_payment_product3103_specific_input.py +40 -0
- onlinepayments/sdk/domain/redirect_payment_product3112_specific_input.py +40 -0
- onlinepayments/sdk/domain/redirect_payment_product3116_specific_input.py +40 -0
- onlinepayments/sdk/domain/redirect_payment_product3203_specific_input.py +40 -0
- onlinepayments/sdk/domain/redirect_payment_product3204_specific_input.py +55 -0
- onlinepayments/sdk/domain/redirect_payment_product3302_specific_input.py +73 -0
- onlinepayments/sdk/domain/redirect_payment_product3306_specific_input.py +37 -0
- onlinepayments/sdk/domain/redirect_payment_product3307_specific_input.py +16 -0
- onlinepayments/sdk/domain/redirect_payment_product5001_specific_input.py +62 -0
- onlinepayments/sdk/domain/redirect_payment_product5300_specific_input.py +163 -0
- onlinepayments/sdk/domain/redirect_payment_product5402_specific_input.py +40 -0
- onlinepayments/sdk/domain/redirect_payment_product5403_specific_input.py +40 -0
- onlinepayments/sdk/domain/redirect_payment_product5406_specific_input.py +41 -0
- onlinepayments/sdk/domain/redirect_payment_product5408_specific_input.py +60 -0
- onlinepayments/sdk/domain/redirect_payment_product5410_specific_input.py +38 -0
- onlinepayments/sdk/domain/redirect_payment_product5412_specific_input.py +55 -0
- onlinepayments/sdk/domain/redirect_payment_product5601_specific_input.py +40 -0
- onlinepayments/sdk/domain/redirect_payment_product809_specific_input.py +40 -0
- onlinepayments/sdk/domain/redirect_payment_product840_specific_input.py +100 -0
- onlinepayments/sdk/domain/redirection_data.py +37 -0
- onlinepayments/sdk/domain/refund_card_method_specific_output.py +71 -0
- onlinepayments/sdk/domain/refund_e_wallet_method_specific_output.py +71 -0
- onlinepayments/sdk/domain/refund_error_response.py +82 -0
- onlinepayments/sdk/domain/refund_mobile_method_specific_output.py +69 -0
- onlinepayments/sdk/domain/refund_output.py +217 -0
- onlinepayments/sdk/domain/refund_payment_batch_request.py +57 -0
- onlinepayments/sdk/domain/refund_payment_product840_customer_account.py +69 -0
- onlinepayments/sdk/domain/refund_payment_product840_specific_output.py +39 -0
- onlinepayments/sdk/domain/refund_redirect_method_specific_output.py +51 -0
- onlinepayments/sdk/domain/refund_redirect_payment_method_specific_input.py +41 -0
- onlinepayments/sdk/domain/refund_redirect_payment_product900_specific_input.py +37 -0
- onlinepayments/sdk/domain/refund_request.py +210 -0
- onlinepayments/sdk/domain/refund_response.py +97 -0
- onlinepayments/sdk/domain/refunds_response.py +46 -0
- onlinepayments/sdk/domain/regular_expression_validator.py +35 -0
- onlinepayments/sdk/domain/revoke_mandate_request.py +48 -0
- onlinepayments/sdk/domain/send_test_request.py +37 -0
- onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input.py +59 -0
- onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_input_base.py +59 -0
- onlinepayments/sdk/domain/sepa_direct_debit_payment_method_specific_output.py +81 -0
- onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input.py +59 -0
- onlinepayments/sdk/domain/sepa_direct_debit_payment_product771_specific_input_base.py +59 -0
- onlinepayments/sdk/domain/session_data.py +116 -0
- onlinepayments/sdk/domain/session_details.py +55 -0
- onlinepayments/sdk/domain/session_request.py +44 -0
- onlinepayments/sdk/domain/session_response.py +114 -0
- onlinepayments/sdk/domain/shipping.py +214 -0
- onlinepayments/sdk/domain/shipping_detail.py +63 -0
- onlinepayments/sdk/domain/shipping_method.py +91 -0
- onlinepayments/sdk/domain/shopping_cart.py +155 -0
- onlinepayments/sdk/domain/shopping_cart_extension.py +77 -0
- onlinepayments/sdk/domain/shopping_cart_output.py +46 -0
- onlinepayments/sdk/domain/show_form_data.py +173 -0
- onlinepayments/sdk/domain/show_instructions_data.py +37 -0
- onlinepayments/sdk/domain/split_payment_product_filter.py +42 -0
- onlinepayments/sdk/domain/split_payment_product_filters_hosted_checkout.py +62 -0
- onlinepayments/sdk/domain/submit_batch_request_body.py +230 -0
- onlinepayments/sdk/domain/submit_batch_response.py +55 -0
- onlinepayments/sdk/domain/subsequent_card_payment_method_specific_input.py +175 -0
- onlinepayments/sdk/domain/subsequent_payment_batch_request.py +57 -0
- onlinepayments/sdk/domain/subsequent_payment_product5001_specific_input.py +41 -0
- onlinepayments/sdk/domain/subsequent_payment_request.py +107 -0
- onlinepayments/sdk/domain/subsequent_payment_response.py +41 -0
- onlinepayments/sdk/domain/surcharge.py +141 -0
- onlinepayments/sdk/domain/surcharge_calculation_card.py +55 -0
- onlinepayments/sdk/domain/surcharge_for_payment_link.py +40 -0
- onlinepayments/sdk/domain/surcharge_rate.py +91 -0
- onlinepayments/sdk/domain/surcharge_specific_input.py +62 -0
- onlinepayments/sdk/domain/surcharge_specific_output.py +84 -0
- onlinepayments/sdk/domain/test_connection.py +35 -0
- onlinepayments/sdk/domain/three_d_secure.py +281 -0
- onlinepayments/sdk/domain/three_d_secure_base.py +219 -0
- onlinepayments/sdk/domain/three_d_secure_data.py +78 -0
- onlinepayments/sdk/domain/three_d_secure_results.py +266 -0
- onlinepayments/sdk/domain/token_card.py +57 -0
- onlinepayments/sdk/domain/token_card_data.py +83 -0
- onlinepayments/sdk/domain/token_card_specific_input.py +41 -0
- onlinepayments/sdk/domain/token_data.py +63 -0
- onlinepayments/sdk/domain/token_e_wallet.py +59 -0
- onlinepayments/sdk/domain/token_response.py +181 -0
- onlinepayments/sdk/domain/transaction.py +41 -0
- onlinepayments/sdk/domain/uploadable_file.py +51 -0
- onlinepayments/sdk/domain/validate_credentials_request.py +55 -0
- onlinepayments/sdk/domain/validate_credentials_response.py +37 -0
- onlinepayments/sdk/domain/value_mapping_element.py +62 -0
- onlinepayments/sdk/domain/web_hooks_event.py +214 -0
- onlinepayments/sdk/exception_factory.py +75 -0
- onlinepayments/sdk/factory.py +127 -0
- onlinepayments/sdk/i_client.py +78 -0
- onlinepayments/sdk/i_communicator.py +180 -0
- onlinepayments/sdk/idempotence_exception.py +36 -0
- onlinepayments/sdk/json/__init__.py +0 -0
- onlinepayments/sdk/json/default_marshaller.py +60 -0
- onlinepayments/sdk/json/marshaller.py +32 -0
- onlinepayments/sdk/json/marshaller_syntax_exception.py +13 -0
- onlinepayments/sdk/log/__init__.py +0 -0
- onlinepayments/sdk/log/body_obfuscator.py +113 -0
- onlinepayments/sdk/log/communicator_logger.py +35 -0
- onlinepayments/sdk/log/header_obfuscator.py +49 -0
- onlinepayments/sdk/log/log_message.py +94 -0
- onlinepayments/sdk/log/logging_capable.py +26 -0
- onlinepayments/sdk/log/obfuscation_capable.py +24 -0
- onlinepayments/sdk/log/obfuscation_rule.py +50 -0
- onlinepayments/sdk/log/python_communicator_logger.py +54 -0
- onlinepayments/sdk/log/request_log_message.py +28 -0
- onlinepayments/sdk/log/response_log_message.py +37 -0
- onlinepayments/sdk/log/sys_out_communicator_logger.py +36 -0
- onlinepayments/sdk/merchant/__init__.py +4 -0
- onlinepayments/sdk/merchant/captures/__init__.py +4 -0
- onlinepayments/sdk/merchant/captures/captures_client.py +63 -0
- onlinepayments/sdk/merchant/captures/i_captures_client.py +34 -0
- onlinepayments/sdk/merchant/cofseries/__init__.py +4 -0
- onlinepayments/sdk/merchant/cofseries/cof_series_client.py +62 -0
- onlinepayments/sdk/merchant/cofseries/i_cof_series_client.py +35 -0
- onlinepayments/sdk/merchant/complete/__init__.py +4 -0
- onlinepayments/sdk/merchant/complete/complete_client.py +67 -0
- onlinepayments/sdk/merchant/complete/i_complete_client.py +37 -0
- onlinepayments/sdk/merchant/hostedcheckout/__init__.py +4 -0
- onlinepayments/sdk/merchant/hostedcheckout/hosted_checkout_client.py +99 -0
- onlinepayments/sdk/merchant/hostedcheckout/i_hosted_checkout_client.py +55 -0
- onlinepayments/sdk/merchant/hostedfields/__init__.py +4 -0
- onlinepayments/sdk/merchant/hostedfields/hosted_fields_client.py +62 -0
- onlinepayments/sdk/merchant/hostedfields/i_hosted_fields_client.py +35 -0
- onlinepayments/sdk/merchant/hostedtokenization/__init__.py +4 -0
- onlinepayments/sdk/merchant/hostedtokenization/hosted_tokenization_client.py +99 -0
- onlinepayments/sdk/merchant/hostedtokenization/i_hosted_tokenization_client.py +55 -0
- onlinepayments/sdk/merchant/i_merchant_client.py +202 -0
- onlinepayments/sdk/merchant/mandates/__init__.py +4 -0
- onlinepayments/sdk/merchant/mandates/i_mandates_client.py +114 -0
- onlinepayments/sdk/merchant/mandates/mandates_client.py +212 -0
- onlinepayments/sdk/merchant/merchant_client.py +232 -0
- onlinepayments/sdk/merchant/merchantbatch/__init__.py +4 -0
- onlinepayments/sdk/merchant/merchantbatch/i_merchant_batch_client.py +74 -0
- onlinepayments/sdk/merchant/merchantbatch/merchant_batch_client.py +138 -0
- onlinepayments/sdk/merchant/paymentlinks/__init__.py +4 -0
- onlinepayments/sdk/merchant/paymentlinks/get_payment_links_in_bulk_params.py +36 -0
- onlinepayments/sdk/merchant/paymentlinks/i_payment_links_client.py +73 -0
- onlinepayments/sdk/merchant/paymentlinks/payment_links_client.py +135 -0
- onlinepayments/sdk/merchant/payments/__init__.py +4 -0
- onlinepayments/sdk/merchant/payments/i_payments_client.py +143 -0
- onlinepayments/sdk/merchant/payments/payments_client.py +260 -0
- onlinepayments/sdk/merchant/payouts/__init__.py +4 -0
- onlinepayments/sdk/merchant/payouts/i_payouts_client.py +55 -0
- onlinepayments/sdk/merchant/payouts/payouts_client.py +100 -0
- onlinepayments/sdk/merchant/privacypolicy/__init__.py +4 -0
- onlinepayments/sdk/merchant/privacypolicy/get_privacy_policy_params.py +54 -0
- onlinepayments/sdk/merchant/privacypolicy/i_privacy_policy_client.py +36 -0
- onlinepayments/sdk/merchant/privacypolicy/privacy_policy_client.py +61 -0
- onlinepayments/sdk/merchant/productgroups/__init__.py +4 -0
- onlinepayments/sdk/merchant/productgroups/get_product_group_params.py +140 -0
- onlinepayments/sdk/merchant/productgroups/get_product_groups_params.py +140 -0
- onlinepayments/sdk/merchant/productgroups/i_product_groups_client.py +58 -0
- onlinepayments/sdk/merchant/productgroups/product_groups_client.py +100 -0
- onlinepayments/sdk/merchant/products/__init__.py +4 -0
- onlinepayments/sdk/merchant/products/get_payment_product_networks_params.py +89 -0
- onlinepayments/sdk/merchant/products/get_payment_product_params.py +138 -0
- onlinepayments/sdk/merchant/products/get_payment_products_params.py +138 -0
- onlinepayments/sdk/merchant/products/get_product_directory_params.py +54 -0
- onlinepayments/sdk/merchant/products/i_products_client.py +102 -0
- onlinepayments/sdk/merchant/products/products_client.py +178 -0
- onlinepayments/sdk/merchant/refunds/__init__.py +4 -0
- onlinepayments/sdk/merchant/refunds/i_refunds_client.py +34 -0
- onlinepayments/sdk/merchant/refunds/refunds_client.py +63 -0
- onlinepayments/sdk/merchant/services/__init__.py +4 -0
- onlinepayments/sdk/merchant/services/i_services_client.py +96 -0
- onlinepayments/sdk/merchant/services/services_client.py +167 -0
- onlinepayments/sdk/merchant/sessions/__init__.py +4 -0
- onlinepayments/sdk/merchant/sessions/i_sessions_client.py +35 -0
- onlinepayments/sdk/merchant/sessions/sessions_client.py +62 -0
- onlinepayments/sdk/merchant/subsequent/__init__.py +4 -0
- onlinepayments/sdk/merchant/subsequent/i_subsequent_client.py +37 -0
- onlinepayments/sdk/merchant/subsequent/subsequent_client.py +67 -0
- onlinepayments/sdk/merchant/tokenization/__init__.py +4 -0
- onlinepayments/sdk/merchant/tokenization/get_card_data_by_payments_params.py +48 -0
- onlinepayments/sdk/merchant/tokenization/get_card_data_by_tokens_params.py +48 -0
- onlinepayments/sdk/merchant/tokenization/i_tokenization_client.py +77 -0
- onlinepayments/sdk/merchant/tokenization/tokenization_client.py +131 -0
- onlinepayments/sdk/merchant/tokens/__init__.py +4 -0
- onlinepayments/sdk/merchant/tokens/i_tokens_client.py +74 -0
- onlinepayments/sdk/merchant/tokens/tokens_client.py +135 -0
- onlinepayments/sdk/merchant/webhooks/__init__.py +4 -0
- onlinepayments/sdk/merchant/webhooks/i_webhooks_client.py +55 -0
- onlinepayments/sdk/merchant/webhooks/webhooks_client.py +97 -0
- onlinepayments/sdk/platform_exception.py +19 -0
- onlinepayments/sdk/proxy_configuration.py +102 -0
- onlinepayments/sdk/reference_exception.py +19 -0
- onlinepayments/sdk/validation_exception.py +19 -0
- onlinepayments/sdk/webhooks/__init__.py +0 -0
- onlinepayments/sdk/webhooks/api_version_mismatch_exception.py +24 -0
- onlinepayments/sdk/webhooks/in_memory_secret_key_store.py +48 -0
- onlinepayments/sdk/webhooks/secret_key_not_available_exception.py +18 -0
- onlinepayments/sdk/webhooks/secret_key_store.py +15 -0
- onlinepayments/sdk/webhooks/signature_validation_exception.py +17 -0
- onlinepayments/sdk/webhooks/signature_validator.py +56 -0
- onlinepayments/sdk/webhooks/webhooks_helper.py +52 -0
- onlinepayments_sdk_python3-7.4.1.dist-info/METADATA +154 -0
- onlinepayments_sdk_python3-7.4.1.dist-info/RECORD +475 -0
- onlinepayments_sdk_python3-7.4.1.dist-info/WHEEL +5 -0
- onlinepayments_sdk_python3-7.4.1.dist-info/licenses/LICENSE.txt +52 -0
- onlinepayments_sdk_python3-7.4.1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
from configparser import ConfigParser, NoOptionError
|
|
2
|
+
from typing import Optional, Union
|
|
3
|
+
from urllib.parse import urlparse, ParseResult
|
|
4
|
+
|
|
5
|
+
from .proxy_configuration import ProxyConfiguration
|
|
6
|
+
|
|
7
|
+
from onlinepayments.sdk.authentication.authorization_type import AuthorizationType
|
|
8
|
+
from onlinepayments.sdk.domain.shopping_cart_extension import ShoppingCartExtension
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# pylint: disable=too-many-instance-attributes
|
|
12
|
+
# Necessary to load information from config
|
|
13
|
+
class CommunicatorConfiguration(object):
|
|
14
|
+
"""
|
|
15
|
+
Configuration for the communicator.
|
|
16
|
+
"""
|
|
17
|
+
# The default number of maximum connections.
|
|
18
|
+
DEFAULT_MAX_CONNECTIONS = 10
|
|
19
|
+
|
|
20
|
+
__api_endpoint: Optional[ParseResult] = None
|
|
21
|
+
__connect_timeout: Optional[int] = None
|
|
22
|
+
__socket_timeout: Optional[int] = None
|
|
23
|
+
__max_connections: Optional[int] = None
|
|
24
|
+
__authorization_type: Optional[str] = None
|
|
25
|
+
__api_key_id: Optional[str] = None
|
|
26
|
+
__secret_api_key: Optional[str] = None
|
|
27
|
+
__proxy_configuration: Optional[ProxyConfiguration] = None
|
|
28
|
+
__integrator: Optional[str] = None
|
|
29
|
+
__shopping_cart_extension: Optional[ShoppingCartExtension] = None
|
|
30
|
+
|
|
31
|
+
def __init__(self, properties: Optional[ConfigParser] = None,
|
|
32
|
+
api_endpoint: Union[str, ParseResult, None] = None,
|
|
33
|
+
api_key_id: Optional[str] = None, secret_api_key: Optional[str] = None,
|
|
34
|
+
authorization_type: Optional[str] = None,
|
|
35
|
+
connect_timeout: Optional[int] = None, socket_timeout: Optional[int] = None,
|
|
36
|
+
max_connections: Optional[int] = None, proxy_configuration: Optional[ProxyConfiguration] = None,
|
|
37
|
+
integrator: Optional[str] = None, shopping_cart_extension: Optional[ShoppingCartExtension] = None):
|
|
38
|
+
"""
|
|
39
|
+
:param properties: a ConfigParser.ConfigParser object containing configuration data
|
|
40
|
+
:param connect_timeout: connection timeout for the network communication in seconds
|
|
41
|
+
:param socket_timeout: socket timeout for the network communication in seconds
|
|
42
|
+
:param max_connections: The maximum number of connections in the connection pool
|
|
43
|
+
"""
|
|
44
|
+
if properties and properties.sections() and properties.options("OnlinePaymentsSDK"):
|
|
45
|
+
self.__api_endpoint = self.__get_endpoint(properties)
|
|
46
|
+
authorization = properties.get("OnlinePaymentsSDK", "onlinePayments.api.authorizationType")
|
|
47
|
+
self.__authorization_type = AuthorizationType.get_authorization(authorization)
|
|
48
|
+
self.__connect_timeout = int(properties.get("OnlinePaymentsSDK", "onlinePayments.api.connectTimeout"))
|
|
49
|
+
self.__socket_timeout = int(properties.get("OnlinePaymentsSDK", "onlinePayments.api.socketTimeout"))
|
|
50
|
+
self.__max_connections = self.__get_property(properties, "onlinePayments.api.maxConnections",
|
|
51
|
+
self.DEFAULT_MAX_CONNECTIONS)
|
|
52
|
+
try:
|
|
53
|
+
proxy_uri = properties.get("OnlinePaymentsSDK", "onlinePayments.api.proxy.uri")
|
|
54
|
+
except NoOptionError:
|
|
55
|
+
proxy_uri = None
|
|
56
|
+
try:
|
|
57
|
+
proxy_user = properties.get("OnlinePaymentsSDK", "onlinePayments.api.proxy.username")
|
|
58
|
+
except NoOptionError:
|
|
59
|
+
proxy_user = None
|
|
60
|
+
try:
|
|
61
|
+
proxy_pass = properties.get("OnlinePaymentsSDK", "onlinePayments.api.proxy.password")
|
|
62
|
+
except NoOptionError:
|
|
63
|
+
proxy_pass = None
|
|
64
|
+
if proxy_uri is not None:
|
|
65
|
+
self.__proxy_configuration = ProxyConfiguration.from_uri(proxy_uri, proxy_user, proxy_pass)
|
|
66
|
+
else:
|
|
67
|
+
self.__proxy_configuration = None
|
|
68
|
+
try:
|
|
69
|
+
self.__integrator = properties.get("OnlinePaymentsSDK", "onlinePayments.api.integrator")
|
|
70
|
+
except NoOptionError:
|
|
71
|
+
self.__integrator = None
|
|
72
|
+
try:
|
|
73
|
+
self.__shopping_cart_extension = self.__get_shopping_cart_extension(properties)
|
|
74
|
+
except NoOptionError:
|
|
75
|
+
self.__shopping_cart_extension = None
|
|
76
|
+
|
|
77
|
+
if api_endpoint:
|
|
78
|
+
self.api_endpoint = api_endpoint
|
|
79
|
+
if api_key_id:
|
|
80
|
+
self.api_key_id = api_key_id
|
|
81
|
+
if secret_api_key:
|
|
82
|
+
self.secret_api_key = secret_api_key
|
|
83
|
+
if authorization_type:
|
|
84
|
+
self.authorization_type = authorization_type
|
|
85
|
+
if connect_timeout:
|
|
86
|
+
self.connect_timeout = connect_timeout
|
|
87
|
+
if socket_timeout:
|
|
88
|
+
self.socket_timeout = socket_timeout
|
|
89
|
+
if max_connections:
|
|
90
|
+
self.max_connections = max_connections
|
|
91
|
+
if proxy_configuration:
|
|
92
|
+
self.proxy_configuration = proxy_configuration
|
|
93
|
+
if integrator:
|
|
94
|
+
self.integrator = integrator
|
|
95
|
+
if shopping_cart_extension:
|
|
96
|
+
self.shopping_cart_extension = shopping_cart_extension
|
|
97
|
+
|
|
98
|
+
@staticmethod
|
|
99
|
+
def __get_property(properties: ConfigParser, key: str, default_value: int) -> int:
|
|
100
|
+
try:
|
|
101
|
+
property_value = properties.get("OnlinePaymentsSDK", key)
|
|
102
|
+
except NoOptionError:
|
|
103
|
+
property_value = None
|
|
104
|
+
if property_value is not None:
|
|
105
|
+
return int(property_value)
|
|
106
|
+
else:
|
|
107
|
+
return default_value
|
|
108
|
+
|
|
109
|
+
def __get_endpoint(self, properties: ConfigParser) -> ParseResult:
|
|
110
|
+
host = properties.get("OnlinePaymentsSDK", "onlinePayments.api.endpoint.host")
|
|
111
|
+
try:
|
|
112
|
+
scheme = properties.get("OnlinePaymentsSDK", "onlinePayments.api.endpoint.scheme")
|
|
113
|
+
except NoOptionError:
|
|
114
|
+
scheme = None
|
|
115
|
+
try:
|
|
116
|
+
port = properties.get("OnlinePaymentsSDK", "onlinePayments.api.endpoint.port")
|
|
117
|
+
except NoOptionError:
|
|
118
|
+
port = None
|
|
119
|
+
if scheme:
|
|
120
|
+
if port:
|
|
121
|
+
return self.__create_uri(scheme, host, int(port))
|
|
122
|
+
else:
|
|
123
|
+
return self.__create_uri(scheme, host, -1)
|
|
124
|
+
elif port:
|
|
125
|
+
return self.__create_uri("https", host, int(port))
|
|
126
|
+
else:
|
|
127
|
+
return self.__create_uri("https", host, -1)
|
|
128
|
+
|
|
129
|
+
@staticmethod
|
|
130
|
+
def __create_uri(scheme: str, host: str, port: int) -> ParseResult:
|
|
131
|
+
if port != -1:
|
|
132
|
+
uri = scheme + "://" + host + ":" + str(port)
|
|
133
|
+
else:
|
|
134
|
+
uri = scheme + "://" + host
|
|
135
|
+
url = urlparse(uri)
|
|
136
|
+
if url.scheme.lower() not in ["http", "https"] or not url.netloc:
|
|
137
|
+
raise ValueError("Unable to construct endpoint URI")
|
|
138
|
+
return url
|
|
139
|
+
|
|
140
|
+
@staticmethod
|
|
141
|
+
def __get_shopping_cart_extension(properties: ConfigParser) -> Optional[ShoppingCartExtension]:
|
|
142
|
+
try:
|
|
143
|
+
creator = properties.get("OnlinePaymentsSDK", "onlinePayments.api.shoppingCartExtension.creator")
|
|
144
|
+
except NoOptionError:
|
|
145
|
+
creator = None
|
|
146
|
+
try:
|
|
147
|
+
name = properties.get("OnlinePaymentsSDK", "onlinePayments.api.shoppingCartExtension.name")
|
|
148
|
+
except NoOptionError:
|
|
149
|
+
name = None
|
|
150
|
+
try:
|
|
151
|
+
version = properties.get("OnlinePaymentsSDK", "onlinePayments.api.shoppingCartExtension.version")
|
|
152
|
+
except NoOptionError:
|
|
153
|
+
version = None
|
|
154
|
+
try:
|
|
155
|
+
extension_id = properties.get("OnlinePaymentsSDK", "onlinePayments.api.shoppingCartExtension.extensionId")
|
|
156
|
+
except NoOptionError:
|
|
157
|
+
extension_id = None
|
|
158
|
+
if creator is None and name is None and version is None and extension_id is None:
|
|
159
|
+
return None
|
|
160
|
+
else:
|
|
161
|
+
return ShoppingCartExtension(creator, name, version, extension_id)
|
|
162
|
+
|
|
163
|
+
@property
|
|
164
|
+
def api_endpoint(self) -> Optional[ParseResult]:
|
|
165
|
+
"""
|
|
166
|
+
The Online Payments platform API endpoint URI.
|
|
167
|
+
"""
|
|
168
|
+
return self.__api_endpoint
|
|
169
|
+
|
|
170
|
+
@api_endpoint.setter
|
|
171
|
+
def api_endpoint(self, api_endpoint: Union[str, ParseResult, None]) -> None:
|
|
172
|
+
if isinstance(api_endpoint, str):
|
|
173
|
+
api_endpoint = urlparse(str(api_endpoint))
|
|
174
|
+
if api_endpoint is not None and api_endpoint.path:
|
|
175
|
+
raise ValueError("apiEndpoint should not contain a path")
|
|
176
|
+
if api_endpoint is not None and \
|
|
177
|
+
(api_endpoint.username is not None or api_endpoint.query or api_endpoint.fragment):
|
|
178
|
+
raise ValueError("apiEndpoint should not contain user info, query or fragment")
|
|
179
|
+
self.__api_endpoint = api_endpoint
|
|
180
|
+
|
|
181
|
+
@property
|
|
182
|
+
def api_key_id(self) -> Optional[str]:
|
|
183
|
+
"""
|
|
184
|
+
An identifier for the secret API key. The api_key_id can be
|
|
185
|
+
retrieved from the Configuration Center. This identifier is visible in
|
|
186
|
+
the HTTP request and is also used to identify the correct account.
|
|
187
|
+
"""
|
|
188
|
+
return self.__api_key_id
|
|
189
|
+
|
|
190
|
+
@api_key_id.setter
|
|
191
|
+
def api_key_id(self, api_key_id: Optional[str]) -> None:
|
|
192
|
+
self.__api_key_id = api_key_id
|
|
193
|
+
|
|
194
|
+
@property
|
|
195
|
+
def secret_api_key(self) -> Optional[str]:
|
|
196
|
+
"""
|
|
197
|
+
A shared secret. The shared secret can be retrieved from the
|
|
198
|
+
Configuration Center. An api_key_id and secret_api_key always go
|
|
199
|
+
hand-in-hand, the difference is that secret_api_key is never visible in
|
|
200
|
+
the HTTP request. This secret is used as input for the HMAC algorithm.
|
|
201
|
+
"""
|
|
202
|
+
return self.__secret_api_key
|
|
203
|
+
|
|
204
|
+
@secret_api_key.setter
|
|
205
|
+
def secret_api_key(self, secret_api_key: Optional[str]) -> None:
|
|
206
|
+
self.__secret_api_key = secret_api_key
|
|
207
|
+
|
|
208
|
+
@property
|
|
209
|
+
def authorization_type(self) -> Optional[str]:
|
|
210
|
+
return self.__authorization_type
|
|
211
|
+
|
|
212
|
+
@authorization_type.setter
|
|
213
|
+
def authorization_type(self, authorization_type: Optional[str]) -> None:
|
|
214
|
+
self.__authorization_type = authorization_type
|
|
215
|
+
|
|
216
|
+
@property
|
|
217
|
+
def connect_timeout(self) -> Optional[int]:
|
|
218
|
+
"""Connection timeout for the underlying network communication in seconds"""
|
|
219
|
+
return self.__connect_timeout
|
|
220
|
+
|
|
221
|
+
@connect_timeout.setter
|
|
222
|
+
def connect_timeout(self, connect_timeout: Optional[int]) -> None:
|
|
223
|
+
self.__connect_timeout = connect_timeout
|
|
224
|
+
|
|
225
|
+
@property
|
|
226
|
+
def socket_timeout(self) -> Optional[int]:
|
|
227
|
+
"""Socket timeout for the underlying network communication in seconds"""
|
|
228
|
+
return self.__socket_timeout
|
|
229
|
+
|
|
230
|
+
@socket_timeout.setter
|
|
231
|
+
def socket_timeout(self, socket_timeout: Optional[int]) -> None:
|
|
232
|
+
self.__socket_timeout = socket_timeout
|
|
233
|
+
|
|
234
|
+
@property
|
|
235
|
+
def max_connections(self) -> Optional[int]:
|
|
236
|
+
return self.__max_connections
|
|
237
|
+
|
|
238
|
+
@max_connections.setter
|
|
239
|
+
def max_connections(self, max_connections: Optional[int]) -> None:
|
|
240
|
+
self.__max_connections = max_connections
|
|
241
|
+
|
|
242
|
+
@property
|
|
243
|
+
def proxy_configuration(self) -> Optional[ProxyConfiguration]:
|
|
244
|
+
return self.__proxy_configuration
|
|
245
|
+
|
|
246
|
+
@proxy_configuration.setter
|
|
247
|
+
def proxy_configuration(self, proxy_configuration: Optional[ProxyConfiguration]) -> None:
|
|
248
|
+
self.__proxy_configuration = proxy_configuration
|
|
249
|
+
|
|
250
|
+
@property
|
|
251
|
+
def integrator(self) -> Optional[str]:
|
|
252
|
+
return self.__integrator
|
|
253
|
+
|
|
254
|
+
@integrator.setter
|
|
255
|
+
def integrator(self, integrator: Optional[str]) -> None:
|
|
256
|
+
self.__integrator = integrator
|
|
257
|
+
|
|
258
|
+
@property
|
|
259
|
+
def shopping_cart_extension(self) -> Optional[ShoppingCartExtension]:
|
|
260
|
+
return self.__shopping_cart_extension
|
|
261
|
+
|
|
262
|
+
@shopping_cart_extension.setter
|
|
263
|
+
def shopping_cart_extension(self, shopping_cart_extension: Optional[ShoppingCartExtension]) -> None:
|
|
264
|
+
self.__shopping_cart_extension = shopping_cart_extension
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
from .declined_transaction_exception import DeclinedTransactionException
|
|
8
|
+
|
|
9
|
+
from onlinepayments.sdk.domain.create_payment_response import CreatePaymentResponse
|
|
10
|
+
from onlinepayments.sdk.domain.payment_error_response import PaymentErrorResponse
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class DeclinedPaymentException(DeclinedTransactionException):
|
|
14
|
+
"""
|
|
15
|
+
Represents an error response from a create payment call.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
def __init__(self, status_code: int, response_body: str, response: Optional[PaymentErrorResponse]):
|
|
19
|
+
if response is not None:
|
|
20
|
+
super(DeclinedPaymentException, self).__init__(status_code, response_body, response.error_id, response.errors,
|
|
21
|
+
DeclinedPaymentException.__create_message(response))
|
|
22
|
+
else:
|
|
23
|
+
super(DeclinedPaymentException, self).__init__(status_code, response_body, None, None,
|
|
24
|
+
DeclinedPaymentException.__create_message(response))
|
|
25
|
+
self.__response = response
|
|
26
|
+
|
|
27
|
+
@staticmethod
|
|
28
|
+
def __create_message(response: Optional[PaymentErrorResponse]) -> str:
|
|
29
|
+
if response is not None and response.payment_result is not None:
|
|
30
|
+
payment = response.payment_result.payment
|
|
31
|
+
else:
|
|
32
|
+
payment = None
|
|
33
|
+
if payment is not None:
|
|
34
|
+
return "declined payment '%s' with status '%s'" % (payment.id, payment.status)
|
|
35
|
+
else:
|
|
36
|
+
return "the payment platform returned a declined payment response"
|
|
37
|
+
|
|
38
|
+
@property
|
|
39
|
+
def create_payment_response(self) -> Optional[CreatePaymentResponse]:
|
|
40
|
+
"""
|
|
41
|
+
:return: The result of creating a payment if available, otherwise None.
|
|
42
|
+
"""
|
|
43
|
+
if self.__response is None:
|
|
44
|
+
return None
|
|
45
|
+
else:
|
|
46
|
+
return self.__response.payment_result
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
from .declined_transaction_exception import DeclinedTransactionException
|
|
8
|
+
|
|
9
|
+
from onlinepayments.sdk.domain.payout_error_response import PayoutErrorResponse
|
|
10
|
+
from onlinepayments.sdk.domain.payout_result import PayoutResult
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class DeclinedPayoutException(DeclinedTransactionException):
|
|
14
|
+
"""
|
|
15
|
+
Represents an error response from a payout call.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
def __init__(self, status_code: int, response_body: str, response: Optional[PayoutErrorResponse]):
|
|
19
|
+
if response is not None:
|
|
20
|
+
super(DeclinedPayoutException, self).__init__(status_code, response_body, response.error_id, response.errors,
|
|
21
|
+
DeclinedPayoutException.__create_message(response))
|
|
22
|
+
else:
|
|
23
|
+
super(DeclinedPayoutException, self).__init__(status_code, response_body, None, None,
|
|
24
|
+
DeclinedPayoutException.__create_message(response))
|
|
25
|
+
self.__response = response
|
|
26
|
+
|
|
27
|
+
@staticmethod
|
|
28
|
+
def __create_message(response: Optional[PayoutErrorResponse]) -> str:
|
|
29
|
+
if response is not None:
|
|
30
|
+
payout_result = response.payout_result
|
|
31
|
+
else:
|
|
32
|
+
payout_result = None
|
|
33
|
+
if payout_result is not None:
|
|
34
|
+
return "declined payout '%s' with status '%s'" % (payout_result.id, payout_result.status)
|
|
35
|
+
else:
|
|
36
|
+
return "the payment platform returned a declined payout response"
|
|
37
|
+
|
|
38
|
+
@property
|
|
39
|
+
def payout_result(self) -> Optional[PayoutResult]:
|
|
40
|
+
"""
|
|
41
|
+
:return: The result of creating a payout if available, otherwise None.
|
|
42
|
+
"""
|
|
43
|
+
if self.__response is None:
|
|
44
|
+
return None
|
|
45
|
+
else:
|
|
46
|
+
return self.__response.payout_result
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
from .declined_transaction_exception import DeclinedTransactionException
|
|
8
|
+
|
|
9
|
+
from onlinepayments.sdk.domain.refund_error_response import RefundErrorResponse
|
|
10
|
+
from onlinepayments.sdk.domain.refund_response import RefundResponse
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class DeclinedRefundException(DeclinedTransactionException):
|
|
14
|
+
"""
|
|
15
|
+
Represents an error response from a refund call.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
def __init__(self, status_code: int, response_body: str, response: Optional[RefundErrorResponse]):
|
|
19
|
+
if response is not None:
|
|
20
|
+
super(DeclinedRefundException, self).__init__(status_code, response_body, response.error_id, response.errors,
|
|
21
|
+
DeclinedRefundException.__create_message(response))
|
|
22
|
+
else:
|
|
23
|
+
super(DeclinedRefundException, self).__init__(status_code, response_body, None, None,
|
|
24
|
+
DeclinedRefundException.__create_message(response))
|
|
25
|
+
self.__response = response
|
|
26
|
+
|
|
27
|
+
@staticmethod
|
|
28
|
+
def __create_message(response: Optional[RefundErrorResponse]) -> str:
|
|
29
|
+
if response is not None:
|
|
30
|
+
refund_result = response.refund_result
|
|
31
|
+
else:
|
|
32
|
+
refund_result = None
|
|
33
|
+
if refund_result is not None:
|
|
34
|
+
return "declined refund '%s' with status '%s'" % (refund_result.id, refund_result.status)
|
|
35
|
+
else:
|
|
36
|
+
return "the payment platform returned a declined refund response"
|
|
37
|
+
|
|
38
|
+
@property
|
|
39
|
+
def refund_response(self) -> Optional[RefundResponse]:
|
|
40
|
+
"""
|
|
41
|
+
:return: The result of creating a refund if available, otherwise None.
|
|
42
|
+
"""
|
|
43
|
+
if self.__response is None:
|
|
44
|
+
return None
|
|
45
|
+
else:
|
|
46
|
+
return self.__response.refund_result
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from typing import List, Optional
|
|
6
|
+
|
|
7
|
+
from .api_exception import ApiException
|
|
8
|
+
|
|
9
|
+
from onlinepayments.sdk.domain.api_error import APIError
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class DeclinedTransactionException(ApiException):
|
|
13
|
+
"""
|
|
14
|
+
Represents an error response from a create payment, payout or refund call.
|
|
15
|
+
"""
|
|
16
|
+
|
|
17
|
+
def __init__(self, status_code: int, response_body: str, error_id: Optional[str], errors: Optional[List[APIError]],
|
|
18
|
+
message: Optional[str] = None):
|
|
19
|
+
if message:
|
|
20
|
+
super(DeclinedTransactionException, self).__init__(status_code, response_body, error_id, errors, message)
|
|
21
|
+
else:
|
|
22
|
+
super(DeclinedTransactionException, self).__init__(status_code, response_body, error_id, errors)
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
from typing import Optional
|
|
7
|
+
|
|
8
|
+
from .data_object import DataObject
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class Acceptance(DataObject):
|
|
12
|
+
|
|
13
|
+
__acceptance_system_application_id: Optional[str] = None
|
|
14
|
+
__authorization_date: Optional[datetime] = None
|
|
15
|
+
|
|
16
|
+
@property
|
|
17
|
+
def acceptance_system_application_id(self) -> Optional[str]:
|
|
18
|
+
"""
|
|
19
|
+
| Worldline application identifier used to transmit the authorization request. This data is transmitted as provided in the authorization request and in the response. It is named ITP (Terminal Application Identification at the Point of Acceptance) in the CB2A protocol.
|
|
20
|
+
|
|
21
|
+
Type: str
|
|
22
|
+
"""
|
|
23
|
+
return self.__acceptance_system_application_id
|
|
24
|
+
|
|
25
|
+
@acceptance_system_application_id.setter
|
|
26
|
+
def acceptance_system_application_id(self, value: Optional[str]) -> None:
|
|
27
|
+
self.__acceptance_system_application_id = value
|
|
28
|
+
|
|
29
|
+
@property
|
|
30
|
+
def authorization_date(self) -> Optional[datetime]:
|
|
31
|
+
"""
|
|
32
|
+
| It is the authorization processing date and time of the transaction.
|
|
33
|
+
|
|
34
|
+
Type: datetime
|
|
35
|
+
"""
|
|
36
|
+
return self.__authorization_date
|
|
37
|
+
|
|
38
|
+
@authorization_date.setter
|
|
39
|
+
def authorization_date(self, value: Optional[datetime]) -> None:
|
|
40
|
+
self.__authorization_date = value
|
|
41
|
+
|
|
42
|
+
def to_dictionary(self) -> dict:
|
|
43
|
+
dictionary = super(Acceptance, self).to_dictionary()
|
|
44
|
+
if self.acceptance_system_application_id is not None:
|
|
45
|
+
dictionary['acceptanceSystemApplicationId'] = self.acceptance_system_application_id
|
|
46
|
+
if self.authorization_date is not None:
|
|
47
|
+
dictionary['authorizationDate'] = DataObject.format_datetime(self.authorization_date)
|
|
48
|
+
return dictionary
|
|
49
|
+
|
|
50
|
+
def from_dictionary(self, dictionary: dict) -> 'Acceptance':
|
|
51
|
+
super(Acceptance, self).from_dictionary(dictionary)
|
|
52
|
+
if 'acceptanceSystemApplicationId' in dictionary:
|
|
53
|
+
self.acceptance_system_application_id = dictionary['acceptanceSystemApplicationId']
|
|
54
|
+
if 'authorizationDate' in dictionary:
|
|
55
|
+
self.authorization_date = DataObject.parse_datetime(dictionary['authorizationDate'])
|
|
56
|
+
return self
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from typing import List, Optional
|
|
6
|
+
|
|
7
|
+
from .account_on_file_attribute import AccountOnFileAttribute
|
|
8
|
+
from .account_on_file_display_hints import AccountOnFileDisplayHints
|
|
9
|
+
from .data_object import DataObject
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class AccountOnFile(DataObject):
|
|
13
|
+
|
|
14
|
+
__attributes: Optional[List[AccountOnFileAttribute]] = None
|
|
15
|
+
__display_hints: Optional[AccountOnFileDisplayHints] = None
|
|
16
|
+
__id: Optional[str] = None
|
|
17
|
+
__payment_product_id: Optional[int] = None
|
|
18
|
+
|
|
19
|
+
@property
|
|
20
|
+
def attributes(self) -> Optional[List[AccountOnFileAttribute]]:
|
|
21
|
+
"""
|
|
22
|
+
Type: list[:class:`onlinepayments.sdk.domain.account_on_file_attribute.AccountOnFileAttribute`]
|
|
23
|
+
"""
|
|
24
|
+
return self.__attributes
|
|
25
|
+
|
|
26
|
+
@attributes.setter
|
|
27
|
+
def attributes(self, value: Optional[List[AccountOnFileAttribute]]) -> None:
|
|
28
|
+
self.__attributes = value
|
|
29
|
+
|
|
30
|
+
@property
|
|
31
|
+
def display_hints(self) -> Optional[AccountOnFileDisplayHints]:
|
|
32
|
+
"""
|
|
33
|
+
| Object containing information for the client on how best to display this field
|
|
34
|
+
|
|
35
|
+
Type: :class:`onlinepayments.sdk.domain.account_on_file_display_hints.AccountOnFileDisplayHints`
|
|
36
|
+
"""
|
|
37
|
+
return self.__display_hints
|
|
38
|
+
|
|
39
|
+
@display_hints.setter
|
|
40
|
+
def display_hints(self, value: Optional[AccountOnFileDisplayHints]) -> None:
|
|
41
|
+
self.__display_hints = value
|
|
42
|
+
|
|
43
|
+
@property
|
|
44
|
+
def id(self) -> Optional[str]:
|
|
45
|
+
"""
|
|
46
|
+
| ID of the token
|
|
47
|
+
|
|
48
|
+
Type: str
|
|
49
|
+
"""
|
|
50
|
+
return self.__id
|
|
51
|
+
|
|
52
|
+
@id.setter
|
|
53
|
+
def id(self, value: Optional[str]) -> None:
|
|
54
|
+
self.__id = value
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
def payment_product_id(self) -> Optional[int]:
|
|
58
|
+
"""
|
|
59
|
+
| Payment product identifier - Please see Products documentation for a full overview of possible values.
|
|
60
|
+
|
|
61
|
+
Type: int
|
|
62
|
+
"""
|
|
63
|
+
return self.__payment_product_id
|
|
64
|
+
|
|
65
|
+
@payment_product_id.setter
|
|
66
|
+
def payment_product_id(self, value: Optional[int]) -> None:
|
|
67
|
+
self.__payment_product_id = value
|
|
68
|
+
|
|
69
|
+
def to_dictionary(self) -> dict:
|
|
70
|
+
dictionary = super(AccountOnFile, self).to_dictionary()
|
|
71
|
+
if self.attributes is not None:
|
|
72
|
+
dictionary['attributes'] = []
|
|
73
|
+
for element in self.attributes:
|
|
74
|
+
if element is not None:
|
|
75
|
+
dictionary['attributes'].append(element.to_dictionary())
|
|
76
|
+
if self.display_hints is not None:
|
|
77
|
+
dictionary['displayHints'] = self.display_hints.to_dictionary()
|
|
78
|
+
if self.id is not None:
|
|
79
|
+
dictionary['id'] = self.id
|
|
80
|
+
if self.payment_product_id is not None:
|
|
81
|
+
dictionary['paymentProductId'] = self.payment_product_id
|
|
82
|
+
return dictionary
|
|
83
|
+
|
|
84
|
+
def from_dictionary(self, dictionary: dict) -> 'AccountOnFile':
|
|
85
|
+
super(AccountOnFile, self).from_dictionary(dictionary)
|
|
86
|
+
if 'attributes' in dictionary:
|
|
87
|
+
if not isinstance(dictionary['attributes'], list):
|
|
88
|
+
raise TypeError('value \'{}\' is not a list'.format(dictionary['attributes']))
|
|
89
|
+
self.attributes = []
|
|
90
|
+
for element in dictionary['attributes']:
|
|
91
|
+
value = AccountOnFileAttribute()
|
|
92
|
+
self.attributes.append(value.from_dictionary(element))
|
|
93
|
+
if 'displayHints' in dictionary:
|
|
94
|
+
if not isinstance(dictionary['displayHints'], dict):
|
|
95
|
+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['displayHints']))
|
|
96
|
+
value = AccountOnFileDisplayHints()
|
|
97
|
+
self.display_hints = value.from_dictionary(dictionary['displayHints'])
|
|
98
|
+
if 'id' in dictionary:
|
|
99
|
+
self.id = dictionary['id']
|
|
100
|
+
if 'paymentProductId' in dictionary:
|
|
101
|
+
self.payment_product_id = dictionary['paymentProductId']
|
|
102
|
+
return self
|