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,155 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
from .browser_data import BrowserData
|
|
8
|
+
from .data_object import DataObject
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CustomerDevice(DataObject):
|
|
12
|
+
|
|
13
|
+
__accept_header: Optional[str] = None
|
|
14
|
+
__browser_data: Optional[BrowserData] = None
|
|
15
|
+
__device_fingerprint: Optional[str] = None
|
|
16
|
+
__ip_address: Optional[str] = None
|
|
17
|
+
__locale: Optional[str] = None
|
|
18
|
+
__timezone_offset_utc_minutes: Optional[str] = None
|
|
19
|
+
__user_agent: Optional[str] = None
|
|
20
|
+
|
|
21
|
+
@property
|
|
22
|
+
def accept_header(self) -> Optional[str]:
|
|
23
|
+
"""
|
|
24
|
+
| The accept-header of the customer client from the HTTP Headers.
|
|
25
|
+
|
|
26
|
+
Type: str
|
|
27
|
+
"""
|
|
28
|
+
return self.__accept_header
|
|
29
|
+
|
|
30
|
+
@accept_header.setter
|
|
31
|
+
def accept_header(self, value: Optional[str]) -> None:
|
|
32
|
+
self.__accept_header = value
|
|
33
|
+
|
|
34
|
+
@property
|
|
35
|
+
def browser_data(self) -> Optional[BrowserData]:
|
|
36
|
+
"""
|
|
37
|
+
| Object containing information regarding the browser of the customer
|
|
38
|
+
|
|
39
|
+
Type: :class:`onlinepayments.sdk.domain.browser_data.BrowserData`
|
|
40
|
+
"""
|
|
41
|
+
return self.__browser_data
|
|
42
|
+
|
|
43
|
+
@browser_data.setter
|
|
44
|
+
def browser_data(self, value: Optional[BrowserData]) -> None:
|
|
45
|
+
self.__browser_data = value
|
|
46
|
+
|
|
47
|
+
@property
|
|
48
|
+
def device_fingerprint(self) -> Optional[str]:
|
|
49
|
+
"""
|
|
50
|
+
| The session ID for the device fingerprint must match the one sent in the device fingerprint script.
|
|
51
|
+
|
|
52
|
+
Type: str
|
|
53
|
+
"""
|
|
54
|
+
return self.__device_fingerprint
|
|
55
|
+
|
|
56
|
+
@device_fingerprint.setter
|
|
57
|
+
def device_fingerprint(self, value: Optional[str]) -> None:
|
|
58
|
+
self.__device_fingerprint = value
|
|
59
|
+
|
|
60
|
+
@property
|
|
61
|
+
def ip_address(self) -> Optional[str]:
|
|
62
|
+
"""
|
|
63
|
+
| The IP address of the customer client from the HTTP Headers.
|
|
64
|
+
|
|
65
|
+
Type: str
|
|
66
|
+
"""
|
|
67
|
+
return self.__ip_address
|
|
68
|
+
|
|
69
|
+
@ip_address.setter
|
|
70
|
+
def ip_address(self, value: Optional[str]) -> None:
|
|
71
|
+
self.__ip_address = value
|
|
72
|
+
|
|
73
|
+
@property
|
|
74
|
+
def locale(self) -> Optional[str]:
|
|
75
|
+
"""
|
|
76
|
+
| Locale of the client device/browser. Returned in the browser from the navigator.language property.
|
|
77
|
+
|
|
|
78
|
+
| If you use the latest version of our JavaScript Client SDK, we will collect this data and include it in the encryptedCustomerInput property. We will then automatically populate this data if available.
|
|
79
|
+
|
|
80
|
+
Type: str
|
|
81
|
+
"""
|
|
82
|
+
return self.__locale
|
|
83
|
+
|
|
84
|
+
@locale.setter
|
|
85
|
+
def locale(self, value: Optional[str]) -> None:
|
|
86
|
+
self.__locale = value
|
|
87
|
+
|
|
88
|
+
@property
|
|
89
|
+
def timezone_offset_utc_minutes(self) -> Optional[str]:
|
|
90
|
+
"""
|
|
91
|
+
| Offset in minutes of timezone of the client versus the UTC. Value is returned by the JavaScript getTimezoneOffset() Method.
|
|
92
|
+
|
|
|
93
|
+
| If you use the latest version of our JavaScript Client SDK, we will collect this data and include it in the encryptedCustomerInput property. We will then automatically populate this data if available.
|
|
94
|
+
|
|
95
|
+
Type: str
|
|
96
|
+
"""
|
|
97
|
+
return self.__timezone_offset_utc_minutes
|
|
98
|
+
|
|
99
|
+
@timezone_offset_utc_minutes.setter
|
|
100
|
+
def timezone_offset_utc_minutes(self, value: Optional[str]) -> None:
|
|
101
|
+
self.__timezone_offset_utc_minutes = value
|
|
102
|
+
|
|
103
|
+
@property
|
|
104
|
+
def user_agent(self) -> Optional[str]:
|
|
105
|
+
"""
|
|
106
|
+
| User-Agent of the client device/browser from the HTTP Headers.
|
|
107
|
+
|
|
|
108
|
+
| As a fall-back we will use the userAgent that might be included in the encryptedCustomerInput, but this is captured client side using JavaScript and might be different.
|
|
109
|
+
|
|
110
|
+
Type: str
|
|
111
|
+
"""
|
|
112
|
+
return self.__user_agent
|
|
113
|
+
|
|
114
|
+
@user_agent.setter
|
|
115
|
+
def user_agent(self, value: Optional[str]) -> None:
|
|
116
|
+
self.__user_agent = value
|
|
117
|
+
|
|
118
|
+
def to_dictionary(self) -> dict:
|
|
119
|
+
dictionary = super(CustomerDevice, self).to_dictionary()
|
|
120
|
+
if self.accept_header is not None:
|
|
121
|
+
dictionary['acceptHeader'] = self.accept_header
|
|
122
|
+
if self.browser_data is not None:
|
|
123
|
+
dictionary['browserData'] = self.browser_data.to_dictionary()
|
|
124
|
+
if self.device_fingerprint is not None:
|
|
125
|
+
dictionary['deviceFingerprint'] = self.device_fingerprint
|
|
126
|
+
if self.ip_address is not None:
|
|
127
|
+
dictionary['ipAddress'] = self.ip_address
|
|
128
|
+
if self.locale is not None:
|
|
129
|
+
dictionary['locale'] = self.locale
|
|
130
|
+
if self.timezone_offset_utc_minutes is not None:
|
|
131
|
+
dictionary['timezoneOffsetUtcMinutes'] = self.timezone_offset_utc_minutes
|
|
132
|
+
if self.user_agent is not None:
|
|
133
|
+
dictionary['userAgent'] = self.user_agent
|
|
134
|
+
return dictionary
|
|
135
|
+
|
|
136
|
+
def from_dictionary(self, dictionary: dict) -> 'CustomerDevice':
|
|
137
|
+
super(CustomerDevice, self).from_dictionary(dictionary)
|
|
138
|
+
if 'acceptHeader' in dictionary:
|
|
139
|
+
self.accept_header = dictionary['acceptHeader']
|
|
140
|
+
if 'browserData' in dictionary:
|
|
141
|
+
if not isinstance(dictionary['browserData'], dict):
|
|
142
|
+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['browserData']))
|
|
143
|
+
value = BrowserData()
|
|
144
|
+
self.browser_data = value.from_dictionary(dictionary['browserData'])
|
|
145
|
+
if 'deviceFingerprint' in dictionary:
|
|
146
|
+
self.device_fingerprint = dictionary['deviceFingerprint']
|
|
147
|
+
if 'ipAddress' in dictionary:
|
|
148
|
+
self.ip_address = dictionary['ipAddress']
|
|
149
|
+
if 'locale' in dictionary:
|
|
150
|
+
self.locale = dictionary['locale']
|
|
151
|
+
if 'timezoneOffsetUtcMinutes' in dictionary:
|
|
152
|
+
self.timezone_offset_utc_minutes = dictionary['timezoneOffsetUtcMinutes']
|
|
153
|
+
if 'userAgent' in dictionary:
|
|
154
|
+
self.user_agent = dictionary['userAgent']
|
|
155
|
+
return self
|
|
@@ -0,0 +1,37 @@
|
|
|
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 CustomerDeviceOutput(DataObject):
|
|
11
|
+
|
|
12
|
+
__ip_address_country_code: Optional[str] = None
|
|
13
|
+
|
|
14
|
+
@property
|
|
15
|
+
def ip_address_country_code(self) -> Optional[str]:
|
|
16
|
+
"""
|
|
17
|
+
| ISO 3166-1 alpha-2 country code
|
|
18
|
+
|
|
19
|
+
Type: str
|
|
20
|
+
"""
|
|
21
|
+
return self.__ip_address_country_code
|
|
22
|
+
|
|
23
|
+
@ip_address_country_code.setter
|
|
24
|
+
def ip_address_country_code(self, value: Optional[str]) -> None:
|
|
25
|
+
self.__ip_address_country_code = value
|
|
26
|
+
|
|
27
|
+
def to_dictionary(self) -> dict:
|
|
28
|
+
dictionary = super(CustomerDeviceOutput, self).to_dictionary()
|
|
29
|
+
if self.ip_address_country_code is not None:
|
|
30
|
+
dictionary['ipAddressCountryCode'] = self.ip_address_country_code
|
|
31
|
+
return dictionary
|
|
32
|
+
|
|
33
|
+
def from_dictionary(self, dictionary: dict) -> 'CustomerDeviceOutput':
|
|
34
|
+
super(CustomerDeviceOutput, self).from_dictionary(dictionary)
|
|
35
|
+
if 'ipAddressCountryCode' in dictionary:
|
|
36
|
+
self.ip_address_country_code = dictionary['ipAddressCountryCode']
|
|
37
|
+
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 .customer_device_output import CustomerDeviceOutput
|
|
8
|
+
from .data_object import DataObject
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CustomerOutput(DataObject):
|
|
12
|
+
|
|
13
|
+
__device: Optional[CustomerDeviceOutput] = None
|
|
14
|
+
|
|
15
|
+
@property
|
|
16
|
+
def device(self) -> Optional[CustomerDeviceOutput]:
|
|
17
|
+
"""
|
|
18
|
+
| Object containing information on the device and browser of the customer
|
|
19
|
+
|
|
20
|
+
Type: :class:`onlinepayments.sdk.domain.customer_device_output.CustomerDeviceOutput`
|
|
21
|
+
"""
|
|
22
|
+
return self.__device
|
|
23
|
+
|
|
24
|
+
@device.setter
|
|
25
|
+
def device(self, value: Optional[CustomerDeviceOutput]) -> None:
|
|
26
|
+
self.__device = value
|
|
27
|
+
|
|
28
|
+
def to_dictionary(self) -> dict:
|
|
29
|
+
dictionary = super(CustomerOutput, self).to_dictionary()
|
|
30
|
+
if self.device is not None:
|
|
31
|
+
dictionary['device'] = self.device.to_dictionary()
|
|
32
|
+
return dictionary
|
|
33
|
+
|
|
34
|
+
def from_dictionary(self, dictionary: dict) -> 'CustomerOutput':
|
|
35
|
+
super(CustomerOutput, self).from_dictionary(dictionary)
|
|
36
|
+
if 'device' in dictionary:
|
|
37
|
+
if not isinstance(dictionary['device'], dict):
|
|
38
|
+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['device']))
|
|
39
|
+
value = CustomerDeviceOutput()
|
|
40
|
+
self.device = value.from_dictionary(dictionary['device'])
|
|
41
|
+
return self
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
from .data_object import DataObject
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class CustomerPaymentActivity(DataObject):
|
|
11
|
+
|
|
12
|
+
__number_of_payment_attempts_last24_hours: Optional[int] = None
|
|
13
|
+
__number_of_payment_attempts_last_year: Optional[int] = None
|
|
14
|
+
__number_of_purchases_last6_months: Optional[int] = None
|
|
15
|
+
|
|
16
|
+
@property
|
|
17
|
+
def number_of_payment_attempts_last24_hours(self) -> Optional[int]:
|
|
18
|
+
"""
|
|
19
|
+
| Number of payment attempts (so including unsuccessful ones) made by this customer with you in the last 24 hours
|
|
20
|
+
|
|
21
|
+
Type: int
|
|
22
|
+
"""
|
|
23
|
+
return self.__number_of_payment_attempts_last24_hours
|
|
24
|
+
|
|
25
|
+
@number_of_payment_attempts_last24_hours.setter
|
|
26
|
+
def number_of_payment_attempts_last24_hours(self, value: Optional[int]) -> None:
|
|
27
|
+
self.__number_of_payment_attempts_last24_hours = value
|
|
28
|
+
|
|
29
|
+
@property
|
|
30
|
+
def number_of_payment_attempts_last_year(self) -> Optional[int]:
|
|
31
|
+
"""
|
|
32
|
+
| Number of payment attempts (so including unsuccessful ones) made by this customer with you in the last 12 months
|
|
33
|
+
|
|
34
|
+
Type: int
|
|
35
|
+
"""
|
|
36
|
+
return self.__number_of_payment_attempts_last_year
|
|
37
|
+
|
|
38
|
+
@number_of_payment_attempts_last_year.setter
|
|
39
|
+
def number_of_payment_attempts_last_year(self, value: Optional[int]) -> None:
|
|
40
|
+
self.__number_of_payment_attempts_last_year = value
|
|
41
|
+
|
|
42
|
+
@property
|
|
43
|
+
def number_of_purchases_last6_months(self) -> Optional[int]:
|
|
44
|
+
"""
|
|
45
|
+
| Number of successful purchases made by this customer with you in the last 6 months
|
|
46
|
+
|
|
47
|
+
Type: int
|
|
48
|
+
"""
|
|
49
|
+
return self.__number_of_purchases_last6_months
|
|
50
|
+
|
|
51
|
+
@number_of_purchases_last6_months.setter
|
|
52
|
+
def number_of_purchases_last6_months(self, value: Optional[int]) -> None:
|
|
53
|
+
self.__number_of_purchases_last6_months = value
|
|
54
|
+
|
|
55
|
+
def to_dictionary(self) -> dict:
|
|
56
|
+
dictionary = super(CustomerPaymentActivity, self).to_dictionary()
|
|
57
|
+
if self.number_of_payment_attempts_last24_hours is not None:
|
|
58
|
+
dictionary['numberOfPaymentAttemptsLast24Hours'] = self.number_of_payment_attempts_last24_hours
|
|
59
|
+
if self.number_of_payment_attempts_last_year is not None:
|
|
60
|
+
dictionary['numberOfPaymentAttemptsLastYear'] = self.number_of_payment_attempts_last_year
|
|
61
|
+
if self.number_of_purchases_last6_months is not None:
|
|
62
|
+
dictionary['numberOfPurchasesLast6Months'] = self.number_of_purchases_last6_months
|
|
63
|
+
return dictionary
|
|
64
|
+
|
|
65
|
+
def from_dictionary(self, dictionary: dict) -> 'CustomerPaymentActivity':
|
|
66
|
+
super(CustomerPaymentActivity, self).from_dictionary(dictionary)
|
|
67
|
+
if 'numberOfPaymentAttemptsLast24Hours' in dictionary:
|
|
68
|
+
self.number_of_payment_attempts_last24_hours = dictionary['numberOfPaymentAttemptsLast24Hours']
|
|
69
|
+
if 'numberOfPaymentAttemptsLastYear' in dictionary:
|
|
70
|
+
self.number_of_payment_attempts_last_year = dictionary['numberOfPaymentAttemptsLastYear']
|
|
71
|
+
if 'numberOfPurchasesLast6Months' in dictionary:
|
|
72
|
+
self.number_of_purchases_last6_months = dictionary['numberOfPurchasesLast6Months']
|
|
73
|
+
return self
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
from .address import Address
|
|
8
|
+
from .company_information import CompanyInformation
|
|
9
|
+
from .data_object import DataObject
|
|
10
|
+
from .personal_information_token import PersonalInformationToken
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class CustomerToken(DataObject):
|
|
14
|
+
|
|
15
|
+
__billing_address: Optional[Address] = None
|
|
16
|
+
__company_information: Optional[CompanyInformation] = None
|
|
17
|
+
__personal_information: Optional[PersonalInformationToken] = None
|
|
18
|
+
|
|
19
|
+
@property
|
|
20
|
+
def billing_address(self) -> Optional[Address]:
|
|
21
|
+
"""
|
|
22
|
+
| Object containing billing address details.
|
|
23
|
+
|
|
24
|
+
Type: :class:`onlinepayments.sdk.domain.address.Address`
|
|
25
|
+
"""
|
|
26
|
+
return self.__billing_address
|
|
27
|
+
|
|
28
|
+
@billing_address.setter
|
|
29
|
+
def billing_address(self, value: Optional[Address]) -> None:
|
|
30
|
+
self.__billing_address = value
|
|
31
|
+
|
|
32
|
+
@property
|
|
33
|
+
def company_information(self) -> Optional[CompanyInformation]:
|
|
34
|
+
"""
|
|
35
|
+
| Object containing company information
|
|
36
|
+
|
|
37
|
+
Type: :class:`onlinepayments.sdk.domain.company_information.CompanyInformation`
|
|
38
|
+
"""
|
|
39
|
+
return self.__company_information
|
|
40
|
+
|
|
41
|
+
@company_information.setter
|
|
42
|
+
def company_information(self, value: Optional[CompanyInformation]) -> None:
|
|
43
|
+
self.__company_information = value
|
|
44
|
+
|
|
45
|
+
@property
|
|
46
|
+
def personal_information(self) -> Optional[PersonalInformationToken]:
|
|
47
|
+
"""
|
|
48
|
+
Type: :class:`onlinepayments.sdk.domain.personal_information_token.PersonalInformationToken`
|
|
49
|
+
"""
|
|
50
|
+
return self.__personal_information
|
|
51
|
+
|
|
52
|
+
@personal_information.setter
|
|
53
|
+
def personal_information(self, value: Optional[PersonalInformationToken]) -> None:
|
|
54
|
+
self.__personal_information = value
|
|
55
|
+
|
|
56
|
+
def to_dictionary(self) -> dict:
|
|
57
|
+
dictionary = super(CustomerToken, self).to_dictionary()
|
|
58
|
+
if self.billing_address is not None:
|
|
59
|
+
dictionary['billingAddress'] = self.billing_address.to_dictionary()
|
|
60
|
+
if self.company_information is not None:
|
|
61
|
+
dictionary['companyInformation'] = self.company_information.to_dictionary()
|
|
62
|
+
if self.personal_information is not None:
|
|
63
|
+
dictionary['personalInformation'] = self.personal_information.to_dictionary()
|
|
64
|
+
return dictionary
|
|
65
|
+
|
|
66
|
+
def from_dictionary(self, dictionary: dict) -> 'CustomerToken':
|
|
67
|
+
super(CustomerToken, self).from_dictionary(dictionary)
|
|
68
|
+
if 'billingAddress' in dictionary:
|
|
69
|
+
if not isinstance(dictionary['billingAddress'], dict):
|
|
70
|
+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['billingAddress']))
|
|
71
|
+
value = Address()
|
|
72
|
+
self.billing_address = value.from_dictionary(dictionary['billingAddress'])
|
|
73
|
+
if 'companyInformation' in dictionary:
|
|
74
|
+
if not isinstance(dictionary['companyInformation'], dict):
|
|
75
|
+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['companyInformation']))
|
|
76
|
+
value = CompanyInformation()
|
|
77
|
+
self.company_information = value.from_dictionary(dictionary['companyInformation'])
|
|
78
|
+
if 'personalInformation' in dictionary:
|
|
79
|
+
if not isinstance(dictionary['personalInformation'], dict):
|
|
80
|
+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['personalInformation']))
|
|
81
|
+
value = PersonalInformationToken()
|
|
82
|
+
self.personal_information = value.from_dictionary(dictionary['personalInformation'])
|
|
83
|
+
return self
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from datetime import date, datetime, timezone
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class DataObject(object):
|
|
5
|
+
def to_dictionary(self) -> dict:
|
|
6
|
+
return {}
|
|
7
|
+
|
|
8
|
+
def from_dictionary(self, dictionary: dict) -> 'DataObject':
|
|
9
|
+
if not isinstance(dictionary, dict):
|
|
10
|
+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary))
|
|
11
|
+
return self
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def parse_date(s: str) -> date:
|
|
15
|
+
return date.fromisoformat(s)
|
|
16
|
+
|
|
17
|
+
@staticmethod
|
|
18
|
+
def format_date(d: date) -> str:
|
|
19
|
+
return d.isoformat()
|
|
20
|
+
|
|
21
|
+
@staticmethod
|
|
22
|
+
def parse_datetime(s: str) -> datetime:
|
|
23
|
+
if s.endswith("Z"):
|
|
24
|
+
s = s[:-1] + "+00:00"
|
|
25
|
+
|
|
26
|
+
if "." in s:
|
|
27
|
+
main_part, fractional_and_tz = s.split(".", 1)
|
|
28
|
+
|
|
29
|
+
if "+" in fractional_and_tz:
|
|
30
|
+
fractional, tz = fractional_and_tz.split("+", 1)
|
|
31
|
+
s = "{}.{}+{}".format(main_part, fractional[:6], tz)
|
|
32
|
+
elif "-" in fractional_and_tz:
|
|
33
|
+
fractional, tz = fractional_and_tz.split("-", 1)
|
|
34
|
+
s = "{}.{}-{}".format(main_part, fractional[:6], tz)
|
|
35
|
+
else:
|
|
36
|
+
s = "{}.{}".format(main_part, fractional_and_tz[:6])
|
|
37
|
+
|
|
38
|
+
return datetime.fromisoformat(s)
|
|
39
|
+
|
|
40
|
+
@staticmethod
|
|
41
|
+
def format_datetime(dt: datetime) -> str:
|
|
42
|
+
# isoformat(timespec='milliseconds') works fine, as long as there is a timezone
|
|
43
|
+
# if there isn't one, add the current timezone
|
|
44
|
+
if dt.tzinfo is None:
|
|
45
|
+
zone = datetime.fromtimestamp(dt.timestamp(), timezone.utc).astimezone().tzinfo
|
|
46
|
+
dt = datetime.fromtimestamp(dt.timestamp(), zone)
|
|
47
|
+
return dt.isoformat(timespec='milliseconds')
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file was automatically generated.
|
|
4
|
+
#
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
from .card_info import CardInfo
|
|
8
|
+
from .data_object import DataObject
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class DccCardSource(DataObject):
|
|
12
|
+
|
|
13
|
+
__card: Optional[CardInfo] = None
|
|
14
|
+
__encrypted_customer_input: Optional[str] = None
|
|
15
|
+
__hosted_tokenization_id: Optional[str] = None
|
|
16
|
+
__token: Optional[str] = None
|
|
17
|
+
|
|
18
|
+
@property
|
|
19
|
+
def card(self) -> Optional[CardInfo]:
|
|
20
|
+
"""
|
|
21
|
+
Type: :class:`onlinepayments.sdk.domain.card_info.CardInfo`
|
|
22
|
+
"""
|
|
23
|
+
return self.__card
|
|
24
|
+
|
|
25
|
+
@card.setter
|
|
26
|
+
def card(self, value: Optional[CardInfo]) -> None:
|
|
27
|
+
self.__card = value
|
|
28
|
+
|
|
29
|
+
@property
|
|
30
|
+
def encrypted_customer_input(self) -> Optional[str]:
|
|
31
|
+
"""
|
|
32
|
+
| Data that was encrypted client side containing all customer entered data elements like card data. Note: Because this data can only be submitted once to our system and contains encrypted card data you should not store it. As the data was captured within the context of a client session you also need to submit it to us before the session has expired.
|
|
33
|
+
|
|
34
|
+
Type: str
|
|
35
|
+
"""
|
|
36
|
+
return self.__encrypted_customer_input
|
|
37
|
+
|
|
38
|
+
@encrypted_customer_input.setter
|
|
39
|
+
def encrypted_customer_input(self, value: Optional[str]) -> None:
|
|
40
|
+
self.__encrypted_customer_input = value
|
|
41
|
+
|
|
42
|
+
@property
|
|
43
|
+
def hosted_tokenization_id(self) -> Optional[str]:
|
|
44
|
+
"""
|
|
45
|
+
| An Id of a hosted tokenization session
|
|
46
|
+
|
|
47
|
+
Type: str
|
|
48
|
+
"""
|
|
49
|
+
return self.__hosted_tokenization_id
|
|
50
|
+
|
|
51
|
+
@hosted_tokenization_id.setter
|
|
52
|
+
def hosted_tokenization_id(self, value: Optional[str]) -> None:
|
|
53
|
+
self.__hosted_tokenization_id = value
|
|
54
|
+
|
|
55
|
+
@property
|
|
56
|
+
def token(self) -> Optional[str]:
|
|
57
|
+
"""
|
|
58
|
+
| An identifier that represents card details that have previously been stored
|
|
59
|
+
|
|
60
|
+
Type: str
|
|
61
|
+
"""
|
|
62
|
+
return self.__token
|
|
63
|
+
|
|
64
|
+
@token.setter
|
|
65
|
+
def token(self, value: Optional[str]) -> None:
|
|
66
|
+
self.__token = value
|
|
67
|
+
|
|
68
|
+
def to_dictionary(self) -> dict:
|
|
69
|
+
dictionary = super(DccCardSource, self).to_dictionary()
|
|
70
|
+
if self.card is not None:
|
|
71
|
+
dictionary['card'] = self.card.to_dictionary()
|
|
72
|
+
if self.encrypted_customer_input is not None:
|
|
73
|
+
dictionary['encryptedCustomerInput'] = self.encrypted_customer_input
|
|
74
|
+
if self.hosted_tokenization_id is not None:
|
|
75
|
+
dictionary['hostedTokenizationId'] = self.hosted_tokenization_id
|
|
76
|
+
if self.token is not None:
|
|
77
|
+
dictionary['token'] = self.token
|
|
78
|
+
return dictionary
|
|
79
|
+
|
|
80
|
+
def from_dictionary(self, dictionary: dict) -> 'DccCardSource':
|
|
81
|
+
super(DccCardSource, self).from_dictionary(dictionary)
|
|
82
|
+
if 'card' in dictionary:
|
|
83
|
+
if not isinstance(dictionary['card'], dict):
|
|
84
|
+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['card']))
|
|
85
|
+
value = CardInfo()
|
|
86
|
+
self.card = value.from_dictionary(dictionary['card'])
|
|
87
|
+
if 'encryptedCustomerInput' in dictionary:
|
|
88
|
+
self.encrypted_customer_input = dictionary['encryptedCustomerInput']
|
|
89
|
+
if 'hostedTokenizationId' in dictionary:
|
|
90
|
+
self.hosted_tokenization_id = dictionary['hostedTokenizationId']
|
|
91
|
+
if 'token' in dictionary:
|
|
92
|
+
self.token = dictionary['token']
|
|
93
|
+
return self
|
|
@@ -0,0 +1,118 @@
|
|
|
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 .rate_details import RateDetails
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class DccProposal(DataObject):
|
|
13
|
+
|
|
14
|
+
__base_amount: Optional[AmountOfMoney] = None
|
|
15
|
+
__disclaimer_display: Optional[str] = None
|
|
16
|
+
__disclaimer_receipt: Optional[str] = None
|
|
17
|
+
__rate: Optional[RateDetails] = None
|
|
18
|
+
__target_amount: Optional[AmountOfMoney] = None
|
|
19
|
+
|
|
20
|
+
@property
|
|
21
|
+
def base_amount(self) -> Optional[AmountOfMoney]:
|
|
22
|
+
"""
|
|
23
|
+
| Object containing amount and ISO currency code attributes
|
|
24
|
+
|
|
25
|
+
Type: :class:`onlinepayments.sdk.domain.amount_of_money.AmountOfMoney`
|
|
26
|
+
"""
|
|
27
|
+
return self.__base_amount
|
|
28
|
+
|
|
29
|
+
@base_amount.setter
|
|
30
|
+
def base_amount(self, value: Optional[AmountOfMoney]) -> None:
|
|
31
|
+
self.__base_amount = value
|
|
32
|
+
|
|
33
|
+
@property
|
|
34
|
+
def disclaimer_display(self) -> Optional[str]:
|
|
35
|
+
"""
|
|
36
|
+
| Card scheme disclaimer to present to the cardholder
|
|
37
|
+
|
|
38
|
+
Type: str
|
|
39
|
+
"""
|
|
40
|
+
return self.__disclaimer_display
|
|
41
|
+
|
|
42
|
+
@disclaimer_display.setter
|
|
43
|
+
def disclaimer_display(self, value: Optional[str]) -> None:
|
|
44
|
+
self.__disclaimer_display = value
|
|
45
|
+
|
|
46
|
+
@property
|
|
47
|
+
def disclaimer_receipt(self) -> Optional[str]:
|
|
48
|
+
"""
|
|
49
|
+
| Card scheme disclaimer to print within cardholder receipt
|
|
50
|
+
|
|
51
|
+
Type: str
|
|
52
|
+
"""
|
|
53
|
+
return self.__disclaimer_receipt
|
|
54
|
+
|
|
55
|
+
@disclaimer_receipt.setter
|
|
56
|
+
def disclaimer_receipt(self, value: Optional[str]) -> None:
|
|
57
|
+
self.__disclaimer_receipt = value
|
|
58
|
+
|
|
59
|
+
@property
|
|
60
|
+
def rate(self) -> Optional[RateDetails]:
|
|
61
|
+
"""
|
|
62
|
+
Type: :class:`onlinepayments.sdk.domain.rate_details.RateDetails`
|
|
63
|
+
"""
|
|
64
|
+
return self.__rate
|
|
65
|
+
|
|
66
|
+
@rate.setter
|
|
67
|
+
def rate(self, value: Optional[RateDetails]) -> None:
|
|
68
|
+
self.__rate = value
|
|
69
|
+
|
|
70
|
+
@property
|
|
71
|
+
def target_amount(self) -> Optional[AmountOfMoney]:
|
|
72
|
+
"""
|
|
73
|
+
| Object containing amount and ISO currency code attributes
|
|
74
|
+
|
|
75
|
+
Type: :class:`onlinepayments.sdk.domain.amount_of_money.AmountOfMoney`
|
|
76
|
+
"""
|
|
77
|
+
return self.__target_amount
|
|
78
|
+
|
|
79
|
+
@target_amount.setter
|
|
80
|
+
def target_amount(self, value: Optional[AmountOfMoney]) -> None:
|
|
81
|
+
self.__target_amount = value
|
|
82
|
+
|
|
83
|
+
def to_dictionary(self) -> dict:
|
|
84
|
+
dictionary = super(DccProposal, self).to_dictionary()
|
|
85
|
+
if self.base_amount is not None:
|
|
86
|
+
dictionary['baseAmount'] = self.base_amount.to_dictionary()
|
|
87
|
+
if self.disclaimer_display is not None:
|
|
88
|
+
dictionary['disclaimerDisplay'] = self.disclaimer_display
|
|
89
|
+
if self.disclaimer_receipt is not None:
|
|
90
|
+
dictionary['disclaimerReceipt'] = self.disclaimer_receipt
|
|
91
|
+
if self.rate is not None:
|
|
92
|
+
dictionary['rate'] = self.rate.to_dictionary()
|
|
93
|
+
if self.target_amount is not None:
|
|
94
|
+
dictionary['targetAmount'] = self.target_amount.to_dictionary()
|
|
95
|
+
return dictionary
|
|
96
|
+
|
|
97
|
+
def from_dictionary(self, dictionary: dict) -> 'DccProposal':
|
|
98
|
+
super(DccProposal, self).from_dictionary(dictionary)
|
|
99
|
+
if 'baseAmount' in dictionary:
|
|
100
|
+
if not isinstance(dictionary['baseAmount'], dict):
|
|
101
|
+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['baseAmount']))
|
|
102
|
+
value = AmountOfMoney()
|
|
103
|
+
self.base_amount = value.from_dictionary(dictionary['baseAmount'])
|
|
104
|
+
if 'disclaimerDisplay' in dictionary:
|
|
105
|
+
self.disclaimer_display = dictionary['disclaimerDisplay']
|
|
106
|
+
if 'disclaimerReceipt' in dictionary:
|
|
107
|
+
self.disclaimer_receipt = dictionary['disclaimerReceipt']
|
|
108
|
+
if 'rate' in dictionary:
|
|
109
|
+
if not isinstance(dictionary['rate'], dict):
|
|
110
|
+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['rate']))
|
|
111
|
+
value = RateDetails()
|
|
112
|
+
self.rate = value.from_dictionary(dictionary['rate'])
|
|
113
|
+
if 'targetAmount' in dictionary:
|
|
114
|
+
if not isinstance(dictionary['targetAmount'], dict):
|
|
115
|
+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['targetAmount']))
|
|
116
|
+
value = AmountOfMoney()
|
|
117
|
+
self.target_amount = value.from_dictionary(dictionary['targetAmount'])
|
|
118
|
+
return self
|