diff --git a/.openapi-generator/FILES b/.openapi-generator/FILES index 409bafc6..32fc43e0 100644 --- a/.openapi-generator/FILES +++ b/.openapi-generator/FILES @@ -3,121 +3,107 @@ .gitignore LICENSE README.md -docs/BillingInformation.md +docs/Capture.md +docs/CaptureList.md +docs/CaptureListResponse.md +docs/CaptureParameters.md docs/Card.md docs/CardChannelProperties.md -docs/CardParameters.md -docs/CardParametersCardInformation.md +docs/CardInformation.md docs/CardVerificationResults.md docs/CardVerificationResultsThreeDSecure.md -docs/ChannelAmountLimits.md -docs/ChannelAmountLimitsAllOf.md -docs/ChannelProperty.md -docs/ChannelPropertyAllOf.md -docs/CreatePaymentMethod409Response.md -docs/CreatePaymentMethod503Response.md docs/DirectDebit.md docs/DirectDebitAllOf.md docs/DirectDebitBankAccount.md docs/DirectDebitChannelCode.md docs/DirectDebitChannelProperties.md +docs/DirectDebitChannelPropertiesBankAccount.md +docs/DirectDebitChannelPropertiesBankRedirect.md +docs/DirectDebitChannelPropertiesDebitCard.md docs/DirectDebitDebitCard.md docs/DirectDebitParameters.md docs/DirectDebitType.md docs/EWallet.md docs/EWalletAccount.md +docs/EWalletAllOf.md docs/EWalletChannelCode.md docs/EWalletChannelProperties.md docs/EWalletParameters.md -docs/GetAllPaymentMethods400Response.md -docs/GetAllPaymentMethods403Response.md -docs/GetAllPaymentMethods404Response.md -docs/GetAllPaymentMethodsDefaultResponse.md +docs/Error.md docs/OverTheCounter.md docs/OverTheCounterChannelCode.md docs/OverTheCounterChannelProperties.md -docs/OverTheCounterChannelPropertiesUpdate.md docs/OverTheCounterParameters.md -docs/OverTheCounterUpdateParameters.md -docs/PaymentChannel.md -docs/PaymentChannelAllOf.md -docs/PaymentChannelList.md -docs/PaymentChannelListLinksInner.md -docs/PaymentChannelListLinksInnerAllOf.md docs/PaymentMethod.md -docs/PaymentMethodAction.md -docs/PaymentMethodApi.md -docs/PaymentMethodAuthParameters.md -docs/PaymentMethodCountry.md -docs/PaymentMethodExpireParameters.md -docs/PaymentMethodList.md docs/PaymentMethodParameters.md docs/PaymentMethodReusability.md docs/PaymentMethodStatus.md docs/PaymentMethodType.md -docs/PaymentMethodUpdateParameters.md +docs/PaymentRequest.md +docs/PaymentRequestAction.md +docs/PaymentRequestApi.md +docs/PaymentRequestAuthParameters.md +docs/PaymentRequestBasket.md +docs/PaymentRequestBasketItem.md +docs/PaymentRequestCaptureMethod.md +docs/PaymentRequestCardVerificationResults.md +docs/PaymentRequestCardVerificationResultsThreeDeeSecure.md +docs/PaymentRequestChannelProperties.md +docs/PaymentRequestCountry.md +docs/PaymentRequestCurrency.md +docs/PaymentRequestInitiator.md +docs/PaymentRequestListResponse.md +docs/PaymentRequestParameters.md +docs/PaymentRequestParametersChannelProperties.md +docs/PaymentRequestParametersChannelPropertiesAllOf.md +docs/PaymentRequestShippingInformation.md +docs/PaymentRequestStatus.md docs/QRCode.md docs/QRCodeChannelCode.md docs/QRCodeChannelProperties.md docs/QRCodeParameters.md -docs/SimulatePaymentRequest.md -docs/TokenizedCardInformation.md docs/VirtualAccount.md docs/VirtualAccountAllOf.md docs/VirtualAccountAlternativeDisplay.md docs/VirtualAccountChannelCode.md docs/VirtualAccountChannelProperties.md -docs/VirtualAccountChannelPropertiesPatch.md docs/VirtualAccountParameters.md -docs/VirtualAccountUpdateParameters.md docs/header.jpg requirements.txt setup.cfg setup.py test-requirements.txt test/__init__.py -test/test_billing_information.py -test/test_card.py -test/test_card_channel_properties.py -test/test_card_parameters.py -test/test_card_parameters_card_information.py -test/test_card_verification_results_three_d_secure.py -test/test_channel_amount_limits.py -test/test_channel_amount_limits_all_of.py -test/test_channel_property.py -test/test_channel_property_all_of.py -test/test_create_payment_method409_response.py -test/test_create_payment_method503_response.py -test/test_e_wallet_channel_code.py -test/test_e_wallet_channel_properties.py -test/test_e_wallet_parameters.py -test/test_get_all_payment_methods400_response.py -test/test_get_all_payment_methods403_response.py -test/test_get_all_payment_methods404_response.py -test/test_get_all_payment_methods_default_response.py -test/test_over_the_counter_channel_properties_update.py -test/test_over_the_counter_update_parameters.py -test/test_payment_channel.py -test/test_payment_channel_all_of.py -test/test_payment_channel_list.py -test/test_payment_channel_list_links_inner.py -test/test_payment_channel_list_links_inner_all_of.py -test/test_payment_method_action.py -test/test_payment_method_api.py -test/test_payment_method_auth_parameters.py -test/test_payment_method_country.py -test/test_payment_method_expire_parameters.py -test/test_payment_method_list.py -test/test_payment_method_update_parameters.py -test/test_qr_code_channel_code.py -test/test_qr_code_channel_properties.py -test/test_qr_code_parameters.py -test/test_simulate_payment_request.py -test/test_tokenized_card_information.py -test/test_virtual_account_channel_properties_patch.py -test/test_virtual_account_update_parameters.py -tmp/payment_method.api.py -tmp/payment_method.model.py +test/test_capture.py +test/test_capture_list.py +test/test_capture_list_response.py +test/test_capture_parameters.py +test/test_card_information.py +test/test_direct_debit_channel_properties_bank_account.py +test/test_direct_debit_channel_properties_bank_redirect.py +test/test_direct_debit_channel_properties_debit_card.py +test/test_e_wallet_all_of.py +test/test_payment_request.py +test/test_payment_request_action.py +test/test_payment_request_api.py +test/test_payment_request_auth_parameters.py +test/test_payment_request_basket.py +test/test_payment_request_basket_item.py +test/test_payment_request_capture_method.py +test/test_payment_request_card_verification_results.py +test/test_payment_request_card_verification_results_three_dee_secure.py +test/test_payment_request_channel_properties.py +test/test_payment_request_country.py +test/test_payment_request_currency.py +test/test_payment_request_initiator.py +test/test_payment_request_list_response.py +test/test_payment_request_parameters.py +test/test_payment_request_parameters_channel_properties.py +test/test_payment_request_parameters_channel_properties_all_of.py +test/test_payment_request_shipping_information.py +test/test_payment_request_status.py +tmp/payment_request.api.py +tmp/payment_request.model.py tox.ini xendit/__init__.py xendit/api_client.py @@ -126,73 +112,71 @@ xendit/configuration.py xendit/exceptions.py xendit/model_utils.py xendit/models/__init__.py -xendit/payment_method/__init__.py -xendit/payment_method/model/__init__.py -xendit/payment_method/model/billing_information.py -xendit/payment_method/model/card.py -xendit/payment_method/model/card_channel_properties.py -xendit/payment_method/model/card_parameters.py -xendit/payment_method/model/card_parameters_card_information.py -xendit/payment_method/model/card_verification_results.py -xendit/payment_method/model/card_verification_results_three_d_secure.py -xendit/payment_method/model/channel_amount_limits.py -xendit/payment_method/model/channel_amount_limits_all_of.py -xendit/payment_method/model/channel_property.py -xendit/payment_method/model/channel_property_all_of.py -xendit/payment_method/model/create_payment_method409_response.py -xendit/payment_method/model/create_payment_method503_response.py -xendit/payment_method/model/direct_debit.py -xendit/payment_method/model/direct_debit_all_of.py -xendit/payment_method/model/direct_debit_bank_account.py -xendit/payment_method/model/direct_debit_channel_code.py -xendit/payment_method/model/direct_debit_channel_properties.py -xendit/payment_method/model/direct_debit_debit_card.py -xendit/payment_method/model/direct_debit_parameters.py -xendit/payment_method/model/direct_debit_type.py -xendit/payment_method/model/e_wallet.py -xendit/payment_method/model/e_wallet_account.py -xendit/payment_method/model/e_wallet_channel_code.py -xendit/payment_method/model/e_wallet_channel_properties.py -xendit/payment_method/model/e_wallet_parameters.py -xendit/payment_method/model/get_all_payment_methods400_response.py -xendit/payment_method/model/get_all_payment_methods403_response.py -xendit/payment_method/model/get_all_payment_methods404_response.py -xendit/payment_method/model/get_all_payment_methods_default_response.py -xendit/payment_method/model/over_the_counter.py -xendit/payment_method/model/over_the_counter_channel_code.py -xendit/payment_method/model/over_the_counter_channel_properties.py -xendit/payment_method/model/over_the_counter_channel_properties_update.py -xendit/payment_method/model/over_the_counter_parameters.py -xendit/payment_method/model/over_the_counter_update_parameters.py -xendit/payment_method/model/payment_channel.py -xendit/payment_method/model/payment_channel_all_of.py -xendit/payment_method/model/payment_channel_list.py -xendit/payment_method/model/payment_channel_list_links_inner.py -xendit/payment_method/model/payment_channel_list_links_inner_all_of.py -xendit/payment_method/model/payment_method.py -xendit/payment_method/model/payment_method_action.py -xendit/payment_method/model/payment_method_auth_parameters.py -xendit/payment_method/model/payment_method_country.py -xendit/payment_method/model/payment_method_expire_parameters.py -xendit/payment_method/model/payment_method_list.py -xendit/payment_method/model/payment_method_parameters.py -xendit/payment_method/model/payment_method_reusability.py -xendit/payment_method/model/payment_method_status.py -xendit/payment_method/model/payment_method_type.py -xendit/payment_method/model/payment_method_update_parameters.py -xendit/payment_method/model/qr_code.py -xendit/payment_method/model/qr_code_channel_code.py -xendit/payment_method/model/qr_code_channel_properties.py -xendit/payment_method/model/qr_code_parameters.py -xendit/payment_method/model/simulate_payment_request.py -xendit/payment_method/model/tokenized_card_information.py -xendit/payment_method/model/virtual_account.py -xendit/payment_method/model/virtual_account_all_of.py -xendit/payment_method/model/virtual_account_alternative_display.py -xendit/payment_method/model/virtual_account_channel_code.py -xendit/payment_method/model/virtual_account_channel_properties.py -xendit/payment_method/model/virtual_account_channel_properties_patch.py -xendit/payment_method/model/virtual_account_parameters.py -xendit/payment_method/model/virtual_account_update_parameters.py -xendit/payment_method/payment_method_api.py +xendit/payment_request/__init__.py +xendit/payment_request/model/__init__.py +xendit/payment_request/model/capture.py +xendit/payment_request/model/capture_list.py +xendit/payment_request/model/capture_list_response.py +xendit/payment_request/model/capture_parameters.py +xendit/payment_request/model/card.py +xendit/payment_request/model/card_channel_properties.py +xendit/payment_request/model/card_information.py +xendit/payment_request/model/card_verification_results.py +xendit/payment_request/model/card_verification_results_three_d_secure.py +xendit/payment_request/model/direct_debit.py +xendit/payment_request/model/direct_debit_all_of.py +xendit/payment_request/model/direct_debit_bank_account.py +xendit/payment_request/model/direct_debit_channel_code.py +xendit/payment_request/model/direct_debit_channel_properties.py +xendit/payment_request/model/direct_debit_channel_properties_bank_account.py +xendit/payment_request/model/direct_debit_channel_properties_bank_redirect.py +xendit/payment_request/model/direct_debit_channel_properties_debit_card.py +xendit/payment_request/model/direct_debit_debit_card.py +xendit/payment_request/model/direct_debit_parameters.py +xendit/payment_request/model/direct_debit_type.py +xendit/payment_request/model/e_wallet.py +xendit/payment_request/model/e_wallet_account.py +xendit/payment_request/model/e_wallet_all_of.py +xendit/payment_request/model/e_wallet_channel_code.py +xendit/payment_request/model/e_wallet_channel_properties.py +xendit/payment_request/model/e_wallet_parameters.py +xendit/payment_request/model/error.py +xendit/payment_request/model/over_the_counter.py +xendit/payment_request/model/over_the_counter_channel_code.py +xendit/payment_request/model/over_the_counter_channel_properties.py +xendit/payment_request/model/over_the_counter_parameters.py +xendit/payment_request/model/payment_method.py +xendit/payment_request/model/payment_method_parameters.py +xendit/payment_request/model/payment_method_reusability.py +xendit/payment_request/model/payment_method_status.py +xendit/payment_request/model/payment_method_type.py +xendit/payment_request/model/payment_request.py +xendit/payment_request/model/payment_request_action.py +xendit/payment_request/model/payment_request_auth_parameters.py +xendit/payment_request/model/payment_request_basket.py +xendit/payment_request/model/payment_request_basket_item.py +xendit/payment_request/model/payment_request_capture_method.py +xendit/payment_request/model/payment_request_card_verification_results.py +xendit/payment_request/model/payment_request_card_verification_results_three_dee_secure.py +xendit/payment_request/model/payment_request_channel_properties.py +xendit/payment_request/model/payment_request_country.py +xendit/payment_request/model/payment_request_currency.py +xendit/payment_request/model/payment_request_initiator.py +xendit/payment_request/model/payment_request_list_response.py +xendit/payment_request/model/payment_request_parameters.py +xendit/payment_request/model/payment_request_parameters_channel_properties.py +xendit/payment_request/model/payment_request_parameters_channel_properties_all_of.py +xendit/payment_request/model/payment_request_shipping_information.py +xendit/payment_request/model/payment_request_status.py +xendit/payment_request/model/qr_code.py +xendit/payment_request/model/qr_code_channel_code.py +xendit/payment_request/model/qr_code_channel_properties.py +xendit/payment_request/model/qr_code_parameters.py +xendit/payment_request/model/virtual_account.py +xendit/payment_request/model/virtual_account_all_of.py +xendit/payment_request/model/virtual_account_alternative_display.py +xendit/payment_request/model/virtual_account_channel_code.py +xendit/payment_request/model/virtual_account_channel_properties.py +xendit/payment_request/model/virtual_account_parameters.py +xendit/payment_request/payment_request_api.py xendit/rest.py diff --git a/README.md b/README.md index 59f0a3db..b1dff692 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ The official Xendit Python SDK provides a simple and convenient way to call Xendit's REST API in applications written in Python. -* Package version: 3.2.0 +* Package version: 3.3.0 ## Requirements. @@ -67,6 +67,7 @@ except xendit.XenditSdkException as e: Find detailed API information and examples for each of our product's by clicking the links below, * [Balance](docs/BalanceApi.md) +* [Customer](docs/CustomerApi.md) * [Invoice](docs/InvoiceApi.md) * [PaymentMethod](docs/PaymentMethodApi.md) * [PaymentRequest](docs/PaymentRequestApi.md) diff --git a/docs/AccountBank.md b/docs/AccountBank.md new file mode 100644 index 00000000..2c7ba779 --- /dev/null +++ b/docs/AccountBank.md @@ -0,0 +1,16 @@ +# xendit.customer.model.AccountBank + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_number** | **str** | Unique account identifier as per the bank records. | [optional] +**account_holder_name** | **str, none_type** | Name of account holder as per the bank records. Needs to match the registered account name exactly. . | [optional] +**swift_code** | **str, none_type** | The SWIFT code for international payments | [optional] +**account_type** | **str, none_type** | Free text account type, e.g., Savings, Transaction, Virtual Account. | [optional] +**account_details** | **str, none_type** | Potentially masked account detail, for display purposes only. | [optional] +**currency** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ChannelProperty.md b/docs/AccountCard.md similarity index 50% rename from docs/ChannelProperty.md rename to docs/AccountCard.md index 412ec760..7f7b68b7 100644 --- a/docs/ChannelProperty.md +++ b/docs/AccountCard.md @@ -1,12 +1,10 @@ -# xendit.payment_method.model.ChannelProperty +# xendit.customer.model.AccountCard ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**name** | **str** | The corresponding parameter name | [optional] -**type** | **str** | Data type of the parameter | [optional] -**is_required** | **bool** | Indicates whether or not the parameter is required | [optional] +**token_id** | **str** | The token id returned in tokenisation | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/AccountEwallet.md b/docs/AccountEwallet.md new file mode 100644 index 00000000..61c8fbff --- /dev/null +++ b/docs/AccountEwallet.md @@ -0,0 +1,13 @@ +# xendit.customer.model.AccountEwallet + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_number** | **str** | Unique account identifier as per the bank records. | [optional] +**account_holder_name** | **str, none_type** | Name of account holder as per the bank records. Needs to match the registered account name exactly. | [optional] +**currency** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AccountOTC.md b/docs/AccountOTC.md new file mode 100644 index 00000000..9239c483 --- /dev/null +++ b/docs/AccountOTC.md @@ -0,0 +1,12 @@ +# xendit.customer.model.AccountOTC + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**payment_code** | **str** | Complete fixed payment code (including prefix) | [optional] +**expires_at** | **str, none_type** | YYYY-MM-DD string with expiry date for the payment code | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AccountPayLater.md b/docs/AccountPayLater.md new file mode 100644 index 00000000..4aa09b05 --- /dev/null +++ b/docs/AccountPayLater.md @@ -0,0 +1,13 @@ +# xendit.customer.model.AccountPayLater + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_id** | **str** | Alphanumeric string identifying this account. Usually an email address or phone number. | [optional] +**account_holder_name** | **str, none_type** | Name of account holder as per the cardless credit account. | [optional] +**currency** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AccountQRCode.md b/docs/AccountQRCode.md new file mode 100644 index 00000000..6d56949d --- /dev/null +++ b/docs/AccountQRCode.md @@ -0,0 +1,11 @@ +# xendit.customer.model.AccountQRCode + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**qr_string** | **str** | String representation of the QR Code image | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Address.md b/docs/Address.md new file mode 100644 index 00000000..401c3816 --- /dev/null +++ b/docs/Address.md @@ -0,0 +1,23 @@ +# xendit.customer.model.Address + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**category** | **str, none_type** | | +**country** | **bool, date, datetime, dict, float, int, list, str, none_type** | | +**province_state** | **str, none_type** | | +**city** | **str, none_type** | | +**postal_code** | **str, none_type** | | +**street_line1** | **str, none_type** | | +**street_line2** | **str, none_type** | | +**is_primary** | **bool, none_type** | | +**id** | **str** | | [optional] +**status** | [**AddressStatus**](AddressStatus.md) | | [optional] +**meta** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type** | | [optional] +**created** | **datetime** | | [optional] +**updated** | **datetime** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AddressRequest.md b/docs/AddressRequest.md new file mode 100644 index 00000000..b4457718 --- /dev/null +++ b/docs/AddressRequest.md @@ -0,0 +1,20 @@ +# xendit.customer.model.AddressRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**category** | **str** | Home, work or provincial | [optional] +**country_code** | [**CountryCode**](CountryCode.md) | | [optional] +**province_state** | **str** | | [optional] +**city** | **str** | | [optional] +**suburb** | **str** | | [optional] +**postal_code** | **str** | | [optional] +**line_1** | **str** | | [optional] +**line_2** | **str** | | [optional] +**status** | [**AddressStatus**](AddressStatus.md) | | [optional] +**is_primary** | **bool** | | [optional] if omitted the server will use the default value of False + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AddressStatus.md b/docs/AddressStatus.md new file mode 100644 index 00000000..e0b5cf54 --- /dev/null +++ b/docs/AddressStatus.md @@ -0,0 +1,11 @@ +# xendit.customer.model.AddressStatus + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **str** | | must be one of ["ACTIVE", "DELETED", ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/BusinessDetail.md b/docs/BusinessDetail.md new file mode 100644 index 00000000..6339b26e --- /dev/null +++ b/docs/BusinessDetail.md @@ -0,0 +1,15 @@ +# xendit.customer.model.BusinessDetail + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**business_name** | **str** | | [optional] +**business_type** | **str, none_type** | | [optional] +**date_of_registration** | **str, none_type** | | [optional] +**nature_of_business** | **str, none_type** | | [optional] +**business_domicile** | [**CountryCode**](CountryCode.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CardVerificationResults.md b/docs/CardVerificationResults.md index e1e3ea3c..7a74dae4 100644 --- a/docs/CardVerificationResults.md +++ b/docs/CardVerificationResults.md @@ -1,10 +1,10 @@ -# xendit.payment_method.model.CardVerificationResults +# xendit.payment_request.model.CardVerificationResults ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**three_d_secure** | [**CardVerificationResultsThreeDSecure**](CardVerificationResultsThreeDSecure.md) | | +**three_d_secure** | [**CardVerificationResultsThreeDSecure**](CardVerificationResultsThreeDSecure.md) | | [optional] **cvv_result** | **str, none_type** | | [optional] **address_verification_result** | **str, none_type** | | [optional] diff --git a/docs/ChannelAmountLimitsAllOf.md b/docs/ChannelAmountLimitsAllOf.md deleted file mode 100644 index 0985dccc..00000000 --- a/docs/ChannelAmountLimitsAllOf.md +++ /dev/null @@ -1,14 +0,0 @@ -# xendit.payment_method.model.ChannelAmountLimitsAllOf - -Contains objects of the support currencies and its respective limits per transaction - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**currency** | **str** | Currency supported by the payment channel | [optional] -**min_limit** | **float** | The minimum allowed transaction amount for the payment channel | [optional] -**max_limit** | **float** | The minimum allowed transaction amount for the payment channel | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/ChannelPropertyAllOf.md b/docs/ChannelPropertyAllOf.md deleted file mode 100644 index bd8573c6..00000000 --- a/docs/ChannelPropertyAllOf.md +++ /dev/null @@ -1,14 +0,0 @@ -# xendit.payment_method.model.ChannelPropertyAllOf - -Objects that enumerate the parameters needed as `channel_properties` when creating a Payment Method - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**name** | **str** | The corresponding parameter name | [optional] -**type** | **str** | Data type of the parameter | [optional] -**is_required** | **bool** | Indicates whether or not the parameter is required | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/CountryCode.md b/docs/CountryCode.md new file mode 100644 index 00000000..2b0208d1 --- /dev/null +++ b/docs/CountryCode.md @@ -0,0 +1,12 @@ +# xendit.customer.model.CountryCode + +ISO3166-2 country code + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **str** | ISO3166-2 country code | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CreateCustomer400Response.md b/docs/CreateCustomer400Response.md new file mode 100644 index 00000000..a787d78b --- /dev/null +++ b/docs/CreateCustomer400Response.md @@ -0,0 +1,13 @@ +# xendit.customer.model.CreateCustomer400Response + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | | +**message** | **bool, date, datetime, dict, float, int, list, str, none_type** | | +**errors** | **[{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CreateCustomer400ResponseAllOf.md b/docs/CreateCustomer400ResponseAllOf.md new file mode 100644 index 00000000..372292b9 --- /dev/null +++ b/docs/CreateCustomer400ResponseAllOf.md @@ -0,0 +1,12 @@ +# xendit.customer.model.CreateCustomer400ResponseAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | | [optional] +**message** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Customer.md b/docs/Customer.md new file mode 100644 index 00000000..c2556838 --- /dev/null +++ b/docs/Customer.md @@ -0,0 +1,26 @@ +# xendit.customer.model.Customer + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reference_id** | **str** | Merchant's reference of this end customer, eg Merchant's user's id. Must be unique. | +**individual_detail** | [**IndividualDetail**](IndividualDetail.md) | | +**business_detail** | [**BusinessDetail**](BusinessDetail.md) | | +**description** | **str, none_type** | | +**email** | **str, none_type** | | +**mobile_number** | **str, none_type** | | +**phone_number** | **str, none_type** | | +**addresses** | [**[Address], none_type**](Address.md) | | +**identity_accounts** | [**[IdentityAccountResponse], none_type**](IdentityAccountResponse.md) | | +**kyc_documents** | [**[KYCDocumentResponse], none_type**](KYCDocumentResponse.md) | | +**metadata** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type** | | +**id** | **str** | | +**created** | **datetime** | | +**updated** | **datetime** | | +**type** | **str** | | defaults to "INDIVIDUAL" +**status** | [**EndCustomerStatus**](EndCustomerStatus.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/CustomerApi.md b/docs/CustomerApi.md new file mode 100644 index 00000000..0bee67b0 --- /dev/null +++ b/docs/CustomerApi.md @@ -0,0 +1,289 @@ +# xendit.apis.CustomerApi + +All URIs are relative to *https://api.xendit.co* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_customer**](CustomerApi.md#create_customer) | **POST** /customers | Create Customer +[**get_customer**](CustomerApi.md#get_customer) | **GET** /customers/{id} | Get Customer By ID +[**get_customer_by_reference_id**](CustomerApi.md#get_customer_by_reference_id) | **GET** /customers | GET customers by reference id +[**update_customer**](CustomerApi.md#update_customer) | **PATCH** /customers/{id} | Update End Customer Resource + + +# **create_customer** +> Customer create_customer() + +Create Customer + +Function to create a customer that you may use in your Invoice or Payment Requests. For detail explanations, see this link: https://developers.xendit.co/api-reference/#create-customer + +### Example + + +```python +import time +import xendit +from xendit.apis import CustomerApi +from xendit.customer.model.customer import Customer +from xendit.customer.model.customer_request import CustomerRequest +from xendit.customer.model.create_customer400_response import CreateCustomer400Response +from xendit.customer.model.error import Error +from pprint import pprint + +# See configuration.py for a list of all supported configuration parameters. +xendit.set_api_key('XENDIT API KEY') + + +# Enter a context with an instance of the API client +api_client = xendit.ApiClient() +# Create an instance of the API class +api_instance = CustomerApi(api_client) + +# example passing only required values which don't have defaults set +# and optional values +try: + # Create Customer + api_response = api_instance.create_customer(idempotency_key=idempotency_key, for_user_id=for_user_id, customer_request=customer_request) + pprint(api_response) +except xendit.XenditSdkException as e: + print("Exception when calling CustomerApi->create_customer: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **idempotency_key** | **str**| A unique key to prevent processing duplicate requests. | [optional] + **for_user_id** | **str**| The sub-account user-id that you want to make this transaction for. | [optional] + **customer_request** | [**CustomerRequest**](CustomerRequest.md)| Request object for end customer object | [optional] + +### Return type + +[**Customer**](Customer.md) + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Created End Customer | - | +**400** | Various errors | - | +**0** | Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_customer** +> Customer get_customer(id) + +Get Customer By ID + +Retrieves a single customer object For detail explanations, see this link: https://developers.xendit.co/api-reference/#get-customer + +### Example + + +```python +import time +import xendit +from xendit.apis import CustomerApi +from xendit.customer.model.customer import Customer +from xendit.customer.model.get_customer_by_reference_id400_response import GetCustomerByReferenceID400Response +from xendit.customer.model.error import Error +from xendit.customer.model.response_data_not_found import ResponseDataNotFound +from pprint import pprint + +# See configuration.py for a list of all supported configuration parameters. +xendit.set_api_key('XENDIT API KEY') + + +# Enter a context with an instance of the API client +api_client = xendit.ApiClient() +# Create an instance of the API class +api_instance = CustomerApi(api_client) +id = "d290f1ee-6c54-4b01-90e6-d701748f0851" # str | End customer resource id + +# example passing only required values which don't have defaults set +try: + # Get Customer By ID + api_response = api_instance.get_customer(id) + pprint(api_response) +except xendit.XenditSdkException as e: + print("Exception when calling CustomerApi->get_customer: %s\n" % e) + +# example passing only required values which don't have defaults set +# and optional values +try: + # Get Customer By ID + api_response = api_instance.get_customer(id, for_user_id=for_user_id) + pprint(api_response) +except xendit.XenditSdkException as e: + print("Exception when calling CustomerApi->get_customer: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| End customer resource id | + **for_user_id** | **str**| The sub-account user-id that you want to make this transaction for. | [optional] + +### Return type + +[**Customer**](Customer.md) + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | End Customer Resource | - | +**400** | Various errors | - | +**404** | Customer not found | - | +**0** | Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_customer_by_reference_id** +> GetCustomerByReferenceID200Response get_customer_by_reference_id(reference_id) + +GET customers by reference id + +Retrieves an array with a customer object that matches the provided reference_id - the identifier provided by you For detail explanations, see this link: https://developers.xendit.co/api-reference/#get-customer-by-reference-id + +### Example + + +```python +import time +import xendit +from xendit.apis import CustomerApi +from xendit.customer.model.get_customer_by_reference_id400_response import GetCustomerByReferenceID400Response +from xendit.customer.model.error import Error +from xendit.customer.model.get_customer_by_reference_id200_response import GetCustomerByReferenceID200Response +from pprint import pprint + +# See configuration.py for a list of all supported configuration parameters. +xendit.set_api_key('XENDIT API KEY') + + +# Enter a context with an instance of the API client +api_client = xendit.ApiClient() +# Create an instance of the API class +api_instance = CustomerApi(api_client) +reference_id = "reference_id_example" # str | Merchant's reference of end customer + +# example passing only required values which don't have defaults set +try: + # GET customers by reference id + api_response = api_instance.get_customer_by_reference_id(reference_id) + pprint(api_response) +except xendit.XenditSdkException as e: + print("Exception when calling CustomerApi->get_customer_by_reference_id: %s\n" % e) + +# example passing only required values which don't have defaults set +# and optional values +try: + # GET customers by reference id + api_response = api_instance.get_customer_by_reference_id(reference_id, for_user_id=for_user_id) + pprint(api_response) +except xendit.XenditSdkException as e: + print("Exception when calling CustomerApi->get_customer_by_reference_id: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **reference_id** | **str**| Merchant's reference of end customer | + **for_user_id** | **str**| The sub-account user-id that you want to make this transaction for. | [optional] + +### Return type + +[**GetCustomerByReferenceID200Response**](GetCustomerByReferenceID200Response.md) + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | End Customers | - | +**400** | Various errors | - | +**0** | Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_customer** +> Customer update_customer(id) + +Update End Customer Resource + +Function to update an existing customer. For a detailed explanation For detail explanations, see this link: https://developers.xendit.co/api-reference/#update-customer + +### Example + + +```python +import time +import xendit +from xendit.apis import CustomerApi +from xendit.customer.model.customer import Customer +from xendit.customer.model.update_customer400_response import UpdateCustomer400Response +from xendit.customer.model.error import Error +from xendit.customer.model.patch_customer import PatchCustomer +from pprint import pprint + +# See configuration.py for a list of all supported configuration parameters. +xendit.set_api_key('XENDIT API KEY') + + +# Enter a context with an instance of the API client +api_client = xendit.ApiClient() +# Create an instance of the API class +api_instance = CustomerApi(api_client) +id = "d290f1ee-6c54-4b01-90e6-d701748f0851" # str | End customer resource id + +# example passing only required values which don't have defaults set +try: + # Update End Customer Resource + api_response = api_instance.update_customer(id) + pprint(api_response) +except xendit.XenditSdkException as e: + print("Exception when calling CustomerApi->update_customer: %s\n" % e) + +# example passing only required values which don't have defaults set +# and optional values +try: + # Update End Customer Resource + api_response = api_instance.update_customer(id, for_user_id=for_user_id, patch_customer=patch_customer) + pprint(api_response) +except xendit.XenditSdkException as e: + print("Exception when calling CustomerApi->update_customer: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| End customer resource id | + **for_user_id** | **str**| The sub-account user-id that you want to make this transaction for. | [optional] + **patch_customer** | [**PatchCustomer**](PatchCustomer.md)| Update Request for end customer object | [optional] + +### Return type + +[**Customer**](Customer.md) + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Updated End Customer | - | +**400** | Various errors | - | +**0** | Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/CustomerRequest.md b/docs/CustomerRequest.md new file mode 100644 index 00000000..e5b220af --- /dev/null +++ b/docs/CustomerRequest.md @@ -0,0 +1,23 @@ +# xendit.customer.model.CustomerRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reference_id** | **str** | Merchant's reference of this end customer, eg Merchant's user's id. Must be unique. | +**client_name** | **str** | Entity's name for this client | [optional] +**type** | **str** | | [optional] if omitted the server will use the default value of "INDIVIDUAL" +**individual_detail** | [**IndividualDetail**](IndividualDetail.md) | | [optional] +**business_detail** | [**BusinessDetail**](BusinessDetail.md) | | [optional] +**description** | **str, none_type** | | [optional] +**email** | **str** | | [optional] +**mobile_number** | **str** | | [optional] +**phone_number** | **str** | | [optional] +**addresses** | [**[AddressRequest]**](AddressRequest.md) | | [optional] +**identity_accounts** | [**[IdentityAccountRequest]**](IdentityAccountRequest.md) | | [optional] +**kyc_documents** | [**[KYCDocumentRequest]**](KYCDocumentRequest.md) | | [optional] +**metadata** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/DirectDebit.md b/docs/DirectDebit.md index 1e997619..9761278d 100644 --- a/docs/DirectDebit.md +++ b/docs/DirectDebit.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.DirectDebit +# xendit.payment_request.model.DirectDebit Direct Debit Payment Method Details diff --git a/docs/DirectDebitAllOf.md b/docs/DirectDebitAllOf.md index 6daf9b1d..aa5e6d61 100644 --- a/docs/DirectDebitAllOf.md +++ b/docs/DirectDebitAllOf.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.DirectDebitAllOf +# xendit.payment_request.model.DirectDebitAllOf ## Properties diff --git a/docs/DirectDebitBankAccount.md b/docs/DirectDebitBankAccount.md index 5bb65247..67e2e877 100644 --- a/docs/DirectDebitBankAccount.md +++ b/docs/DirectDebitBankAccount.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.DirectDebitBankAccount +# xendit.payment_request.model.DirectDebitBankAccount ## Properties @@ -6,8 +6,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **masked_bank_account_number** | **str, none_type** | | [optional] **bank_account_hash** | **str, none_type** | | [optional] -**mobile_number** | **str, none_type** | Mobile number of the customer registered to the partner channel | [optional] -**identity_document_number** | **str, none_type** | Identity number of the customer registered to the partner channel | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/DirectDebitChannelCode.md b/docs/DirectDebitChannelCode.md index 45bf1ba9..aad94a72 100644 --- a/docs/DirectDebitChannelCode.md +++ b/docs/DirectDebitChannelCode.md @@ -1,11 +1,11 @@ -# xendit.payment_method.model.DirectDebitChannelCode +# xendit.payment_request.model.DirectDebitChannelCode Direct Debit Channel Code ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**value** | **str** | Direct Debit Channel Code | must be one of ["BCA_KLIKPAY", "BCA_ONEKLIK", "BDO", "BPI", "BRI", "BNI", "CHINABANK", "CIMBNIAGA", "MTB", "RCBC", "UBP", "MANDIRI", "BBL", "SCB", "KTB", "BAY", "KBANK_MB", "BAY_MB", "KTB_MB", "BBL_MB", "SCB_MB", "BDO_EPAY", "AUTODEBIT_UBP", "AFFIN_FPX", "AGRO_FPX", "ALLIANCE_FPX", "AMBANK_FPX", "ISLAM_FPX", "MUAMALAT_FPX", "BOC_FPX", "RAKYAT_FPX", "BSN_FPX", "CIMB_FPX", "HLB_FPX", "HSBC_FPX", "KFH_FPX", "MAYB2E_FPX", "MAYB2U_FPX", "OCBC_FPX", "PUBLIC_FPX", "RHB_FPX", "SCH_FPX", "UOB_FPX", "AFFIN_FPX_BUSINESS", "AGRO_FPX_BUSINESS", "ALLIANCE_FPX_BUSINESS", "AMBANK_FPX_BUSINESS", "ISLAM_FPX_BUSINESS", "MUAMALAT_FPX_BUSINESS", "BNP_FPX_BUSINESS", "CIMB_FPX_BUSINESS", "CITIBANK_FPX_BUSINESS", "DEUTSCHE_FPX_BUSINESS", "HLB_FPX_BUSINESS", "HSBC_FPX_BUSINESS", "RAKYAT_FPX_BUSINESS", "KFH_FPX_BUSINESS", "MAYB2E_FPX_BUSINESS", "OCBC_FPX_BUSINESS", "PUBLIC_FPX_BUSINESS", "RHB_FPX_BUSINESS", "SCH_FPX_BUSINESS", "UOB_FPX_BUSINESS", ] +**value** | **str** | Direct Debit Channel Code | must be one of ["BCA_KLIKPAY", "BCA_ONEKLIK", "BRI", "BNI", "MANDIRI", "BPI", "BDO", "CIMBNIAGA", "MTB", "RCBC", "UBP", "AUTODEBIT_UBP", "CHINABANK", "BAY", "KTB", "BBL", "SCB", "KBANK_MB", "BAY_MB", "KTB_MB", "BBL_MB", "SCB_MB", "BDO_EPAY", "AFFIN_FPX", "AGRO_FPX", "ALLIANCE_FPX", "AMBANK_FPX", "ISLAM_FPX", "MUAMALAT_FPX", "BOC_FPX", "RAKYAT_FPX", "BSN_FPX", "CIMB_FPX", "HLB_FPX", "HSBC_FPX", "KFH_FPX", "MAYB2E_FPX", "MAYB2U_FPX", "OCBC_FPX", "PUBLIC_FPX", "RHB_FPX", "SCH_FPX", "UOB_FPX", "AFFIN_FPX_BUSINESS", "AGRO_FPX_BUSINESS", "ALLIANCE_FPX_BUSINESS", "AMBANK_FPX_BUSINESS", "ISLAM_FPX_BUSINESS", "MUAMALAT_FPX_BUSINESS", "BNP_FPX_BUSINESS", "CIMB_FPX_BUSINESS", "CITIBANK_FPX_BUSINESS", "DEUTSCHE_FPX_BUSINESS", "HLB_FPX_BUSINESS", "HSBC_FPX_BUSINESS", "RAKYAT_FPX_BUSINESS", "KFH_FPX_BUSINESS", "MAYB2E_FPX_BUSINESS", "OCBC_FPX_BUSINESS", "PUBLIC_FPX_BUSINESS", "RHB_FPX_BUSINESS", "SCH_FPX_BUSINESS", "UOB_FPX_BUSINESS", ] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/DirectDebitChannelProperties.md b/docs/DirectDebitChannelProperties.md index b044f24c..1d9ee14f 100644 --- a/docs/DirectDebitChannelProperties.md +++ b/docs/DirectDebitChannelProperties.md @@ -1,18 +1,17 @@ -# xendit.payment_method.model.DirectDebitChannelProperties +# xendit.payment_request.model.DirectDebitChannelProperties -Direct Debit Channel Properties ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**mobile_number** | **str** | Mobile number of the customer registered to the partner channel | [optional] **success_return_url** | **str** | | [optional] -**failure_return_url** | **str, none_type** | | [optional] -**mobile_number** | **str, none_type** | Mobile number of the customer registered to the partner channel | [optional] -**card_last_four** | **str, none_type** | Last four digits of the debit card | [optional] -**card_expiry** | **str, none_type** | Expiry month and year of the debit card (in MM/YY format) | [optional] -**email** | **str, none_type** | Email address of the customer that is registered to the partner channel | [optional] -**identity_document_number** | **str, none_type** | Identity number of the customer registered to the partner channel | [optional] -**require_auth** | **bool, none_type** | | [optional] +**failure_return_url** | **str** | | [optional] +**identity_document_number** | **str** | | [optional] +**account_number** | **str** | | [optional] +**card_last_four** | **str** | Last four digits of the debit card | [optional] +**card_expiry** | **str** | Expiry month and year of the debit card (in MM/YY format) | [optional] +**email** | **str** | Email address of the customer that is registered to the partner channel | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/DirectDebitDebitCard.md b/docs/DirectDebitDebitCard.md index f1ab04cf..46223137 100644 --- a/docs/DirectDebitDebitCard.md +++ b/docs/DirectDebitDebitCard.md @@ -1,10 +1,11 @@ -# xendit.payment_method.model.DirectDebitDebitCard +# xendit.payment_request.model.DirectDebitDebitCard ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **mobile_number** | **str, none_type** | Mobile number of the customer registered to the partner channel | [optional] +**account_number** | **str** | | [optional] **card_last_four** | **str, none_type** | Last four digits of the debit card | [optional] **card_expiry** | **str, none_type** | Expiry month and year of the debit card (in MM/YY format) | [optional] **email** | **str, none_type** | Email address of the customer that is registered to the partner channel | [optional] diff --git a/docs/EWallet.md b/docs/EWallet.md index ab1121fa..a33aaeca 100644 --- a/docs/EWallet.md +++ b/docs/EWallet.md @@ -1,11 +1,11 @@ -# xendit.payment_method.model.EWallet +# xendit.payment_request.model.EWallet Ewallet Payment Method Details ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**channel_code** | [**EWalletChannelCode**](EWalletChannelCode.md) | | +**channel_code** | [**EWalletChannelCode**](EWalletChannelCode.md) | | [optional] **channel_properties** | [**EWalletChannelProperties**](EWalletChannelProperties.md) | | [optional] **account** | [**EWalletAccount**](EWalletAccount.md) | | [optional] diff --git a/docs/EWalletAccount.md b/docs/EWalletAccount.md index 060dbf3a..7422a70f 100644 --- a/docs/EWalletAccount.md +++ b/docs/EWalletAccount.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.EWalletAccount +# xendit.payment_request.model.EWalletAccount EWallet Account Properties diff --git a/docs/EWalletChannelProperties.md b/docs/EWalletChannelProperties.md index 4a12bef5..099f818b 100644 --- a/docs/EWalletChannelProperties.md +++ b/docs/EWalletChannelProperties.md @@ -1,6 +1,6 @@ -# xendit.payment_method.model.EWalletChannelProperties +# xendit.payment_request.model.EWalletChannelProperties -EWallet Channel Properties +Ewallet Channel Properties ## Properties Name | Type | Description | Notes @@ -8,9 +8,9 @@ Name | Type | Description | Notes **success_return_url** | **str** | URL where the end-customer is redirected if the authorization is successful | [optional] **failure_return_url** | **str** | URL where the end-customer is redirected if the authorization failed | [optional] **cancel_return_url** | **str** | URL where the end-customer is redirected if the authorization cancelled | [optional] -**mobile_number** | **str** | Mobile number of customer in E.164 format (e.g. +628123123123). For OVO one time payment use only. | [optional] **redeem_points** | **str** | REDEEM_NONE will not use any point, REDEEM_ALL will use all available points before cash balance is used. For OVO and ShopeePay tokenized payment use only. | [optional] -**cashtag** | **str** | Available for JENIUSPAY only | [optional] +**mobile_number** | **str** | | [optional] +**cashtag** | **str** | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/EmploymentDetail.md b/docs/EmploymentDetail.md new file mode 100644 index 00000000..61017e95 --- /dev/null +++ b/docs/EmploymentDetail.md @@ -0,0 +1,13 @@ +# xendit.customer.model.EmploymentDetail + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**employer_name** | **str, none_type** | Name of employer | [optional] +**nature_of_business** | **str, none_type** | Industry or nature of business | [optional] +**role_description** | **str, none_type** | Occupation or title | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/EndCustomerStatus.md b/docs/EndCustomerStatus.md new file mode 100644 index 00000000..4e096dc1 --- /dev/null +++ b/docs/EndCustomerStatus.md @@ -0,0 +1,11 @@ +# xendit.customer.model.EndCustomerStatus + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **str** | | must be one of ["ACTIVE", "INACTIVE", "PENDING", "BLOCKED", "DELETED", ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/Error.md b/docs/Error.md index 0c9377b5..eda40f1e 100644 --- a/docs/Error.md +++ b/docs/Error.md @@ -1,12 +1,11 @@ -# xendit.payout.model.Error +# xendit.payment_request.model.Error ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**error_code** | **str** | Specific error encountered when processing the request, can refer to the API documentation on proper handling of each available error code https://developers.xendit.co/api-reference/#payouts | -**message** | **str** | Human readable error message | -**errors** | [**[ErrorErrorsInner]**](ErrorErrorsInner.md) | | [optional] +**error_code** | **str, none_type** | | [optional] +**message** | **str, none_type** | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetCustomerByReferenceID200Response.md b/docs/GetCustomerByReferenceID200Response.md new file mode 100644 index 00000000..b2056762 --- /dev/null +++ b/docs/GetCustomerByReferenceID200Response.md @@ -0,0 +1,12 @@ +# xendit.customer.model.GetCustomerByReferenceID200Response + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**has_more** | **bool** | | [optional] +**data** | [**[Customer]**](Customer.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetCustomerByReferenceID400Response.md b/docs/GetCustomerByReferenceID400Response.md new file mode 100644 index 00000000..c6fefe0a --- /dev/null +++ b/docs/GetCustomerByReferenceID400Response.md @@ -0,0 +1,13 @@ +# xendit.customer.model.GetCustomerByReferenceID400Response + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | | +**message** | **bool, date, datetime, dict, float, int, list, str, none_type** | | +**errors** | **[{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/GetCustomerByReferenceID400ResponseAllOf.md b/docs/GetCustomerByReferenceID400ResponseAllOf.md new file mode 100644 index 00000000..02aa32d8 --- /dev/null +++ b/docs/GetCustomerByReferenceID400ResponseAllOf.md @@ -0,0 +1,12 @@ +# xendit.customer.model.GetCustomerByReferenceID400ResponseAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | | [optional] +**message** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IdentityAccountRequest.md b/docs/IdentityAccountRequest.md new file mode 100644 index 00000000..2ea2d03e --- /dev/null +++ b/docs/IdentityAccountRequest.md @@ -0,0 +1,15 @@ +# xendit.customer.model.IdentityAccountRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**IdentityAccountType**](IdentityAccountType.md) | | [optional] +**company** | **str** | The issuing institution associated with the account (e.g., OCBC, GOPAY, 7-11). If adding financial accounts that Xendit supports, we recommend you use the channel_name found at https://xendit.github.io/apireference/#payment-channels for this field | [optional] +**description** | **str** | Free text description of this account | [optional] +**country** | [**CountryCode**](CountryCode.md) | | [optional] +**properties** | [**IdentityAccountRequestProperties**](IdentityAccountRequestProperties.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IdentityAccountRequestProperties.md b/docs/IdentityAccountRequestProperties.md new file mode 100644 index 00000000..849401e5 --- /dev/null +++ b/docs/IdentityAccountRequestProperties.md @@ -0,0 +1,21 @@ +# xendit.customer.model.IdentityAccountRequestProperties + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_number** | **str** | Unique account identifier as per the bank records. | [optional] +**account_holder_name** | **str, none_type** | Name of account holder as per the cardless credit account. | [optional] +**swift_code** | **str, none_type** | The SWIFT code for international payments | [optional] +**account_type** | **str, none_type** | Free text account type, e.g., Savings, Transaction, Virtual Account. | [optional] +**account_details** | **str, none_type** | Potentially masked account detail, for display purposes only. | [optional] +**currency** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] +**token_id** | **str** | The token id returned in tokenisation | [optional] +**account_id** | **str** | Alphanumeric string identifying this account. Usually an email address or phone number. | [optional] +**payment_code** | **str** | Complete fixed payment code (including prefix) | [optional] +**expires_at** | **str, none_type** | YYYY-MM-DD string with expiry date for the payment code | [optional] +**qr_string** | **str** | String representation of the QR Code image | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IdentityAccountResponse.md b/docs/IdentityAccountResponse.md new file mode 100644 index 00000000..861d4e98 --- /dev/null +++ b/docs/IdentityAccountResponse.md @@ -0,0 +1,19 @@ +# xendit.customer.model.IdentityAccountResponse + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**company** | **str, none_type** | | +**description** | **str, none_type** | | +**country** | [**CountryCode**](CountryCode.md) | | +**type** | **str, none_type** | | +**properties** | [**IdentityAccountResponseProperties**](IdentityAccountResponseProperties.md) | | +**id** | **str** | | [optional] +**code** | **str, none_type** | | [optional] +**holder_name** | **str, none_type** | | [optional] +**created** | **datetime** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IdentityAccountResponseProperties.md b/docs/IdentityAccountResponseProperties.md new file mode 100644 index 00000000..df3b62ee --- /dev/null +++ b/docs/IdentityAccountResponseProperties.md @@ -0,0 +1,21 @@ +# xendit.customer.model.IdentityAccountResponseProperties + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_number** | **str** | Unique account identifier as per the bank records. | [optional] +**account_holder_name** | **str, none_type** | Name of account holder as per the cardless credit account. | [optional] +**swift_code** | **str, none_type** | The SWIFT code for international payments | [optional] +**account_type** | **str, none_type** | Free text account type, e.g., Savings, Transaction, Virtual Account. | [optional] +**account_details** | **str, none_type** | Potentially masked account detail, for display purposes only. | [optional] +**currency** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] +**token_id** | **str** | The token id returned in tokenisation | [optional] +**payment_code** | **str** | Complete fixed payment code (including prefix) | [optional] +**expires_at** | **str, none_type** | YYYY-MM-DD string with expiry date for the payment code | [optional] +**qr_string** | **str** | String representation of the QR Code image | [optional] +**account_id** | **str** | Alphanumeric string identifying this account. Usually an email address or phone number. | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IdentityAccountType.md b/docs/IdentityAccountType.md new file mode 100644 index 00000000..52225bad --- /dev/null +++ b/docs/IdentityAccountType.md @@ -0,0 +1,11 @@ +# xendit.customer.model.IdentityAccountType + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **str** | | must be one of ["BANK_ACCOUNT", "EWALLET", "CREDIT_CARD", "PAY_LATER", "OTC", "QR_CODE", ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/IndividualDetail.md b/docs/IndividualDetail.md new file mode 100644 index 00000000..301df694 --- /dev/null +++ b/docs/IndividualDetail.md @@ -0,0 +1,21 @@ +# xendit.customer.model.IndividualDetail + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**given_names** | **str** | | [optional] +**given_names_non_roman** | **str, none_type** | | [optional] +**middle_name** | **str, none_type** | | [optional] +**surname** | **str, none_type** | | [optional] +**surname_non_roman** | **str, none_type** | | [optional] +**mother_maiden_name** | **str, none_type** | | [optional] +**gender** | **str, none_type** | | [optional] +**date_of_birth** | **str, none_type** | | [optional] +**nationality** | [**CountryCode**](CountryCode.md) | | [optional] +**place_of_birth** | **str, none_type** | | [optional] +**employment** | [**EmploymentDetail**](EmploymentDetail.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/KYCDocumentRequest.md b/docs/KYCDocumentRequest.md new file mode 100644 index 00000000..664f17f2 --- /dev/null +++ b/docs/KYCDocumentRequest.md @@ -0,0 +1,18 @@ +# xendit.customer.model.KYCDocumentRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**country** | [**CountryCode**](CountryCode.md) | | [optional] +**type** | [**KYCDocumentType**](KYCDocumentType.md) | | [optional] +**sub_type** | [**KYCDocumentSubType**](KYCDocumentSubType.md) | | [optional] +**document_name** | **str** | | [optional] +**document_number** | **str** | | [optional] +**expires_at** | **str** | | [optional] +**holder_name** | **str** | | [optional] +**document_images** | **[str]** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/KYCDocumentResponse.md b/docs/KYCDocumentResponse.md new file mode 100644 index 00000000..fe1d8fef --- /dev/null +++ b/docs/KYCDocumentResponse.md @@ -0,0 +1,18 @@ +# xendit.customer.model.KYCDocumentResponse + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**country** | **bool, date, datetime, dict, float, int, list, str, none_type** | | +**type** | **bool, date, datetime, dict, float, int, list, str, none_type** | | +**sub_type** | **bool, date, datetime, dict, float, int, list, str, none_type** | | +**document_name** | **str, none_type** | | +**document_number** | **str, none_type** | | +**expires_at** | **str, none_type** | | +**holder_name** | **str, none_type** | | +**document_images** | **[str], none_type** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/KYCDocumentSubType.md b/docs/KYCDocumentSubType.md new file mode 100644 index 00000000..732151db --- /dev/null +++ b/docs/KYCDocumentSubType.md @@ -0,0 +1,11 @@ +# xendit.customer.model.KYCDocumentSubType + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **str** | | must be one of ["NATIONAL_ID", "CONSULAR_ID", "VOTER_ID", "POSTAL_ID", "RESIDENCE_PERMIT", "TAX_ID", "STUDENT_ID", "MILITARY_ID", "MEDICAL_ID", "OTHERS", ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/KYCDocumentType.md b/docs/KYCDocumentType.md new file mode 100644 index 00000000..38fbe15d --- /dev/null +++ b/docs/KYCDocumentType.md @@ -0,0 +1,11 @@ +# xendit.customer.model.KYCDocumentType + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **str** | | must be one of ["BIRTH_CERTIFICATE", "BANK_STATEMENT", "DRIVING_LICENSE", "IDENTITY_CARD", "PASSPORT", "VISA", "BUSINESS_REGISTRATION", "BUSINESS_LICENSE", ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/OverTheCounter.md b/docs/OverTheCounter.md index f195e987..15abf680 100644 --- a/docs/OverTheCounter.md +++ b/docs/OverTheCounter.md @@ -1,6 +1,6 @@ -# xendit.payment_method.model.OverTheCounter +# xendit.payment_request.model.OverTheCounter -Over The Counter Payment Method Details +Over the Counter Payment Method Details ## Properties Name | Type | Description | Notes @@ -8,7 +8,7 @@ Name | Type | Description | Notes **channel_code** | [**OverTheCounterChannelCode**](OverTheCounterChannelCode.md) | | **channel_properties** | [**OverTheCounterChannelProperties**](OverTheCounterChannelProperties.md) | | **amount** | **float, none_type** | | [optional] -**currency** | **str** | | [optional] +**currency** | [**PaymentRequestCurrency**](PaymentRequestCurrency.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/OverTheCounterChannelCode.md b/docs/OverTheCounterChannelCode.md index 9f5f58ba..fe547247 100644 --- a/docs/OverTheCounterChannelCode.md +++ b/docs/OverTheCounterChannelCode.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.OverTheCounterChannelCode +# xendit.payment_request.model.OverTheCounterChannelCode Over The Counter Channel Code diff --git a/docs/OverTheCounterChannelProperties.md b/docs/OverTheCounterChannelProperties.md index 3db427e3..6c0e72dd 100644 --- a/docs/OverTheCounterChannelProperties.md +++ b/docs/OverTheCounterChannelProperties.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.OverTheCounterChannelProperties +# xendit.payment_request.model.OverTheCounterChannelProperties Over The Counter Channel Properties diff --git a/docs/OverTheCounterParameters.md b/docs/OverTheCounterParameters.md index 28edeeb6..b4f3452b 100644 --- a/docs/OverTheCounterParameters.md +++ b/docs/OverTheCounterParameters.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.OverTheCounterParameters +# xendit.payment_request.model.OverTheCounterParameters ## Properties @@ -7,7 +7,7 @@ Name | Type | Description | Notes **channel_code** | [**OverTheCounterChannelCode**](OverTheCounterChannelCode.md) | | **channel_properties** | [**OverTheCounterChannelProperties**](OverTheCounterChannelProperties.md) | | **amount** | **float, none_type** | | [optional] -**currency** | **str** | | [optional] +**currency** | [**PaymentRequestCurrency**](PaymentRequestCurrency.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/PatchCustomer.md b/docs/PatchCustomer.md new file mode 100644 index 00000000..fe108659 --- /dev/null +++ b/docs/PatchCustomer.md @@ -0,0 +1,23 @@ +# xendit.customer.model.PatchCustomer + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**client_name** | **str, none_type** | Entity's name for this client | [optional] +**reference_id** | **str, none_type** | Merchant's reference of this end customer, eg Merchant's user's id. Must be unique. | [optional] +**individual_detail** | [**IndividualDetail**](IndividualDetail.md) | | [optional] +**business_detail** | [**BusinessDetail**](BusinessDetail.md) | | [optional] +**description** | **str, none_type** | | [optional] +**email** | **str, none_type** | | [optional] +**mobile_number** | **str, none_type** | | [optional] +**phone_number** | **str, none_type** | | [optional] +**metadata** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type** | | [optional] +**addresses** | [**[AddressRequest], none_type**](AddressRequest.md) | | [optional] +**identity_accounts** | [**[IdentityAccountRequest], none_type**](IdentityAccountRequest.md) | | [optional] +**kyc_documents** | [**[KYCDocumentRequest], none_type**](KYCDocumentRequest.md) | | [optional] +**status** | [**EndCustomerStatus**](EndCustomerStatus.md) | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/PaymentChannel.md b/docs/PaymentChannel.md deleted file mode 100644 index 0e215165..00000000 --- a/docs/PaymentChannel.md +++ /dev/null @@ -1,17 +0,0 @@ -# xendit.payment_method.model.PaymentChannel - - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**channel_code** | **str** | The specific Xendit code used to identify the partner channel | [optional] -**type** | **str** | The payment method type | [optional] -**country** | **str** | The country where the channel operates in ISO 3166-2 country code | [optional] -**channel_name** | **str** | Official parter name of the payment channel | [optional] -**channel_properties** | [**[ChannelProperty]**](ChannelProperty.md) | | [optional] -**logo_url** | **str** | If available, this contains a URL to the logo of the partner channel | [optional] -**amount_limits** | [**[ChannelAmountLimits]**](ChannelAmountLimits.md) | | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/PaymentChannelAllOf.md b/docs/PaymentChannelAllOf.md deleted file mode 100644 index b93c8396..00000000 --- a/docs/PaymentChannelAllOf.md +++ /dev/null @@ -1,17 +0,0 @@ -# xendit.payment_method.model.PaymentChannelAllOf - - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**channel_code** | **str** | The specific Xendit code used to identify the partner channel | [optional] -**type** | **str** | The payment method type | [optional] -**country** | **str** | The country where the channel operates in ISO 3166-2 country code | [optional] -**channel_name** | **str** | Official parter name of the payment channel | [optional] -**channel_properties** | [**[ChannelProperty]**](ChannelProperty.md) | | [optional] -**logo_url** | **str** | If available, this contains a URL to the logo of the partner channel | [optional] -**amount_limits** | [**[ChannelAmountLimits]**](ChannelAmountLimits.md) | | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/PaymentChannelList.md b/docs/PaymentChannelList.md deleted file mode 100644 index 2a9bdd38..00000000 --- a/docs/PaymentChannelList.md +++ /dev/null @@ -1,13 +0,0 @@ -# xendit.payment_method.model.PaymentChannelList - - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**[PaymentChannel]**](PaymentChannel.md) | Array of resources that match the provided filters | [optional] -**links** | [**[PaymentChannelListLinksInner]**](PaymentChannelListLinksInner.md) | Array of objects that can be used to assist on navigating through the data | [optional] -**has_more** | **bool** | Indicates whether there are more items in the list | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/PaymentChannelListLinksInner.md b/docs/PaymentChannelListLinksInner.md deleted file mode 100644 index 6b781028..00000000 --- a/docs/PaymentChannelListLinksInner.md +++ /dev/null @@ -1,13 +0,0 @@ -# xendit.payment_method.model.PaymentChannelListLinksInner - - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**href** | **str** | Target URI that should contain a target to Internationalized Resource Identifiers (IRI) | [optional] -**rel** | **str** | The link relation type described how the current context (source) is related to target resource | [optional] -**method** | **str** | The HTTP method to be used to call `href` | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/PaymentChannelListLinksInnerAllOf.md b/docs/PaymentChannelListLinksInnerAllOf.md deleted file mode 100644 index 417c2a96..00000000 --- a/docs/PaymentChannelListLinksInnerAllOf.md +++ /dev/null @@ -1,13 +0,0 @@ -# xendit.payment_method.model.PaymentChannelListLinksInnerAllOf - - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**href** | **str** | Target URI that should contain a target to Internationalized Resource Identifiers (IRI) | [optional] -**rel** | **str** | The link relation type described how the current context (source) is related to target resource | [optional] -**method** | **str** | The HTTP method to be used to call `href` | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/PaymentMethod.md b/docs/PaymentMethod.md index 3a012260..9e14be33 100644 --- a/docs/PaymentMethod.md +++ b/docs/PaymentMethod.md @@ -1,31 +1,24 @@ -# xendit.payment_method.model.PaymentMethod +# xendit.payment_request.model.PaymentMethod ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | | -**business_id** | **str** | | [optional] -**type** | [**PaymentMethodType**](PaymentMethodType.md) | | [optional] -**country** | [**PaymentMethodCountry**](PaymentMethodCountry.md) | | [optional] -**customer_id** | **str, none_type** | | [optional] -**customer** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type** | | [optional] -**reference_id** | **str** | | [optional] +**type** | [**PaymentMethodType**](PaymentMethodType.md) | | +**reusability** | [**PaymentMethodReusability**](PaymentMethodReusability.md) | | +**status** | [**PaymentMethodStatus**](PaymentMethodStatus.md) | | +**created** | **str** | | [optional] +**updated** | **str** | | [optional] **description** | **str, none_type** | | [optional] -**status** | [**PaymentMethodStatus**](PaymentMethodStatus.md) | | [optional] -**reusability** | [**PaymentMethodReusability**](PaymentMethodReusability.md) | | [optional] -**actions** | [**[PaymentMethodAction]**](PaymentMethodAction.md) | | [optional] -**metadata** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type** | | [optional] -**billing_information** | [**BillingInformation**](BillingInformation.md) | | [optional] -**failure_code** | **str, none_type** | | [optional] -**created** | **datetime** | | [optional] -**updated** | **datetime** | | [optional] -**ewallet** | [**EWallet**](EWallet.md) | | [optional] +**reference_id** | **str** | | [optional] +**card** | [**Card**](Card.md) | | [optional] **direct_debit** | [**DirectDebit**](DirectDebit.md) | | [optional] +**ewallet** | [**EWallet**](EWallet.md) | | [optional] **over_the_counter** | [**OverTheCounter**](OverTheCounter.md) | | [optional] -**card** | [**Card**](Card.md) | | [optional] -**qr_code** | [**QRCode**](QRCode.md) | | [optional] **virtual_account** | [**VirtualAccount**](VirtualAccount.md) | | [optional] +**qr_code** | [**QRCode**](QRCode.md) | | [optional] +**metadata** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type** | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/PaymentMethodApi.md b/docs/PaymentMethodApi.md index c8ca86b6..52b011e3 100644 --- a/docs/PaymentMethodApi.md +++ b/docs/PaymentMethodApi.md @@ -7,7 +7,6 @@ Method | HTTP request | Description [**auth_payment_method**](PaymentMethodApi.md#auth_payment_method) | **POST** /v2/payment_methods/{paymentMethodId}/auth | Validate a payment method's linking OTP [**create_payment_method**](PaymentMethodApi.md#create_payment_method) | **POST** /v2/payment_methods | Creates payment method [**expire_payment_method**](PaymentMethodApi.md#expire_payment_method) | **POST** /v2/payment_methods/{paymentMethodId}/expire | Expires a payment method -[**get_all_payment_channels**](PaymentMethodApi.md#get_all_payment_channels) | **GET** /v2/payment_methods/channels | Get all payment channels [**get_all_payment_methods**](PaymentMethodApi.md#get_all_payment_methods) | **GET** /v2/payment_methods | Get all payment methods by filters [**get_payment_method_by_id**](PaymentMethodApi.md#get_payment_method_by_id) | **GET** /v2/payment_methods/{paymentMethodId} | Get payment method by ID [**get_payments_by_payment_method_id**](PaymentMethodApi.md#get_payments_by_payment_method_id) | **GET** /v2/payment_methods/{paymentMethodId}/payments | Returns payments with matching PaymentMethodID. @@ -240,69 +239,6 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_all_payment_channels** -> PaymentChannelList get_all_payment_channels() - -Get all payment channels - -Get all payment channels - -### Example - - -```python -import time -import xendit -from xendit.apis import PaymentMethodApi -from xendit.payment_method.model.get_all_payment_methods403_response import GetAllPaymentMethods403Response -from xendit.payment_method.model.get_all_payment_methods400_response import GetAllPaymentMethods400Response -from xendit.payment_method.model.payment_channel_list import PaymentChannelList -from xendit.payment_method.model.get_all_payment_methods_default_response import GetAllPaymentMethodsDefaultResponse -from pprint import pprint - -# See configuration.py for a list of all supported configuration parameters. -xendit.set_api_key('XENDIT API KEY') - - -# Enter a context with an instance of the API client -api_client = xendit.ApiClient() -# Create an instance of the API class -api_instance = PaymentMethodApi(api_client) - -# example passing only required values which don't have defaults set -# and optional values -try: - # Get all payment channels - api_response = api_instance.get_all_payment_channels(is_activated=is_activated, type=type) - pprint(api_response) -except xendit.XenditSdkException as e: - print("Exception when calling PaymentMethodApi->get_all_payment_channels: %s\n" % e) -``` - - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **is_activated** | **bool**| | [optional] if omitted the server will use the default value of True - **type** | **str**| | [optional] - -### Return type - -[**PaymentChannelList**](PaymentChannelList.md) - - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | Request successful | - | -**400** | Bad request | - | -**403** | Forbidden due to permissions | - | -**0** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - # **get_all_payment_methods** > PaymentMethodList get_all_payment_methods() diff --git a/docs/PaymentMethodParameters.md b/docs/PaymentMethodParameters.md index 82f26c6f..efcf8a7d 100644 --- a/docs/PaymentMethodParameters.md +++ b/docs/PaymentMethodParameters.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.PaymentMethodParameters +# xendit.payment_request.model.PaymentMethodParameters ## Properties @@ -6,18 +6,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **type** | [**PaymentMethodType**](PaymentMethodType.md) | | **reusability** | [**PaymentMethodReusability**](PaymentMethodReusability.md) | | -**country** | **str, none_type** | | [optional] -**customer_id** | **str, none_type** | | [optional] -**reference_id** | **str** | | [optional] **description** | **str, none_type** | | [optional] -**card** | [**CardParameters**](CardParameters.md) | | [optional] +**reference_id** | **str** | | [optional] **direct_debit** | [**DirectDebitParameters**](DirectDebitParameters.md) | | [optional] **ewallet** | [**EWalletParameters**](EWalletParameters.md) | | [optional] **over_the_counter** | [**OverTheCounterParameters**](OverTheCounterParameters.md) | | [optional] **virtual_account** | [**VirtualAccountParameters**](VirtualAccountParameters.md) | | [optional] **qr_code** | [**QRCodeParameters**](QRCodeParameters.md) | | [optional] -**metadata** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type** | | [optional] -**billing_information** | [**BillingInformation**](BillingInformation.md) | | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/PaymentMethodReusability.md b/docs/PaymentMethodReusability.md index 4444d101..56227301 100644 --- a/docs/PaymentMethodReusability.md +++ b/docs/PaymentMethodReusability.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.PaymentMethodReusability +# xendit.payment_request.model.PaymentMethodReusability ## Properties diff --git a/docs/PaymentMethodStatus.md b/docs/PaymentMethodStatus.md index 624959a5..59c452e2 100644 --- a/docs/PaymentMethodStatus.md +++ b/docs/PaymentMethodStatus.md @@ -1,10 +1,10 @@ -# xendit.payment_method.model.PaymentMethodStatus +# xendit.payment_request.model.PaymentMethodStatus ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**value** | **str** | | must be one of ["ACTIVE", "EXPIRED", "INACTIVE", "PENDING", "REQUIRES_ACTION", "FAILED", ] +**value** | **str** | | must be one of ["ACTIVE", "INACTIVE", "PENDING", "EXPIRED", "FAILED", ] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/PaymentMethodType.md b/docs/PaymentMethodType.md index a7b9f1a0..6d61a04b 100644 --- a/docs/PaymentMethodType.md +++ b/docs/PaymentMethodType.md @@ -1,10 +1,10 @@ -# xendit.payment_method.model.PaymentMethodType +# xendit.payment_request.model.PaymentMethodType ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**value** | **str** | | must be one of ["CARD", "CRYPTOCURRENCY", "DIRECT_BANK_TRANSFER", "DIRECT_DEBIT", "EWALLET", "OVER_THE_COUNTER", "QR_CODE", "VIRTUAL_ACCOUNT", ] +**value** | **str** | | must be one of ["CARD", "DIRECT_DEBIT", "EWALLET", "OVER_THE_COUNTER", "QR_CODE", "VIRTUAL_ACCOUNT", ] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/QRCodeParameters.md b/docs/QRCodeParameters.md index 8b22b626..1230ef94 100644 --- a/docs/QRCodeParameters.md +++ b/docs/QRCodeParameters.md @@ -1,11 +1,9 @@ -# xendit.payment_method.model.QRCodeParameters +# xendit.payment_request.model.QRCodeParameters ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**amount** | **float, none_type** | | [optional] -**currency** | **str** | | [optional] **channel_code** | [**QRCodeChannelCode**](QRCodeChannelCode.md) | | [optional] **channel_properties** | [**QRCodeChannelProperties**](QRCodeChannelProperties.md) | | [optional] diff --git a/docs/ResponseDataNotFound.md b/docs/ResponseDataNotFound.md new file mode 100644 index 00000000..92836a5e --- /dev/null +++ b/docs/ResponseDataNotFound.md @@ -0,0 +1,12 @@ +# xendit.customer.model.ResponseDataNotFound + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | | [optional] +**message** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UpdateCustomer400Response.md b/docs/UpdateCustomer400Response.md new file mode 100644 index 00000000..a9ca7dee --- /dev/null +++ b/docs/UpdateCustomer400Response.md @@ -0,0 +1,13 @@ +# xendit.customer.model.UpdateCustomer400Response + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | | +**message** | **bool, date, datetime, dict, float, int, list, str, none_type** | | +**errors** | **[{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UpdateCustomer400ResponseAllOf.md b/docs/UpdateCustomer400ResponseAllOf.md new file mode 100644 index 00000000..80350536 --- /dev/null +++ b/docs/UpdateCustomer400ResponseAllOf.md @@ -0,0 +1,12 @@ +# xendit.customer.model.UpdateCustomer400ResponseAllOf + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | | [optional] +**message** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/VirtualAccountAllOf.md b/docs/VirtualAccountAllOf.md index ce2ea2a0..514161b6 100644 --- a/docs/VirtualAccountAllOf.md +++ b/docs/VirtualAccountAllOf.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.VirtualAccountAllOf +# xendit.payment_request.model.VirtualAccountAllOf ## Properties diff --git a/docs/VirtualAccountAlternativeDisplay.md b/docs/VirtualAccountAlternativeDisplay.md index d3acfad2..7aa466a4 100644 --- a/docs/VirtualAccountAlternativeDisplay.md +++ b/docs/VirtualAccountAlternativeDisplay.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.VirtualAccountAlternativeDisplay +# xendit.payment_request.model.VirtualAccountAlternativeDisplay Alternative Display Object diff --git a/docs/VirtualAccountChannelCode.md b/docs/VirtualAccountChannelCode.md index 95c31d47..df5d7274 100644 --- a/docs/VirtualAccountChannelCode.md +++ b/docs/VirtualAccountChannelCode.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.VirtualAccountChannelCode +# xendit.payment_request.model.VirtualAccountChannelCode Virtual Account Channel Code diff --git a/docs/VirtualAccountChannelProperties.md b/docs/VirtualAccountChannelProperties.md index 15ef0b20..9c540c0e 100644 --- a/docs/VirtualAccountChannelProperties.md +++ b/docs/VirtualAccountChannelProperties.md @@ -1,11 +1,11 @@ -# xendit.payment_method.model.VirtualAccountChannelProperties +# xendit.payment_request.model.VirtualAccountChannelProperties Virtual Account Channel Properties ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**customer_name** | **str** | Name of customer. | [optional] +**customer_name** | **str** | Name of customer. | **virtual_account_number** | **str** | You can assign specific Virtual Account number using this parameter. If you do not send one, one will be picked at random. Make sure the number you specify is within your Virtual Account range. | [optional] **expires_at** | **datetime** | The date and time in ISO 8601 UTC+0 when the virtual account number will be expired. Default: The default expiration date will be 31 years from creation date. | [optional] **suggested_amount** | **float** | The suggested amount you want to assign. Note: Suggested amounts is the amounts that can see as a suggestion, but user can still put any numbers (only supported for Mandiri and BRI) | [optional] diff --git a/docs/VirtualAccountParameters.md b/docs/VirtualAccountParameters.md index eca0e892..5527659e 100644 --- a/docs/VirtualAccountParameters.md +++ b/docs/VirtualAccountParameters.md @@ -1,4 +1,4 @@ -# xendit.payment_method.model.VirtualAccountParameters +# xendit.payment_request.model.VirtualAccountParameters ## Properties @@ -6,11 +6,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **channel_code** | [**VirtualAccountChannelCode**](VirtualAccountChannelCode.md) | | **channel_properties** | [**VirtualAccountChannelProperties**](VirtualAccountChannelProperties.md) | | -**amount** | **float, none_type** | | [optional] **min_amount** | **float, none_type** | | [optional] **max_amount** | **float, none_type** | | [optional] -**currency** | **str** | | [optional] -**alternative_display_types** | **[str]** | For payments in Vietnam only, alternative display requested for the virtual account | [optional] +**amount** | **float, none_type** | | [optional] +**currency** | [**PaymentRequestCurrency**](PaymentRequestCurrency.md) | | [optional] +**alternative_display_types** | **[str]** | Alternative display requested for the virtual account | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/setup.py b/setup.py index 38ec47e4..b1599fc5 100644 --- a/setup.py +++ b/setup.py @@ -1,12 +1,12 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.44.1 """ from setuptools import setup, find_packages # noqa: H301 NAME = "xendit" -VERSION = "3.2.0" +VERSION = "3.3.0" # To install the library, run the following # # python setup.py install @@ -22,16 +22,16 @@ setup( name=NAME, version=VERSION, - description="Payment Method Service v2", + description="Payment Requests", author="OpenAPI Generator community", author_email="team@openapitools.org", url="", - keywords=["OpenAPI", "OpenAPI-Generator", "Payment Method Service v2"], + keywords=["OpenAPI", "OpenAPI-Generator", "Payment Requests"], python_requires=">=3.6", install_requires=REQUIRES, packages=find_packages(exclude=["test", "tests"]), include_package_data=True, long_description="""\ - This API is used for Payment Method Service v2 # noqa: E501 + This API is used for Payment Requests # noqa: E501 """ ) diff --git a/test/test_account_bank.py b/test/test_account_bank.py new file mode 100644 index 00000000..39e95a13 --- /dev/null +++ b/test/test_account_bank.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.account_bank import AccountBank + + +class TestAccountBank(unittest.TestCase): + """AccountBank unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAccountBank(self): + """Test AccountBank""" + # FIXME: construct object with mandatory attributes with example values + # model = AccountBank() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_account_card.py b/test/test_account_card.py new file mode 100644 index 00000000..7bded5b5 --- /dev/null +++ b/test/test_account_card.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.account_card import AccountCard + + +class TestAccountCard(unittest.TestCase): + """AccountCard unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAccountCard(self): + """Test AccountCard""" + # FIXME: construct object with mandatory attributes with example values + # model = AccountCard() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_account_ewallet.py b/test/test_account_ewallet.py new file mode 100644 index 00000000..3e9cad29 --- /dev/null +++ b/test/test_account_ewallet.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.account_ewallet import AccountEwallet + + +class TestAccountEwallet(unittest.TestCase): + """AccountEwallet unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAccountEwallet(self): + """Test AccountEwallet""" + # FIXME: construct object with mandatory attributes with example values + # model = AccountEwallet() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_account_otc.py b/test/test_account_otc.py new file mode 100644 index 00000000..25493c16 --- /dev/null +++ b/test/test_account_otc.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.account_otc import AccountOTC + + +class TestAccountOTC(unittest.TestCase): + """AccountOTC unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAccountOTC(self): + """Test AccountOTC""" + # FIXME: construct object with mandatory attributes with example values + # model = AccountOTC() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_account_pay_later.py b/test/test_account_pay_later.py new file mode 100644 index 00000000..18d7bb49 --- /dev/null +++ b/test/test_account_pay_later.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.account_pay_later import AccountPayLater + + +class TestAccountPayLater(unittest.TestCase): + """AccountPayLater unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAccountPayLater(self): + """Test AccountPayLater""" + # FIXME: construct object with mandatory attributes with example values + # model = AccountPayLater() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_account_qr_code.py b/test/test_account_qr_code.py new file mode 100644 index 00000000..ad2b5a03 --- /dev/null +++ b/test/test_account_qr_code.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.account_qr_code import AccountQRCode + + +class TestAccountQRCode(unittest.TestCase): + """AccountQRCode unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAccountQRCode(self): + """Test AccountQRCode""" + # FIXME: construct object with mandatory attributes with example values + # model = AccountQRCode() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_address.py b/test/test_address.py new file mode 100644 index 00000000..7c1c6a09 --- /dev/null +++ b/test/test_address.py @@ -0,0 +1,32 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.address_status import AddressStatus +globals()['AddressStatus'] = AddressStatus +from xendit.customer.model.address import Address + + +class TestAddress(unittest.TestCase): + """Address unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAddress(self): + """Test Address""" + # FIXME: construct object with mandatory attributes with example values + # model = Address() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_address_request.py b/test/test_address_request.py new file mode 100644 index 00000000..acca7e75 --- /dev/null +++ b/test/test_address_request.py @@ -0,0 +1,34 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.address_status import AddressStatus +from xendit.customer.model.country_code import CountryCode +globals()['AddressStatus'] = AddressStatus +globals()['CountryCode'] = CountryCode +from xendit.customer.model.address_request import AddressRequest + + +class TestAddressRequest(unittest.TestCase): + """AddressRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAddressRequest(self): + """Test AddressRequest""" + # FIXME: construct object with mandatory attributes with example values + # model = AddressRequest() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_address_status.py b/test/test_address_status.py new file mode 100644 index 00000000..43967d17 --- /dev/null +++ b/test/test_address_status.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.address_status import AddressStatus + + +class TestAddressStatus(unittest.TestCase): + """AddressStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAddressStatus(self): + """Test AddressStatus""" + # FIXME: construct object with mandatory attributes with example values + # model = AddressStatus() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_balance.py b/test/test_balance.py index 8d40a80e..970d86ca 100644 --- a/test/test_balance.py +++ b/test/test_balance.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_balance_api.py b/test/test_balance_api.py index 603b8eb7..113d9897 100644 --- a/test/test_balance_api.py +++ b/test/test_balance_api.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_billing_information.py b/test/test_billing_information.py index 15cffe8e..61455e8f 100644 --- a/test/test_billing_information.py +++ b/test/test_billing_information.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_business_detail.py b/test/test_business_detail.py new file mode 100644 index 00000000..6a12b15c --- /dev/null +++ b/test/test_business_detail.py @@ -0,0 +1,32 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.country_code import CountryCode +globals()['CountryCode'] = CountryCode +from xendit.customer.model.business_detail import BusinessDetail + + +class TestBusinessDetail(unittest.TestCase): + """BusinessDetail unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testBusinessDetail(self): + """Test BusinessDetail""" + # FIXME: construct object with mandatory attributes with example values + # model = BusinessDetail() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_capture.py b/test/test_capture.py index 9343f27f..d7e3dada 100644 --- a/test/test_capture.py +++ b/test/test_capture.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_capture_list.py b/test/test_capture_list.py index 628a56e9..c243aea3 100644 --- a/test/test_capture_list.py +++ b/test/test_capture_list.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_capture_list_response.py b/test/test_capture_list_response.py index 43b357ea..5379cf2f 100644 --- a/test/test_capture_list_response.py +++ b/test/test_capture_list_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_capture_parameters.py b/test/test_capture_parameters.py index 4c1e05e0..f9f2ecab 100644 --- a/test/test_capture_parameters.py +++ b/test/test_capture_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_card.py b/test/test_card.py index 36429d62..09810a22 100644 --- a/test/test_card.py +++ b/test/test_card.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_card_channel_properties.py b/test/test_card_channel_properties.py index 931903fe..124e5dec 100644 --- a/test/test_card_channel_properties.py +++ b/test/test_card_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_card_information.py b/test/test_card_information.py index 7f3f3088..f8ebb0b2 100644 --- a/test/test_card_information.py +++ b/test/test_card_information.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_card_parameters.py b/test/test_card_parameters.py index 037fa025..f9bb1ea3 100644 --- a/test/test_card_parameters.py +++ b/test/test_card_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_card_parameters_card_information.py b/test/test_card_parameters_card_information.py index 0aaf4cc0..51c7864e 100644 --- a/test/test_card_parameters_card_information.py +++ b/test/test_card_parameters_card_information.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_card_verification_results.py b/test/test_card_verification_results.py index 32e81e01..7344d3b3 100644 --- a/test/test_card_verification_results.py +++ b/test/test_card_verification_results.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,9 +7,9 @@ import unittest import xendit -from xendit.payment_request.model.card_verification_results_three_d_secure import CardVerificationResultsThreeDSecure +from xendit.payment_method.model.card_verification_results_three_d_secure import CardVerificationResultsThreeDSecure globals()['CardVerificationResultsThreeDSecure'] = CardVerificationResultsThreeDSecure -from xendit.payment_request.model.card_verification_results import CardVerificationResults +from xendit.payment_method.model.card_verification_results import CardVerificationResults class TestCardVerificationResults(unittest.TestCase): diff --git a/test/test_card_verification_results_three_d_secure.py b/test/test_card_verification_results_three_d_secure.py index 8104ce56..0fe79994 100644 --- a/test/test_card_verification_results_three_d_secure.py +++ b/test/test_card_verification_results_three_d_secure.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_channel_amount_limits.py b/test/test_channel_amount_limits.py index d885eae5..f6c91818 100644 --- a/test/test_channel_amount_limits.py +++ b/test/test_channel_amount_limits.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.0.0 """ @@ -7,9 +7,7 @@ import unittest import xendit -from xendit.payment_method.model.channel_amount_limits_all_of import ChannelAmountLimitsAllOf -globals()['ChannelAmountLimitsAllOf'] = ChannelAmountLimitsAllOf -from xendit.payment_method.model.channel_amount_limits import ChannelAmountLimits +from xendit.payout.model.channel_amount_limits import ChannelAmountLimits class TestChannelAmountLimits(unittest.TestCase): diff --git a/test/test_channel_amount_limits_all_of.py b/test/test_channel_amount_limits_all_of.py deleted file mode 100644 index 5e3bf4bd..00000000 --- a/test/test_channel_amount_limits_all_of.py +++ /dev/null @@ -1,30 +0,0 @@ -""" - The version of the XENDIT API: 2.87.2 -""" - - -import sys -import unittest - -import xendit -from xendit.payment_method.model.channel_amount_limits_all_of import ChannelAmountLimitsAllOf - - -class TestChannelAmountLimitsAllOf(unittest.TestCase): - """ChannelAmountLimitsAllOf unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testChannelAmountLimitsAllOf(self): - """Test ChannelAmountLimitsAllOf""" - # FIXME: construct object with mandatory attributes with example values - # model = ChannelAmountLimitsAllOf() # noqa: E501 - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_channel_property.py b/test/test_channel_property.py deleted file mode 100644 index 19a99d32..00000000 --- a/test/test_channel_property.py +++ /dev/null @@ -1,32 +0,0 @@ -""" - The version of the XENDIT API: 2.87.2 -""" - - -import sys -import unittest - -import xendit -from xendit.payment_method.model.channel_property_all_of import ChannelPropertyAllOf -globals()['ChannelPropertyAllOf'] = ChannelPropertyAllOf -from xendit.payment_method.model.channel_property import ChannelProperty - - -class TestChannelProperty(unittest.TestCase): - """ChannelProperty unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testChannelProperty(self): - """Test ChannelProperty""" - # FIXME: construct object with mandatory attributes with example values - # model = ChannelProperty() # noqa: E501 - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_channel_property_all_of.py b/test/test_channel_property_all_of.py deleted file mode 100644 index 61cb7af5..00000000 --- a/test/test_channel_property_all_of.py +++ /dev/null @@ -1,30 +0,0 @@ -""" - The version of the XENDIT API: 2.87.2 -""" - - -import sys -import unittest - -import xendit -from xendit.payment_method.model.channel_property_all_of import ChannelPropertyAllOf - - -class TestChannelPropertyAllOf(unittest.TestCase): - """ChannelPropertyAllOf unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testChannelPropertyAllOf(self): - """Test ChannelPropertyAllOf""" - # FIXME: construct object with mandatory attributes with example values - # model = ChannelPropertyAllOf() # noqa: E501 - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_channels_categories.py b/test/test_channels_categories.py index 202c7cd5..2c8d3739 100644 --- a/test/test_channels_categories.py +++ b/test/test_channels_categories.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_country_code.py b/test/test_country_code.py new file mode 100644 index 00000000..adbc24ae --- /dev/null +++ b/test/test_country_code.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.country_code import CountryCode + + +class TestCountryCode(unittest.TestCase): + """CountryCode unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCountryCode(self): + """Test CountryCode""" + # FIXME: construct object with mandatory attributes with example values + # model = CountryCode() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_create_customer400_response.py b/test/test_create_customer400_response.py new file mode 100644 index 00000000..9008f318 --- /dev/null +++ b/test/test_create_customer400_response.py @@ -0,0 +1,34 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.create_customer400_response_all_of import CreateCustomer400ResponseAllOf +from xendit.customer.model.error import Error +globals()['CreateCustomer400ResponseAllOf'] = CreateCustomer400ResponseAllOf +globals()['Error'] = Error +from xendit.customer.model.create_customer400_response import CreateCustomer400Response + + +class TestCreateCustomer400Response(unittest.TestCase): + """CreateCustomer400Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCreateCustomer400Response(self): + """Test CreateCustomer400Response""" + # FIXME: construct object with mandatory attributes with example values + # model = CreateCustomer400Response() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_create_customer400_response_all_of.py b/test/test_create_customer400_response_all_of.py new file mode 100644 index 00000000..2021da61 --- /dev/null +++ b/test/test_create_customer400_response_all_of.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.create_customer400_response_all_of import CreateCustomer400ResponseAllOf + + +class TestCreateCustomer400ResponseAllOf(unittest.TestCase): + """CreateCustomer400ResponseAllOf unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCreateCustomer400ResponseAllOf(self): + """Test CreateCustomer400ResponseAllOf""" + # FIXME: construct object with mandatory attributes with example values + # model = CreateCustomer400ResponseAllOf() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_create_payment_method409_response.py b/test/test_create_payment_method409_response.py index 7b7db8cb..5f200859 100644 --- a/test/test_create_payment_method409_response.py +++ b/test/test_create_payment_method409_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_create_payment_method503_response.py b/test/test_create_payment_method503_response.py index c6a61a01..49e9a0ca 100644 --- a/test/test_create_payment_method503_response.py +++ b/test/test_create_payment_method503_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_currency.py b/test/test_currency.py index 5da63cef..bcdadeb3 100644 --- a/test/test_currency.py +++ b/test/test_currency.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_customer.py b/test/test_customer.py new file mode 100644 index 00000000..2eba16e3 --- /dev/null +++ b/test/test_customer.py @@ -0,0 +1,42 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.address import Address +from xendit.customer.model.business_detail import BusinessDetail +from xendit.customer.model.end_customer_status import EndCustomerStatus +from xendit.customer.model.identity_account_response import IdentityAccountResponse +from xendit.customer.model.individual_detail import IndividualDetail +from xendit.customer.model.kyc_document_response import KYCDocumentResponse +globals()['Address'] = Address +globals()['BusinessDetail'] = BusinessDetail +globals()['EndCustomerStatus'] = EndCustomerStatus +globals()['IdentityAccountResponse'] = IdentityAccountResponse +globals()['IndividualDetail'] = IndividualDetail +globals()['KYCDocumentResponse'] = KYCDocumentResponse +from xendit.customer.model.customer import Customer + + +class TestCustomer(unittest.TestCase): + """Customer unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCustomer(self): + """Test Customer""" + # FIXME: construct object with mandatory attributes with example values + # model = Customer() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_customer_api.py b/test/test_customer_api.py new file mode 100644 index 00000000..6d776a56 --- /dev/null +++ b/test/test_customer_api.py @@ -0,0 +1,51 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import unittest + +import xendit +from customer.customer_api import CustomerApi # noqa: E501 + + +class TestCustomerApi(unittest.TestCase): + """CustomerApi unit test stubs""" + + def setUp(self): + self.api = CustomerApi() # noqa: E501 + + def tearDown(self): + pass + + def test_create_customer(self): + """Test case for create_customer + + Create Customer # noqa: E501 + """ + pass + + def test_get_customer(self): + """Test case for get_customer + + Get Customer By ID # noqa: E501 + """ + pass + + def test_get_customer_by_reference_id(self): + """Test case for get_customer_by_reference_id + + GET customers by reference id # noqa: E501 + """ + pass + + def test_update_customer(self): + """Test case for update_customer + + Update End Customer Resource # noqa: E501 + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_customer_request.py b/test/test_customer_request.py new file mode 100644 index 00000000..20aecb19 --- /dev/null +++ b/test/test_customer_request.py @@ -0,0 +1,40 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.address_request import AddressRequest +from xendit.customer.model.business_detail import BusinessDetail +from xendit.customer.model.identity_account_request import IdentityAccountRequest +from xendit.customer.model.individual_detail import IndividualDetail +from xendit.customer.model.kyc_document_request import KYCDocumentRequest +globals()['AddressRequest'] = AddressRequest +globals()['BusinessDetail'] = BusinessDetail +globals()['IdentityAccountRequest'] = IdentityAccountRequest +globals()['IndividualDetail'] = IndividualDetail +globals()['KYCDocumentRequest'] = KYCDocumentRequest +from xendit.customer.model.customer_request import CustomerRequest + + +class TestCustomerRequest(unittest.TestCase): + """CustomerRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCustomerRequest(self): + """Test CustomerRequest""" + # FIXME: construct object with mandatory attributes with example values + # model = CustomerRequest() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_date_range_filter.py b/test/test_date_range_filter.py index 1a35674e..91b95a84 100644 --- a/test/test_date_range_filter.py +++ b/test/test_date_range_filter.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_direct_debit_all_of.py b/test/test_direct_debit_all_of.py index cc865613..eb52005d 100644 --- a/test/test_direct_debit_all_of.py +++ b/test/test_direct_debit_all_of.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,13 +7,13 @@ import unittest import xendit -from xendit.payment_request.model.direct_debit_bank_account import DirectDebitBankAccount -from xendit.payment_request.model.direct_debit_debit_card import DirectDebitDebitCard -from xendit.payment_request.model.direct_debit_type import DirectDebitType +from xendit.payment_method.model.direct_debit_bank_account import DirectDebitBankAccount +from xendit.payment_method.model.direct_debit_debit_card import DirectDebitDebitCard +from xendit.payment_method.model.direct_debit_type import DirectDebitType globals()['DirectDebitBankAccount'] = DirectDebitBankAccount globals()['DirectDebitDebitCard'] = DirectDebitDebitCard globals()['DirectDebitType'] = DirectDebitType -from xendit.payment_request.model.direct_debit_all_of import DirectDebitAllOf +from xendit.payment_method.model.direct_debit_all_of import DirectDebitAllOf class TestDirectDebitAllOf(unittest.TestCase): diff --git a/test/test_direct_debit_bank_account.py b/test/test_direct_debit_bank_account.py index 75b137c4..75e8fd3a 100644 --- a/test/test_direct_debit_bank_account.py +++ b/test/test_direct_debit_bank_account.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.direct_debit_bank_account import DirectDebitBankAccount +from xendit.payment_method.model.direct_debit_bank_account import DirectDebitBankAccount class TestDirectDebitBankAccount(unittest.TestCase): diff --git a/test/test_direct_debit_channel_code.py b/test/test_direct_debit_channel_code.py index 530d187a..57c9490d 100644 --- a/test/test_direct_debit_channel_code.py +++ b/test/test_direct_debit_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.direct_debit_channel_code import DirectDebitChannelCode +from xendit.payment_method.model.direct_debit_channel_code import DirectDebitChannelCode class TestDirectDebitChannelCode(unittest.TestCase): diff --git a/test/test_direct_debit_channel_properties.py b/test/test_direct_debit_channel_properties.py index cbc097d6..22f5bfa4 100644 --- a/test/test_direct_debit_channel_properties.py +++ b/test/test_direct_debit_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,13 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.direct_debit_channel_properties_bank_account import DirectDebitChannelPropertiesBankAccount -from xendit.payment_request.model.direct_debit_channel_properties_bank_redirect import DirectDebitChannelPropertiesBankRedirect -from xendit.payment_request.model.direct_debit_channel_properties_debit_card import DirectDebitChannelPropertiesDebitCard -globals()['DirectDebitChannelPropertiesBankAccount'] = DirectDebitChannelPropertiesBankAccount -globals()['DirectDebitChannelPropertiesBankRedirect'] = DirectDebitChannelPropertiesBankRedirect -globals()['DirectDebitChannelPropertiesDebitCard'] = DirectDebitChannelPropertiesDebitCard -from xendit.payment_request.model.direct_debit_channel_properties import DirectDebitChannelProperties +from xendit.payment_method.model.direct_debit_channel_properties import DirectDebitChannelProperties class TestDirectDebitChannelProperties(unittest.TestCase): diff --git a/test/test_direct_debit_channel_properties_bank_account.py b/test/test_direct_debit_channel_properties_bank_account.py index 3e80f39d..65818763 100644 --- a/test/test_direct_debit_channel_properties_bank_account.py +++ b/test/test_direct_debit_channel_properties_bank_account.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_direct_debit_channel_properties_bank_redirect.py b/test/test_direct_debit_channel_properties_bank_redirect.py index 9a11ae8e..0d2a7e3f 100644 --- a/test/test_direct_debit_channel_properties_bank_redirect.py +++ b/test/test_direct_debit_channel_properties_bank_redirect.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_direct_debit_channel_properties_debit_card.py b/test/test_direct_debit_channel_properties_debit_card.py index bc9c6de3..cf5a8e0d 100644 --- a/test/test_direct_debit_channel_properties_debit_card.py +++ b/test/test_direct_debit_channel_properties_debit_card.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_direct_debit_debit_card.py b/test/test_direct_debit_debit_card.py index 0ab84b29..4e10c4ca 100644 --- a/test/test_direct_debit_debit_card.py +++ b/test/test_direct_debit_debit_card.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.direct_debit_debit_card import DirectDebitDebitCard +from xendit.payment_method.model.direct_debit_debit_card import DirectDebitDebitCard class TestDirectDebitDebitCard(unittest.TestCase): diff --git a/test/test_direct_debit_parameters.py b/test/test_direct_debit_parameters.py index 0e0984a7..8b8d3159 100644 --- a/test/test_direct_debit_parameters.py +++ b/test/test_direct_debit_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,13 +7,11 @@ import unittest import xendit -from xendit.payment_request.model.direct_debit_channel_code import DirectDebitChannelCode -from xendit.payment_request.model.direct_debit_channel_properties import DirectDebitChannelProperties -from xendit.payment_request.model.direct_debit_type import DirectDebitType +from xendit.payment_method.model.direct_debit_channel_code import DirectDebitChannelCode +from xendit.payment_method.model.direct_debit_channel_properties import DirectDebitChannelProperties globals()['DirectDebitChannelCode'] = DirectDebitChannelCode globals()['DirectDebitChannelProperties'] = DirectDebitChannelProperties -globals()['DirectDebitType'] = DirectDebitType -from xendit.payment_request.model.direct_debit_parameters import DirectDebitParameters +from xendit.payment_method.model.direct_debit_parameters import DirectDebitParameters class TestDirectDebitParameters(unittest.TestCase): diff --git a/test/test_e_wallet.py b/test/test_e_wallet.py index ff9dfdeb..6bddb5cd 100644 --- a/test/test_e_wallet.py +++ b/test/test_e_wallet.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,17 +7,15 @@ import unittest import xendit -from xendit.payment_request.model.e_wallet_account import EWalletAccount -from xendit.payment_request.model.e_wallet_all_of import EWalletAllOf -from xendit.payment_request.model.e_wallet_channel_code import EWalletChannelCode -from xendit.payment_request.model.e_wallet_channel_properties import EWalletChannelProperties -from xendit.payment_request.model.e_wallet_parameters import EWalletParameters +from xendit.payment_method.model.e_wallet_account import EWalletAccount +from xendit.payment_method.model.e_wallet_channel_code import EWalletChannelCode +from xendit.payment_method.model.e_wallet_channel_properties import EWalletChannelProperties +from xendit.payment_method.model.e_wallet_parameters import EWalletParameters globals()['EWalletAccount'] = EWalletAccount -globals()['EWalletAllOf'] = EWalletAllOf globals()['EWalletChannelCode'] = EWalletChannelCode globals()['EWalletChannelProperties'] = EWalletChannelProperties globals()['EWalletParameters'] = EWalletParameters -from xendit.payment_request.model.e_wallet import EWallet +from xendit.payment_method.model.e_wallet import EWallet class TestEWallet(unittest.TestCase): diff --git a/test/test_e_wallet_account.py b/test/test_e_wallet_account.py index 4e2fe164..0b992f4a 100644 --- a/test/test_e_wallet_account.py +++ b/test/test_e_wallet_account.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.e_wallet_account import EWalletAccount +from xendit.payment_method.model.e_wallet_account import EWalletAccount class TestEWalletAccount(unittest.TestCase): diff --git a/test/test_e_wallet_all_of.py b/test/test_e_wallet_all_of.py index 0bd7306a..fd702628 100644 --- a/test/test_e_wallet_all_of.py +++ b/test/test_e_wallet_all_of.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_e_wallet_channel_code.py b/test/test_e_wallet_channel_code.py index 598d3a8b..b6837377 100644 --- a/test/test_e_wallet_channel_code.py +++ b/test/test_e_wallet_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_e_wallet_channel_properties.py b/test/test_e_wallet_channel_properties.py index 62c703ea..723c03f1 100644 --- a/test/test_e_wallet_channel_properties.py +++ b/test/test_e_wallet_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_e_wallet_parameters.py b/test/test_e_wallet_parameters.py index e3ea660e..874dd600 100644 --- a/test/test_e_wallet_parameters.py +++ b/test/test_e_wallet_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_employment_detail.py b/test/test_employment_detail.py new file mode 100644 index 00000000..62b653a2 --- /dev/null +++ b/test/test_employment_detail.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.employment_detail import EmploymentDetail + + +class TestEmploymentDetail(unittest.TestCase): + """EmploymentDetail unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEmploymentDetail(self): + """Test EmploymentDetail""" + # FIXME: construct object with mandatory attributes with example values + # model = EmploymentDetail() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_end_customer_status.py b/test/test_end_customer_status.py new file mode 100644 index 00000000..22107335 --- /dev/null +++ b/test/test_end_customer_status.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.end_customer_status import EndCustomerStatus + + +class TestEndCustomerStatus(unittest.TestCase): + """EndCustomerStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEndCustomerStatus(self): + """Test EndCustomerStatus""" + # FIXME: construct object with mandatory attributes with example values + # model = EndCustomerStatus() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_error.py b/test/test_error.py index 733026e9..a0cc6353 100644 --- a/test/test_error.py +++ b/test/test_error.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.0.0 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.error import Error +from xendit.customer.model.error import Error class TestError(unittest.TestCase): diff --git a/test/test_fee_response.py b/test/test_fee_response.py index f991d607..f614de2c 100644 --- a/test/test_fee_response.py +++ b/test/test_fee_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_get_all_payment_methods400_response.py b/test/test_get_all_payment_methods400_response.py index cc708f62..51ac7865 100644 --- a/test/test_get_all_payment_methods400_response.py +++ b/test/test_get_all_payment_methods400_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_get_all_payment_methods403_response.py b/test/test_get_all_payment_methods403_response.py index 9228392f..1a90795f 100644 --- a/test/test_get_all_payment_methods403_response.py +++ b/test/test_get_all_payment_methods403_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_get_all_payment_methods404_response.py b/test/test_get_all_payment_methods404_response.py index db98fef0..dedd0587 100644 --- a/test/test_get_all_payment_methods404_response.py +++ b/test/test_get_all_payment_methods404_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_get_all_payment_methods_default_response.py b/test/test_get_all_payment_methods_default_response.py index 12501870..bef46fb8 100644 --- a/test/test_get_all_payment_methods_default_response.py +++ b/test/test_get_all_payment_methods_default_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_get_customer_by_reference_id200_response.py b/test/test_get_customer_by_reference_id200_response.py new file mode 100644 index 00000000..40de7d90 --- /dev/null +++ b/test/test_get_customer_by_reference_id200_response.py @@ -0,0 +1,32 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.customer import Customer +globals()['Customer'] = Customer +from xendit.customer.model.get_customer_by_reference_id200_response import GetCustomerByReferenceID200Response + + +class TestGetCustomerByReferenceID200Response(unittest.TestCase): + """GetCustomerByReferenceID200Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testGetCustomerByReferenceID200Response(self): + """Test GetCustomerByReferenceID200Response""" + # FIXME: construct object with mandatory attributes with example values + # model = GetCustomerByReferenceID200Response() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_get_customer_by_reference_id400_response.py b/test/test_get_customer_by_reference_id400_response.py new file mode 100644 index 00000000..0892d375 --- /dev/null +++ b/test/test_get_customer_by_reference_id400_response.py @@ -0,0 +1,34 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.error import Error +from xendit.customer.model.get_customer_by_reference_id400_response_all_of import GetCustomerByReferenceID400ResponseAllOf +globals()['Error'] = Error +globals()['GetCustomerByReferenceID400ResponseAllOf'] = GetCustomerByReferenceID400ResponseAllOf +from xendit.customer.model.get_customer_by_reference_id400_response import GetCustomerByReferenceID400Response + + +class TestGetCustomerByReferenceID400Response(unittest.TestCase): + """GetCustomerByReferenceID400Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testGetCustomerByReferenceID400Response(self): + """Test GetCustomerByReferenceID400Response""" + # FIXME: construct object with mandatory attributes with example values + # model = GetCustomerByReferenceID400Response() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_get_customer_by_reference_id400_response_all_of.py b/test/test_get_customer_by_reference_id400_response_all_of.py new file mode 100644 index 00000000..b5ebf42c --- /dev/null +++ b/test/test_get_customer_by_reference_id400_response_all_of.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.get_customer_by_reference_id400_response_all_of import GetCustomerByReferenceID400ResponseAllOf + + +class TestGetCustomerByReferenceID400ResponseAllOf(unittest.TestCase): + """GetCustomerByReferenceID400ResponseAllOf unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testGetCustomerByReferenceID400ResponseAllOf(self): + """Test GetCustomerByReferenceID400ResponseAllOf""" + # FIXME: construct object with mandatory attributes with example values + # model = GetCustomerByReferenceID400ResponseAllOf() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_identity_account_request.py b/test/test_identity_account_request.py new file mode 100644 index 00000000..7732da57 --- /dev/null +++ b/test/test_identity_account_request.py @@ -0,0 +1,36 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.country_code import CountryCode +from xendit.customer.model.identity_account_request_properties import IdentityAccountRequestProperties +from xendit.customer.model.identity_account_type import IdentityAccountType +globals()['CountryCode'] = CountryCode +globals()['IdentityAccountRequestProperties'] = IdentityAccountRequestProperties +globals()['IdentityAccountType'] = IdentityAccountType +from xendit.customer.model.identity_account_request import IdentityAccountRequest + + +class TestIdentityAccountRequest(unittest.TestCase): + """IdentityAccountRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testIdentityAccountRequest(self): + """Test IdentityAccountRequest""" + # FIXME: construct object with mandatory attributes with example values + # model = IdentityAccountRequest() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_identity_account_request_properties.py b/test/test_identity_account_request_properties.py new file mode 100644 index 00000000..d65a0bfb --- /dev/null +++ b/test/test_identity_account_request_properties.py @@ -0,0 +1,42 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.account_bank import AccountBank +from xendit.customer.model.account_card import AccountCard +from xendit.customer.model.account_ewallet import AccountEwallet +from xendit.customer.model.account_otc import AccountOTC +from xendit.customer.model.account_pay_later import AccountPayLater +from xendit.customer.model.account_qr_code import AccountQRCode +globals()['AccountBank'] = AccountBank +globals()['AccountCard'] = AccountCard +globals()['AccountEwallet'] = AccountEwallet +globals()['AccountOTC'] = AccountOTC +globals()['AccountPayLater'] = AccountPayLater +globals()['AccountQRCode'] = AccountQRCode +from xendit.customer.model.identity_account_request_properties import IdentityAccountRequestProperties + + +class TestIdentityAccountRequestProperties(unittest.TestCase): + """IdentityAccountRequestProperties unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testIdentityAccountRequestProperties(self): + """Test IdentityAccountRequestProperties""" + # FIXME: construct object with mandatory attributes with example values + # model = IdentityAccountRequestProperties() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_identity_account_response.py b/test/test_identity_account_response.py new file mode 100644 index 00000000..dc627a05 --- /dev/null +++ b/test/test_identity_account_response.py @@ -0,0 +1,34 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.country_code import CountryCode +from xendit.customer.model.identity_account_response_properties import IdentityAccountResponseProperties +globals()['CountryCode'] = CountryCode +globals()['IdentityAccountResponseProperties'] = IdentityAccountResponseProperties +from xendit.customer.model.identity_account_response import IdentityAccountResponse + + +class TestIdentityAccountResponse(unittest.TestCase): + """IdentityAccountResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testIdentityAccountResponse(self): + """Test IdentityAccountResponse""" + # FIXME: construct object with mandatory attributes with example values + # model = IdentityAccountResponse() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_identity_account_response_properties.py b/test/test_identity_account_response_properties.py new file mode 100644 index 00000000..402df8d5 --- /dev/null +++ b/test/test_identity_account_response_properties.py @@ -0,0 +1,42 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.account_bank import AccountBank +from xendit.customer.model.account_card import AccountCard +from xendit.customer.model.account_ewallet import AccountEwallet +from xendit.customer.model.account_otc import AccountOTC +from xendit.customer.model.account_pay_later import AccountPayLater +from xendit.customer.model.account_qr_code import AccountQRCode +globals()['AccountBank'] = AccountBank +globals()['AccountCard'] = AccountCard +globals()['AccountEwallet'] = AccountEwallet +globals()['AccountOTC'] = AccountOTC +globals()['AccountPayLater'] = AccountPayLater +globals()['AccountQRCode'] = AccountQRCode +from xendit.customer.model.identity_account_response_properties import IdentityAccountResponseProperties + + +class TestIdentityAccountResponseProperties(unittest.TestCase): + """IdentityAccountResponseProperties unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testIdentityAccountResponseProperties(self): + """Test IdentityAccountResponseProperties""" + # FIXME: construct object with mandatory attributes with example values + # model = IdentityAccountResponseProperties() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_identity_account_type.py b/test/test_identity_account_type.py new file mode 100644 index 00000000..37c17aa4 --- /dev/null +++ b/test/test_identity_account_type.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.identity_account_type import IdentityAccountType + + +class TestIdentityAccountType(unittest.TestCase): + """IdentityAccountType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testIdentityAccountType(self): + """Test IdentityAccountType""" + # FIXME: construct object with mandatory attributes with example values + # model = IdentityAccountType() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_individual_detail.py b/test/test_individual_detail.py new file mode 100644 index 00000000..64f7dc51 --- /dev/null +++ b/test/test_individual_detail.py @@ -0,0 +1,34 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.country_code import CountryCode +from xendit.customer.model.employment_detail import EmploymentDetail +globals()['CountryCode'] = CountryCode +globals()['EmploymentDetail'] = EmploymentDetail +from xendit.customer.model.individual_detail import IndividualDetail + + +class TestIndividualDetail(unittest.TestCase): + """IndividualDetail unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testIndividualDetail(self): + """Test IndividualDetail""" + # FIXME: construct object with mandatory attributes with example values + # model = IndividualDetail() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_kyc_document_request.py b/test/test_kyc_document_request.py new file mode 100644 index 00000000..3206285f --- /dev/null +++ b/test/test_kyc_document_request.py @@ -0,0 +1,36 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.country_code import CountryCode +from xendit.customer.model.kyc_document_sub_type import KYCDocumentSubType +from xendit.customer.model.kyc_document_type import KYCDocumentType +globals()['CountryCode'] = CountryCode +globals()['KYCDocumentSubType'] = KYCDocumentSubType +globals()['KYCDocumentType'] = KYCDocumentType +from xendit.customer.model.kyc_document_request import KYCDocumentRequest + + +class TestKYCDocumentRequest(unittest.TestCase): + """KYCDocumentRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testKYCDocumentRequest(self): + """Test KYCDocumentRequest""" + # FIXME: construct object with mandatory attributes with example values + # model = KYCDocumentRequest() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_kyc_document_response.py b/test/test_kyc_document_response.py new file mode 100644 index 00000000..39b590bb --- /dev/null +++ b/test/test_kyc_document_response.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.kyc_document_response import KYCDocumentResponse + + +class TestKYCDocumentResponse(unittest.TestCase): + """KYCDocumentResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testKYCDocumentResponse(self): + """Test KYCDocumentResponse""" + # FIXME: construct object with mandatory attributes with example values + # model = KYCDocumentResponse() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_kyc_document_sub_type.py b/test/test_kyc_document_sub_type.py new file mode 100644 index 00000000..eb506ab8 --- /dev/null +++ b/test/test_kyc_document_sub_type.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.kyc_document_sub_type import KYCDocumentSubType + + +class TestKYCDocumentSubType(unittest.TestCase): + """KYCDocumentSubType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testKYCDocumentSubType(self): + """Test KYCDocumentSubType""" + # FIXME: construct object with mandatory attributes with example values + # model = KYCDocumentSubType() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_kyc_document_type.py b/test/test_kyc_document_type.py new file mode 100644 index 00000000..af2f33b2 --- /dev/null +++ b/test/test_kyc_document_type.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.kyc_document_type import KYCDocumentType + + +class TestKYCDocumentType(unittest.TestCase): + """KYCDocumentType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testKYCDocumentType(self): + """Test KYCDocumentType""" + # FIXME: construct object with mandatory attributes with example values + # model = KYCDocumentType() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_link_item.py b/test/test_link_item.py index d0eeb6dd..38aefe4f 100644 --- a/test/test_link_item.py +++ b/test/test_link_item.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_over_the_counter.py b/test/test_over_the_counter.py index dc6607e6..0c750af9 100644 --- a/test/test_over_the_counter.py +++ b/test/test_over_the_counter.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,15 +7,13 @@ import unittest import xendit -from xendit.payment_request.model.over_the_counter_channel_code import OverTheCounterChannelCode -from xendit.payment_request.model.over_the_counter_channel_properties import OverTheCounterChannelProperties -from xendit.payment_request.model.over_the_counter_parameters import OverTheCounterParameters -from xendit.payment_request.model.payment_request_currency import PaymentRequestCurrency +from xendit.payment_method.model.over_the_counter_channel_code import OverTheCounterChannelCode +from xendit.payment_method.model.over_the_counter_channel_properties import OverTheCounterChannelProperties +from xendit.payment_method.model.over_the_counter_parameters import OverTheCounterParameters globals()['OverTheCounterChannelCode'] = OverTheCounterChannelCode globals()['OverTheCounterChannelProperties'] = OverTheCounterChannelProperties globals()['OverTheCounterParameters'] = OverTheCounterParameters -globals()['PaymentRequestCurrency'] = PaymentRequestCurrency -from xendit.payment_request.model.over_the_counter import OverTheCounter +from xendit.payment_method.model.over_the_counter import OverTheCounter class TestOverTheCounter(unittest.TestCase): diff --git a/test/test_over_the_counter_channel_code.py b/test/test_over_the_counter_channel_code.py index b681593a..87510e92 100644 --- a/test/test_over_the_counter_channel_code.py +++ b/test/test_over_the_counter_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.over_the_counter_channel_code import OverTheCounterChannelCode +from xendit.payment_method.model.over_the_counter_channel_code import OverTheCounterChannelCode class TestOverTheCounterChannelCode(unittest.TestCase): diff --git a/test/test_over_the_counter_channel_properties.py b/test/test_over_the_counter_channel_properties.py index abae8a51..08a55bcf 100644 --- a/test/test_over_the_counter_channel_properties.py +++ b/test/test_over_the_counter_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.over_the_counter_channel_properties import OverTheCounterChannelProperties +from xendit.payment_method.model.over_the_counter_channel_properties import OverTheCounterChannelProperties class TestOverTheCounterChannelProperties(unittest.TestCase): diff --git a/test/test_over_the_counter_channel_properties_update.py b/test/test_over_the_counter_channel_properties_update.py index 5cd2672a..f79b2392 100644 --- a/test/test_over_the_counter_channel_properties_update.py +++ b/test/test_over_the_counter_channel_properties_update.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_over_the_counter_parameters.py b/test/test_over_the_counter_parameters.py index 1beb31c7..d549723d 100644 --- a/test/test_over_the_counter_parameters.py +++ b/test/test_over_the_counter_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,13 +7,11 @@ import unittest import xendit -from xendit.payment_request.model.over_the_counter_channel_code import OverTheCounterChannelCode -from xendit.payment_request.model.over_the_counter_channel_properties import OverTheCounterChannelProperties -from xendit.payment_request.model.payment_request_currency import PaymentRequestCurrency +from xendit.payment_method.model.over_the_counter_channel_code import OverTheCounterChannelCode +from xendit.payment_method.model.over_the_counter_channel_properties import OverTheCounterChannelProperties globals()['OverTheCounterChannelCode'] = OverTheCounterChannelCode globals()['OverTheCounterChannelProperties'] = OverTheCounterChannelProperties -globals()['PaymentRequestCurrency'] = PaymentRequestCurrency -from xendit.payment_request.model.over_the_counter_parameters import OverTheCounterParameters +from xendit.payment_method.model.over_the_counter_parameters import OverTheCounterParameters class TestOverTheCounterParameters(unittest.TestCase): diff --git a/test/test_over_the_counter_update_parameters.py b/test/test_over_the_counter_update_parameters.py index e126dd26..ce1754d7 100644 --- a/test/test_over_the_counter_update_parameters.py +++ b/test/test_over_the_counter_update_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_patch_customer.py b/test/test_patch_customer.py new file mode 100644 index 00000000..bf105603 --- /dev/null +++ b/test/test_patch_customer.py @@ -0,0 +1,42 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.address_request import AddressRequest +from xendit.customer.model.business_detail import BusinessDetail +from xendit.customer.model.end_customer_status import EndCustomerStatus +from xendit.customer.model.identity_account_request import IdentityAccountRequest +from xendit.customer.model.individual_detail import IndividualDetail +from xendit.customer.model.kyc_document_request import KYCDocumentRequest +globals()['AddressRequest'] = AddressRequest +globals()['BusinessDetail'] = BusinessDetail +globals()['EndCustomerStatus'] = EndCustomerStatus +globals()['IdentityAccountRequest'] = IdentityAccountRequest +globals()['IndividualDetail'] = IndividualDetail +globals()['KYCDocumentRequest'] = KYCDocumentRequest +from xendit.customer.model.patch_customer import PatchCustomer + + +class TestPatchCustomer(unittest.TestCase): + """PatchCustomer unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPatchCustomer(self): + """Test PatchCustomer""" + # FIXME: construct object with mandatory attributes with example values + # model = PatchCustomer() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_payment_channel.py b/test/test_payment_channel.py deleted file mode 100644 index 72644d56..00000000 --- a/test/test_payment_channel.py +++ /dev/null @@ -1,36 +0,0 @@ -""" - The version of the XENDIT API: 2.87.2 -""" - - -import sys -import unittest - -import xendit -from xendit.payment_method.model.channel_amount_limits import ChannelAmountLimits -from xendit.payment_method.model.channel_property import ChannelProperty -from xendit.payment_method.model.payment_channel_all_of import PaymentChannelAllOf -globals()['ChannelAmountLimits'] = ChannelAmountLimits -globals()['ChannelProperty'] = ChannelProperty -globals()['PaymentChannelAllOf'] = PaymentChannelAllOf -from xendit.payment_method.model.payment_channel import PaymentChannel - - -class TestPaymentChannel(unittest.TestCase): - """PaymentChannel unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testPaymentChannel(self): - """Test PaymentChannel""" - # FIXME: construct object with mandatory attributes with example values - # model = PaymentChannel() # noqa: E501 - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_payment_channel_all_of.py b/test/test_payment_channel_all_of.py deleted file mode 100644 index e15e5fd3..00000000 --- a/test/test_payment_channel_all_of.py +++ /dev/null @@ -1,34 +0,0 @@ -""" - The version of the XENDIT API: 2.87.2 -""" - - -import sys -import unittest - -import xendit -from xendit.payment_method.model.channel_amount_limits import ChannelAmountLimits -from xendit.payment_method.model.channel_property import ChannelProperty -globals()['ChannelAmountLimits'] = ChannelAmountLimits -globals()['ChannelProperty'] = ChannelProperty -from xendit.payment_method.model.payment_channel_all_of import PaymentChannelAllOf - - -class TestPaymentChannelAllOf(unittest.TestCase): - """PaymentChannelAllOf unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testPaymentChannelAllOf(self): - """Test PaymentChannelAllOf""" - # FIXME: construct object with mandatory attributes with example values - # model = PaymentChannelAllOf() # noqa: E501 - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_payment_channel_list.py b/test/test_payment_channel_list.py deleted file mode 100644 index b534d6da..00000000 --- a/test/test_payment_channel_list.py +++ /dev/null @@ -1,34 +0,0 @@ -""" - The version of the XENDIT API: 2.87.2 -""" - - -import sys -import unittest - -import xendit -from xendit.payment_method.model.payment_channel import PaymentChannel -from xendit.payment_method.model.payment_channel_list_links_inner import PaymentChannelListLinksInner -globals()['PaymentChannel'] = PaymentChannel -globals()['PaymentChannelListLinksInner'] = PaymentChannelListLinksInner -from xendit.payment_method.model.payment_channel_list import PaymentChannelList - - -class TestPaymentChannelList(unittest.TestCase): - """PaymentChannelList unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testPaymentChannelList(self): - """Test PaymentChannelList""" - # FIXME: construct object with mandatory attributes with example values - # model = PaymentChannelList() # noqa: E501 - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_payment_channel_list_links_inner.py b/test/test_payment_channel_list_links_inner.py deleted file mode 100644 index 9a99d1f1..00000000 --- a/test/test_payment_channel_list_links_inner.py +++ /dev/null @@ -1,32 +0,0 @@ -""" - The version of the XENDIT API: 2.87.2 -""" - - -import sys -import unittest - -import xendit -from xendit.payment_method.model.payment_channel_list_links_inner_all_of import PaymentChannelListLinksInnerAllOf -globals()['PaymentChannelListLinksInnerAllOf'] = PaymentChannelListLinksInnerAllOf -from xendit.payment_method.model.payment_channel_list_links_inner import PaymentChannelListLinksInner - - -class TestPaymentChannelListLinksInner(unittest.TestCase): - """PaymentChannelListLinksInner unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testPaymentChannelListLinksInner(self): - """Test PaymentChannelListLinksInner""" - # FIXME: construct object with mandatory attributes with example values - # model = PaymentChannelListLinksInner() # noqa: E501 - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_payment_channel_list_links_inner_all_of.py b/test/test_payment_channel_list_links_inner_all_of.py deleted file mode 100644 index 53d0ba63..00000000 --- a/test/test_payment_channel_list_links_inner_all_of.py +++ /dev/null @@ -1,30 +0,0 @@ -""" - The version of the XENDIT API: 2.87.2 -""" - - -import sys -import unittest - -import xendit -from xendit.payment_method.model.payment_channel_list_links_inner_all_of import PaymentChannelListLinksInnerAllOf - - -class TestPaymentChannelListLinksInnerAllOf(unittest.TestCase): - """PaymentChannelListLinksInnerAllOf unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testPaymentChannelListLinksInnerAllOf(self): - """Test PaymentChannelListLinksInnerAllOf""" - # FIXME: construct object with mandatory attributes with example values - # model = PaymentChannelListLinksInnerAllOf() # noqa: E501 - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/test/test_payment_method.py b/test/test_payment_method.py index 7e6b6728..2d2e08e9 100644 --- a/test/test_payment_method.py +++ b/test/test_payment_method.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,25 +7,31 @@ import unittest import xendit -from xendit.payment_request.model.card import Card -from xendit.payment_request.model.direct_debit import DirectDebit -from xendit.payment_request.model.e_wallet import EWallet -from xendit.payment_request.model.over_the_counter import OverTheCounter -from xendit.payment_request.model.payment_method_reusability import PaymentMethodReusability -from xendit.payment_request.model.payment_method_status import PaymentMethodStatus -from xendit.payment_request.model.payment_method_type import PaymentMethodType -from xendit.payment_request.model.qr_code import QRCode -from xendit.payment_request.model.virtual_account import VirtualAccount +from xendit.payment_method.model.billing_information import BillingInformation +from xendit.payment_method.model.card import Card +from xendit.payment_method.model.direct_debit import DirectDebit +from xendit.payment_method.model.e_wallet import EWallet +from xendit.payment_method.model.over_the_counter import OverTheCounter +from xendit.payment_method.model.payment_method_action import PaymentMethodAction +from xendit.payment_method.model.payment_method_country import PaymentMethodCountry +from xendit.payment_method.model.payment_method_reusability import PaymentMethodReusability +from xendit.payment_method.model.payment_method_status import PaymentMethodStatus +from xendit.payment_method.model.payment_method_type import PaymentMethodType +from xendit.payment_method.model.qr_code import QRCode +from xendit.payment_method.model.virtual_account import VirtualAccount +globals()['BillingInformation'] = BillingInformation globals()['Card'] = Card globals()['DirectDebit'] = DirectDebit globals()['EWallet'] = EWallet globals()['OverTheCounter'] = OverTheCounter +globals()['PaymentMethodAction'] = PaymentMethodAction +globals()['PaymentMethodCountry'] = PaymentMethodCountry globals()['PaymentMethodReusability'] = PaymentMethodReusability globals()['PaymentMethodStatus'] = PaymentMethodStatus globals()['PaymentMethodType'] = PaymentMethodType globals()['QRCode'] = QRCode globals()['VirtualAccount'] = VirtualAccount -from xendit.payment_request.model.payment_method import PaymentMethod +from xendit.payment_method.model.payment_method import PaymentMethod class TestPaymentMethod(unittest.TestCase): diff --git a/test/test_payment_method_action.py b/test/test_payment_method_action.py index 41598da6..1bbc6b86 100644 --- a/test/test_payment_method_action.py +++ b/test/test_payment_method_action.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_payment_method_api.py b/test/test_payment_method_api.py index 718d853a..b4441ef7 100644 --- a/test/test_payment_method_api.py +++ b/test/test_payment_method_api.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -39,13 +39,6 @@ def test_expire_payment_method(self): """ pass - def test_get_all_payment_channels(self): - """Test case for get_all_payment_channels - - Get all payment channels # noqa: E501 - """ - pass - def test_get_all_payment_methods(self): """Test case for get_all_payment_methods diff --git a/test/test_payment_method_auth_parameters.py b/test/test_payment_method_auth_parameters.py index 71897c11..cc46f880 100644 --- a/test/test_payment_method_auth_parameters.py +++ b/test/test_payment_method_auth_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_payment_method_country.py b/test/test_payment_method_country.py index d2abad42..a38b1a03 100644 --- a/test/test_payment_method_country.py +++ b/test/test_payment_method_country.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_payment_method_expire_parameters.py b/test/test_payment_method_expire_parameters.py index 00babfb2..379cc743 100644 --- a/test/test_payment_method_expire_parameters.py +++ b/test/test_payment_method_expire_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_payment_method_list.py b/test/test_payment_method_list.py index 7ebc5fb2..b9cc0623 100644 --- a/test/test_payment_method_list.py +++ b/test/test_payment_method_list.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_payment_method_parameters.py b/test/test_payment_method_parameters.py index 16a0d255..882e4dd3 100644 --- a/test/test_payment_method_parameters.py +++ b/test/test_payment_method_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,13 +7,17 @@ import unittest import xendit -from xendit.payment_request.model.direct_debit_parameters import DirectDebitParameters -from xendit.payment_request.model.e_wallet_parameters import EWalletParameters -from xendit.payment_request.model.over_the_counter_parameters import OverTheCounterParameters -from xendit.payment_request.model.payment_method_reusability import PaymentMethodReusability -from xendit.payment_request.model.payment_method_type import PaymentMethodType -from xendit.payment_request.model.qr_code_parameters import QRCodeParameters -from xendit.payment_request.model.virtual_account_parameters import VirtualAccountParameters +from xendit.payment_method.model.billing_information import BillingInformation +from xendit.payment_method.model.card_parameters import CardParameters +from xendit.payment_method.model.direct_debit_parameters import DirectDebitParameters +from xendit.payment_method.model.e_wallet_parameters import EWalletParameters +from xendit.payment_method.model.over_the_counter_parameters import OverTheCounterParameters +from xendit.payment_method.model.payment_method_reusability import PaymentMethodReusability +from xendit.payment_method.model.payment_method_type import PaymentMethodType +from xendit.payment_method.model.qr_code_parameters import QRCodeParameters +from xendit.payment_method.model.virtual_account_parameters import VirtualAccountParameters +globals()['BillingInformation'] = BillingInformation +globals()['CardParameters'] = CardParameters globals()['DirectDebitParameters'] = DirectDebitParameters globals()['EWalletParameters'] = EWalletParameters globals()['OverTheCounterParameters'] = OverTheCounterParameters @@ -21,7 +25,7 @@ globals()['PaymentMethodType'] = PaymentMethodType globals()['QRCodeParameters'] = QRCodeParameters globals()['VirtualAccountParameters'] = VirtualAccountParameters -from xendit.payment_request.model.payment_method_parameters import PaymentMethodParameters +from xendit.payment_method.model.payment_method_parameters import PaymentMethodParameters class TestPaymentMethodParameters(unittest.TestCase): diff --git a/test/test_payment_method_reusability.py b/test/test_payment_method_reusability.py index e3e82e38..abc179af 100644 --- a/test/test_payment_method_reusability.py +++ b/test/test_payment_method_reusability.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.payment_method_reusability import PaymentMethodReusability +from xendit.payment_method.model.payment_method_reusability import PaymentMethodReusability class TestPaymentMethodReusability(unittest.TestCase): diff --git a/test/test_payment_method_status.py b/test/test_payment_method_status.py index 50b72063..883690d5 100644 --- a/test/test_payment_method_status.py +++ b/test/test_payment_method_status.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.payment_method_status import PaymentMethodStatus +from xendit.payment_method.model.payment_method_status import PaymentMethodStatus class TestPaymentMethodStatus(unittest.TestCase): diff --git a/test/test_payment_method_type.py b/test/test_payment_method_type.py index 46ce073f..afb25969 100644 --- a/test/test_payment_method_type.py +++ b/test/test_payment_method_type.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.payment_method_type import PaymentMethodType +from xendit.payment_method.model.payment_method_type import PaymentMethodType class TestPaymentMethodType(unittest.TestCase): diff --git a/test/test_payment_method_update_parameters.py b/test/test_payment_method_update_parameters.py index dec1bcce..7238ea6f 100644 --- a/test/test_payment_method_update_parameters.py +++ b/test/test_payment_method_update_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_payment_request.py b/test/test_payment_request.py index f0aecb93..8603cf84 100644 --- a/test/test_payment_request.py +++ b/test/test_payment_request.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_action.py b/test/test_payment_request_action.py index 7b1079ff..367089aa 100644 --- a/test/test_payment_request_action.py +++ b/test/test_payment_request_action.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_api.py b/test/test_payment_request_api.py index 55a7ba0c..2e9c6fa7 100644 --- a/test/test_payment_request_api.py +++ b/test/test_payment_request_api.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_auth_parameters.py b/test/test_payment_request_auth_parameters.py index 04405e08..aca870e5 100644 --- a/test/test_payment_request_auth_parameters.py +++ b/test/test_payment_request_auth_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_basket.py b/test/test_payment_request_basket.py index 59961ea5..e6cbb5ad 100644 --- a/test/test_payment_request_basket.py +++ b/test/test_payment_request_basket.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_basket_item.py b/test/test_payment_request_basket_item.py index 06f07cf8..c20a6b0c 100644 --- a/test/test_payment_request_basket_item.py +++ b/test/test_payment_request_basket_item.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_capture_method.py b/test/test_payment_request_capture_method.py index e148b0af..7c1c73d0 100644 --- a/test/test_payment_request_capture_method.py +++ b/test/test_payment_request_capture_method.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_card_verification_results.py b/test/test_payment_request_card_verification_results.py index ca21ca40..f5784be0 100644 --- a/test/test_payment_request_card_verification_results.py +++ b/test/test_payment_request_card_verification_results.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_card_verification_results_three_dee_secure.py b/test/test_payment_request_card_verification_results_three_dee_secure.py index 09bcde37..f5f803ab 100644 --- a/test/test_payment_request_card_verification_results_three_dee_secure.py +++ b/test/test_payment_request_card_verification_results_three_dee_secure.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_channel_properties.py b/test/test_payment_request_channel_properties.py index 99026e05..8af6c369 100644 --- a/test/test_payment_request_channel_properties.py +++ b/test/test_payment_request_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_country.py b/test/test_payment_request_country.py index c0978223..f2b96a4a 100644 --- a/test/test_payment_request_country.py +++ b/test/test_payment_request_country.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_currency.py b/test/test_payment_request_currency.py index f0e3902e..3aa96c85 100644 --- a/test/test_payment_request_currency.py +++ b/test/test_payment_request_currency.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_initiator.py b/test/test_payment_request_initiator.py index 6607c805..9f10995a 100644 --- a/test/test_payment_request_initiator.py +++ b/test/test_payment_request_initiator.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_list_response.py b/test/test_payment_request_list_response.py index 465e1eab..a6801167 100644 --- a/test/test_payment_request_list_response.py +++ b/test/test_payment_request_list_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_parameters.py b/test/test_payment_request_parameters.py index d0763a21..e63ea346 100644 --- a/test/test_payment_request_parameters.py +++ b/test/test_payment_request_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_parameters_channel_properties.py b/test/test_payment_request_parameters_channel_properties.py index dad8a2bb..339e3552 100644 --- a/test/test_payment_request_parameters_channel_properties.py +++ b/test/test_payment_request_parameters_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_parameters_channel_properties_all_of.py b/test/test_payment_request_parameters_channel_properties_all_of.py index 410ab641..1b5f5551 100644 --- a/test/test_payment_request_parameters_channel_properties_all_of.py +++ b/test/test_payment_request_parameters_channel_properties_all_of.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_shipping_information.py b/test/test_payment_request_shipping_information.py index e11a7cca..ebdbf8d5 100644 --- a/test/test_payment_request_shipping_information.py +++ b/test/test_payment_request_shipping_information.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_payment_request_status.py b/test/test_payment_request_status.py index 445ae5d2..9360fe33 100644 --- a/test/test_payment_request_status.py +++ b/test/test_payment_request_status.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ diff --git a/test/test_qr_code_channel_code.py b/test/test_qr_code_channel_code.py index 637db792..6ea191c9 100644 --- a/test/test_qr_code_channel_code.py +++ b/test/test_qr_code_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_qr_code_channel_properties.py b/test/test_qr_code_channel_properties.py index a0427efb..02dbd2e6 100644 --- a/test/test_qr_code_channel_properties.py +++ b/test/test_qr_code_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_qr_code_parameters.py b/test/test_qr_code_parameters.py index 038f3d91..2eee5bc1 100644 --- a/test/test_qr_code_parameters.py +++ b/test/test_qr_code_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_response_data_not_found.py b/test/test_response_data_not_found.py new file mode 100644 index 00000000..19362d59 --- /dev/null +++ b/test/test_response_data_not_found.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.response_data_not_found import ResponseDataNotFound + + +class TestResponseDataNotFound(unittest.TestCase): + """ResponseDataNotFound unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testResponseDataNotFound(self): + """Test ResponseDataNotFound""" + # FIXME: construct object with mandatory attributes with example values + # model = ResponseDataNotFound() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_server_error.py b/test/test_server_error.py index 612d228c..1d995010 100644 --- a/test/test_server_error.py +++ b/test/test_server_error.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_simulate_payment_request.py b/test/test_simulate_payment_request.py index a8254354..42d27621 100644 --- a/test/test_simulate_payment_request.py +++ b/test/test_simulate_payment_request.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_tokenized_card_information.py b/test/test_tokenized_card_information.py index effd6a96..88978297 100644 --- a/test/test_tokenized_card_information.py +++ b/test/test_tokenized_card_information.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_transaction_api.py b/test/test_transaction_api.py index a8eabc93..a1684188 100644 --- a/test/test_transaction_api.py +++ b/test/test_transaction_api.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_transaction_id.py b/test/test_transaction_id.py index af8f486d..87dc541f 100644 --- a/test/test_transaction_id.py +++ b/test/test_transaction_id.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_transaction_response.py b/test/test_transaction_response.py index 8e11f3f2..e5597c61 100644 --- a/test/test_transaction_response.py +++ b/test/test_transaction_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_transaction_response_type.py b/test/test_transaction_response_type.py index 95ed039c..d16fc3aa 100644 --- a/test/test_transaction_response_type.py +++ b/test/test_transaction_response_type.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_transaction_statuses.py b/test/test_transaction_statuses.py index 36d4908f..f1e5b314 100644 --- a/test/test_transaction_statuses.py +++ b/test/test_transaction_statuses.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_transaction_types.py b/test/test_transaction_types.py index eda4f4e7..fd5fc188 100644 --- a/test/test_transaction_types.py +++ b/test/test_transaction_types.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_transactions_response.py b/test/test_transactions_response.py index aa1d472b..67ef9be6 100644 --- a/test/test_transactions_response.py +++ b/test/test_transactions_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_update_customer400_response.py b/test/test_update_customer400_response.py new file mode 100644 index 00000000..5cb7354b --- /dev/null +++ b/test/test_update_customer400_response.py @@ -0,0 +1,34 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.error import Error +from xendit.customer.model.update_customer400_response_all_of import UpdateCustomer400ResponseAllOf +globals()['Error'] = Error +globals()['UpdateCustomer400ResponseAllOf'] = UpdateCustomer400ResponseAllOf +from xendit.customer.model.update_customer400_response import UpdateCustomer400Response + + +class TestUpdateCustomer400Response(unittest.TestCase): + """UpdateCustomer400Response unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testUpdateCustomer400Response(self): + """Test UpdateCustomer400Response""" + # FIXME: construct object with mandatory attributes with example values + # model = UpdateCustomer400Response() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_update_customer400_response_all_of.py b/test/test_update_customer400_response_all_of.py new file mode 100644 index 00000000..613562da --- /dev/null +++ b/test/test_update_customer400_response_all_of.py @@ -0,0 +1,30 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import sys +import unittest + +import xendit +from xendit.customer.model.update_customer400_response_all_of import UpdateCustomer400ResponseAllOf + + +class TestUpdateCustomer400ResponseAllOf(unittest.TestCase): + """UpdateCustomer400ResponseAllOf unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testUpdateCustomer400ResponseAllOf(self): + """Test UpdateCustomer400ResponseAllOf""" + # FIXME: construct object with mandatory attributes with example values + # model = UpdateCustomer400ResponseAllOf() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/test/test_validation_error.py b/test/test_validation_error.py index ae172db7..f4910b03 100644 --- a/test/test_validation_error.py +++ b/test/test_validation_error.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ diff --git a/test/test_virtual_account.py b/test/test_virtual_account.py index 3dcb6f92..3e214bf4 100644 --- a/test/test_virtual_account.py +++ b/test/test_virtual_account.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,19 +7,17 @@ import unittest import xendit -from xendit.payment_request.model.payment_request_currency import PaymentRequestCurrency -from xendit.payment_request.model.virtual_account_all_of import VirtualAccountAllOf -from xendit.payment_request.model.virtual_account_alternative_display import VirtualAccountAlternativeDisplay -from xendit.payment_request.model.virtual_account_channel_code import VirtualAccountChannelCode -from xendit.payment_request.model.virtual_account_channel_properties import VirtualAccountChannelProperties -from xendit.payment_request.model.virtual_account_parameters import VirtualAccountParameters -globals()['PaymentRequestCurrency'] = PaymentRequestCurrency +from xendit.payment_method.model.virtual_account_all_of import VirtualAccountAllOf +from xendit.payment_method.model.virtual_account_alternative_display import VirtualAccountAlternativeDisplay +from xendit.payment_method.model.virtual_account_channel_code import VirtualAccountChannelCode +from xendit.payment_method.model.virtual_account_channel_properties import VirtualAccountChannelProperties +from xendit.payment_method.model.virtual_account_parameters import VirtualAccountParameters globals()['VirtualAccountAllOf'] = VirtualAccountAllOf globals()['VirtualAccountAlternativeDisplay'] = VirtualAccountAlternativeDisplay globals()['VirtualAccountChannelCode'] = VirtualAccountChannelCode globals()['VirtualAccountChannelProperties'] = VirtualAccountChannelProperties globals()['VirtualAccountParameters'] = VirtualAccountParameters -from xendit.payment_request.model.virtual_account import VirtualAccount +from xendit.payment_method.model.virtual_account import VirtualAccount class TestVirtualAccount(unittest.TestCase): diff --git a/test/test_virtual_account_all_of.py b/test/test_virtual_account_all_of.py index a0ee7e03..b9d8742a 100644 --- a/test/test_virtual_account_all_of.py +++ b/test/test_virtual_account_all_of.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,9 +7,9 @@ import unittest import xendit -from xendit.payment_request.model.virtual_account_alternative_display import VirtualAccountAlternativeDisplay +from xendit.payment_method.model.virtual_account_alternative_display import VirtualAccountAlternativeDisplay globals()['VirtualAccountAlternativeDisplay'] = VirtualAccountAlternativeDisplay -from xendit.payment_request.model.virtual_account_all_of import VirtualAccountAllOf +from xendit.payment_method.model.virtual_account_all_of import VirtualAccountAllOf class TestVirtualAccountAllOf(unittest.TestCase): diff --git a/test/test_virtual_account_alternative_display.py b/test/test_virtual_account_alternative_display.py index 0fdba1e3..21c86708 100644 --- a/test/test_virtual_account_alternative_display.py +++ b/test/test_virtual_account_alternative_display.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.virtual_account_alternative_display import VirtualAccountAlternativeDisplay +from xendit.payment_method.model.virtual_account_alternative_display import VirtualAccountAlternativeDisplay class TestVirtualAccountAlternativeDisplay(unittest.TestCase): diff --git a/test/test_virtual_account_channel_code.py b/test/test_virtual_account_channel_code.py index f87ab0a3..b3dcb3d1 100644 --- a/test/test_virtual_account_channel_code.py +++ b/test/test_virtual_account_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.virtual_account_channel_code import VirtualAccountChannelCode +from xendit.payment_method.model.virtual_account_channel_code import VirtualAccountChannelCode class TestVirtualAccountChannelCode(unittest.TestCase): diff --git a/test/test_virtual_account_channel_properties.py b/test/test_virtual_account_channel_properties.py index 7f278e2c..37f501ca 100644 --- a/test/test_virtual_account_channel_properties.py +++ b/test/test_virtual_account_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,7 +7,7 @@ import unittest import xendit -from xendit.payment_request.model.virtual_account_channel_properties import VirtualAccountChannelProperties +from xendit.payment_method.model.virtual_account_channel_properties import VirtualAccountChannelProperties class TestVirtualAccountChannelProperties(unittest.TestCase): diff --git a/test/test_virtual_account_channel_properties_patch.py b/test/test_virtual_account_channel_properties_patch.py index a967a6f4..7d06f7f0 100644 --- a/test/test_virtual_account_channel_properties_patch.py +++ b/test/test_virtual_account_channel_properties_patch.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/test/test_virtual_account_parameters.py b/test/test_virtual_account_parameters.py index bf2327f3..a3550bc0 100644 --- a/test/test_virtual_account_parameters.py +++ b/test/test_virtual_account_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 2.89.1 """ @@ -7,13 +7,11 @@ import unittest import xendit -from xendit.payment_request.model.payment_request_currency import PaymentRequestCurrency -from xendit.payment_request.model.virtual_account_channel_code import VirtualAccountChannelCode -from xendit.payment_request.model.virtual_account_channel_properties import VirtualAccountChannelProperties -globals()['PaymentRequestCurrency'] = PaymentRequestCurrency +from xendit.payment_method.model.virtual_account_channel_code import VirtualAccountChannelCode +from xendit.payment_method.model.virtual_account_channel_properties import VirtualAccountChannelProperties globals()['VirtualAccountChannelCode'] = VirtualAccountChannelCode globals()['VirtualAccountChannelProperties'] = VirtualAccountChannelProperties -from xendit.payment_request.model.virtual_account_parameters import VirtualAccountParameters +from xendit.payment_method.model.virtual_account_parameters import VirtualAccountParameters class TestVirtualAccountParameters(unittest.TestCase): diff --git a/test/test_virtual_account_update_parameters.py b/test/test_virtual_account_update_parameters.py index 3ef20d58..cc7e0cf9 100644 --- a/test/test_virtual_account_update_parameters.py +++ b/test/test_virtual_account_update_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ diff --git a/xendit/__init__.py b/xendit/__init__.py index 707f299d..c2207aee 100644 --- a/xendit/__init__.py +++ b/xendit/__init__.py @@ -1,11 +1,11 @@ # flake8: noqa """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.44.1 """ -__version__ = "3.2.0" +__version__ = "3.3.0" # import ApiClient from xendit.api_client import ApiClient diff --git a/xendit/api_client.py b/xendit/api_client.py index cb8c1ee6..df8f9ab0 100644 --- a/xendit/api_client.py +++ b/xendit/api_client.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.44.1 """ @@ -74,11 +74,11 @@ def __init__(self, configuration=None, header_name=None, header_value=None, # XENDIT headers self.default_headers['xendit-lib'] = 'python' - self.default_headers['xendit-lib-version'] = '3.2.0' + self.default_headers['xendit-lib-version'] = '3.3.0' self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/3.2.0/python' + self.user_agent = 'OpenAPI-Generator/3.3.0/python' def __enter__(self): return self @@ -805,11 +805,11 @@ def __call__(self, *args, **kwargs): """ This method is invoked when endpoints are called Example: - api_instance = PaymentMethodApi() - api_instance.auth_payment_method # this is an instance of the class Endpoint - api_instance.auth_payment_method() # this invokes api_instance.auth_payment_method.__call__() + api_instance = PaymentRequestApi() + api_instance.authorize_payment_request # this is an instance of the class Endpoint + api_instance.authorize_payment_request() # this invokes api_instance.authorize_payment_request.__call__() which then invokes the callable functions stored in that endpoint at - api_instance.auth_payment_method.callable or self.callable in this class + api_instance.authorize_payment_request.callable or self.callable in this class """ return self.callable(self, *args, **kwargs) diff --git a/xendit/apis/__init__.py b/xendit/apis/__init__.py index 327b007d..91c1c1e7 100644 --- a/xendit/apis/__init__.py +++ b/xendit/apis/__init__.py @@ -1,5 +1,6 @@ from xendit.balance_and_transaction.balance_api import BalanceApi from xendit.balance_and_transaction.transaction_api import TransactionApi +from xendit.customer.customer_api import CustomerApi from xendit.invoice.invoice_api import InvoiceApi from xendit.payment_method.payment_method_api import PaymentMethodApi from xendit.payment_request.payment_request_api import PaymentRequestApi diff --git a/xendit/balance_and_transaction/balance_api.py b/xendit/balance_and_transaction/balance_api.py index db921627..eda94a60 100644 --- a/xendit/balance_and_transaction/balance_api.py +++ b/xendit/balance_and_transaction/balance_api.py @@ -3,7 +3,7 @@ # Introduction This specification describes how to use the Transaction Service V4 API. **Transaction Service** is the service that records the customer transactions and is responsible to calculate their balance. All products that move customer money around whether it is money-in, money-out, or transfer will interact with the Transaction Service on its flow. Transaction Service is the source of truth of Xendit and Customer regarding how much money that customer has that is stored in Xendit. Transaction Service is the source that is used for both our internal and customer financial reconciliation. Internally, the Transaction Service data structure is similar to how double-entry accounting works. ## How Xendit teams/services do integrate with Transaction Service V4 **Channel product team/service** They interact with the Transaction Service when they want to record the transactions. This transaction can be money-in (balance added), money-out (balance deducted), transfer, refund/void/reversal, or other kind of transaction that affects customer balance. Product team also interacts with the Transaction Service for getting information about the transaction or balance. **Billing/Fee team/service** They interact with Transaction Service either as the dependency of Transaction Service for getting the correct fee calculation/settings. Or using Transaction Service for getting the transaction/fee information to calculate the bill for the customer. **NUX team/service** They interact with the Transaction Service to set up the customer ledger_account that is used to record their transactions. **Finance team/service** They interact with the Transaction Service to get the transaction and balance data for each customer to do reconciliation. **Dashboard/API team/service** They interact with the Transaction Service as a proxy to show the data to the Customer. ## Prerequisites Before staring to use **Transaction Service API** you need to complete a few things: 1. Find out **Base URL** for the API. Every endpoint definition in this document contains list of available servers (local, staging, production) 2. Set up ledger accounts using business id and currency. **Ledger Account** represents the account of the customer that will be used to associate with ledger lines. Each business may have at least 1 ledger account group (a group consists of a few accounts of types such as cash, liability, holding), and the money movement of their ledger will revolve around those ledger accounts. **Ledger Lines** that show a debit or credit transaction for a ledger account. We’re using the double-entry principle in accounting where we should post 2 lines every time we make a transaction, 1 to debit an account and 1 to credit another account. See how to call Create cash, liability, holding, and tax account for a business (api/ledger-accounts/setup) section of this document 3. To be able to create payments with fee/VAT the Product rate settings and VAT rate settings should be created using Transaction Fee Service. See Fee Service Documentation for details about how to create Product/VAT rate settings. ## Transaction flows To integrate with the Transaction Service you should decide what types of transaction flows your integration will be using. Transaction flow is set by the transaction `type` during transaction creation 1. Money In flows 1. Payment from credit card `type: CREDIT_CARD_PAYMENT` 3. Payment from other sources without fee/VAT `type: DEPOSIT, FOREX_DEPOSIT, ISSUING_FUNDING_REFUND, BNPL_PARTNER_SETTLEMENT_CREDIT, PROMO_FEE_CASHBACK, PROMO_VAT_CASHBACK, BATCH_VA_PAYMENT` 4. Payment from other sources with fee/VAT `type: VA_PAYMENT, IM_ESCROW_VA_PAYMENT, IM_DEPOSIT, RO_PAYMENT, EWALLET_PAYMENT, CARDLESS_CREDIT_PAYMENT, IM_REMITTANCE_VA_PAYMENT, PAYLATER_PAYMENT, INVOICE, QR_CODE_PAYMENT, DIRECT_DEBIT_PAYMENT, DIRECT_BANK_TRANSFER, ACH_PAYMENT, CRYPTO_PAYMENT` 5. Billing deposit from cash `type: BILLING_DEPOSIT` 6. Billing deposit from other sources `type: BILLING_DIRECT_DEPOSIT, BILLING_VA_DIRECT_DEPOSIT` 2. Money out flows 1. Instant payment `type: simple money out types` `status: COMPLETED` 2. Simple payment without fee/VAT `type: CHARGEBACK_DEDUCTION, FRAUD_DEDUCTION, LOAN_REPAYMENT, FOREX_DEDUCTION, BNPL_PARTNER_SETTLEMENT_DEBIT, WITHDRAWAL` 3. Simple payment with fee/VAT `type: ISSUING_FUNDING, BATCH_DISBURSEMENT, CASH_DISBURSEMENT, DISBURSEMENT, REMITTANCE, REMITTANCE_PAYOUT, TAX_DISBURSEMENT` 4. Billing withdraw to cash `type: BILLING_WITHDRAWAL` 4. Billing withdraw to other destinations `type: BILL_PAYMENT` 3. Reversal flow Some of transactions could be reversed. See Reversible / non reversible transaction types section of this document. To reverse transaction you should call Update transaction (/api/transactions/:id) endpoint with the transaction status `REVERSED`. 4. Void/Cancellation Flow Transaction in the `PENDING_SETTLEMENT` status could be canceled. To do that you should call Update transaction (/api/transactions/:id) endpoint with the transaction status `VOIDED`. 5. Switcher flow Switchers are transactions that do not affect the customer balance. These are transactions that goes directly to the customers’ account and simply passes through Xendit. Therefore, it will not impact the customer balance and we will only charge Fee and VAT. To create switcher flow you should set `is_switcher_payment` field to `true`. ## Instant/non instant settlement Transactions can be performed instantly (instant settlement) or with delay (non instant settlement). Some of the transaction types are only instantly processed, some of them support both instant and non instant settlement and some of them have only non instant settlement. If settlement is instant than balance will be changed instantly. In opposite case the transaction status has to be set into PENDING_SETTLEMENT and settlement date should be provided. 1. Instant settlement Money In transaction types `DEPOSIT, BATCH_VA_PAYMENT, FOREX_DEPOSIT, IM_DEPOSIT, CARDLESS_CREDIT_PAYMENT, ISSUING_FUNDING_REFUND, BNPL_PARTNER_SETTLEMENT_CREDIT, PROMO_FEE_CASHBACK, PROMO_VAT_CASHBACK, REMITTANCE_VA_PAYMENT_CLAIM` 2. Both instant and non instant Money In transaction types `DIRECT_DEBIT_PAYMENT, DIRECT_BANK_TRANSFER, ACH_PAYMENT, RO_PAYMENT, EWALLET_PAYMENT, QR_CODE_PAYMENT, VA_PAYMENT, INVOICE, PAYLATER_PAYMENT` 3. Non Instant settlement Money In transaction types `CREDIT_CARD_PAYMENT` 4. Instant settlement Money Out transaction types `LOAN_REPAYMENT, FOREX_DEDUCTION, BILL_PAYMENT, ISSUING_FUNDING, BNPL_PARTNER_SETTLEMENT_DEBIT, FRAUD_DEDUCTION` 5. Both instant and non instant settlement supported Money Out transaction types `CHARGEBACK_DEDUCTION` 6. Non Instant settlement Money Out transaction types All other money out types are non instant settlement ## Reversible / non reversible transaction types Some transactions can be reversed. Here are the list of transaction types that could be reversed: `CASH_DISBURSEMENT, DISBURSEMENT, BATCH_DISBURSEMENT, REMITTANCE, REMITTANCE_PAYOUT, TAX_DISBURSEMENT, WITHDRAWAL, DEPOSIT, FOREX_DEPOSIT, FOREX_DEDUCTION, VA_PAYMENT, BATCH_VA_PAYMENT, IM_REMITTANCE_VA_PAYMENT, IM_ESCROW_VA_PAYMENT, IM_DEPOSIT, REMITTANCE_VA_PAYMENT, REMITTANCE_VA_PAYMENT_CLAIM, RO_PAYMENT, CARDLESS_CREDIT_PAYMENT, PAYLATER_PAYMENT, INVOICE, QR_CODE_PAYMENT, CREDIT_CARD_PAYMENT, EWALLET_PAYMENT, DIRECT_DEBIT_PAYMENT, DIRECT_BANK_TRANSFER, ACH_PAYMENT, CHARGEBACK_DEDUCTION, FRAUD_DEDUCTION, LOAN_REPAYMENT, ISSUING_FUNDING, ISSUING_FUNDING_REFUND, BNPL_PARTNER_SETTLEMENT_DEBIT, BNPL_PARTNER_SETTLEMENT_CREDIT, BILLING_DEPOSIT, BILLING_DIRECT_DEPOSIT, BILLING_VA_DIRECT_DEPOSIT, BILLING_WITHDRAWAL, BILL_PAYMENT, PROMO_FEE_CASHBACK, PROMO_VAT_CASHBACK` ## How to create transaction After you created or already have the `BUSINESS_CASH` ledger account ID (See Prerequisites section) and you know what transaction flows are going to be used you can create the new transaction using POST request to the Create a new transaction (/api/transactions) endpoint ## How to update transaction To update transaction you should do PATCH request to the Update transaction (/api/transactions/::id) endpoint # noqa: E501 - The version of the OpenAPI document: 3.4.2 + The version of the OpenAPI document: 3.4.3 """ import re # noqa: F401 diff --git a/xendit/balance_and_transaction/model/balance.py b/xendit/balance_and_transaction/model/balance.py index 8396ba38..059328b3 100644 --- a/xendit/balance_and_transaction/model/balance.py +++ b/xendit/balance_and_transaction/model/balance.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/channels_categories.py b/xendit/balance_and_transaction/model/channels_categories.py index 4ea7748e..77f385e9 100644 --- a/xendit/balance_and_transaction/model/channels_categories.py +++ b/xendit/balance_and_transaction/model/channels_categories.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/currency.py b/xendit/balance_and_transaction/model/currency.py index 6efcdf72..c067b02a 100644 --- a/xendit/balance_and_transaction/model/currency.py +++ b/xendit/balance_and_transaction/model/currency.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/date_range_filter.py b/xendit/balance_and_transaction/model/date_range_filter.py index 118f0dbb..734ee6fd 100644 --- a/xendit/balance_and_transaction/model/date_range_filter.py +++ b/xendit/balance_and_transaction/model/date_range_filter.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/fee_response.py b/xendit/balance_and_transaction/model/fee_response.py index 513a97cf..df473f06 100644 --- a/xendit/balance_and_transaction/model/fee_response.py +++ b/xendit/balance_and_transaction/model/fee_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/link_item.py b/xendit/balance_and_transaction/model/link_item.py index 21d99471..93c58bb5 100644 --- a/xendit/balance_and_transaction/model/link_item.py +++ b/xendit/balance_and_transaction/model/link_item.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/server_error.py b/xendit/balance_and_transaction/model/server_error.py index adee2828..965a04ff 100644 --- a/xendit/balance_and_transaction/model/server_error.py +++ b/xendit/balance_and_transaction/model/server_error.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/transaction_id.py b/xendit/balance_and_transaction/model/transaction_id.py index 9cd4b6a5..31ae7942 100644 --- a/xendit/balance_and_transaction/model/transaction_id.py +++ b/xendit/balance_and_transaction/model/transaction_id.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/transaction_response.py b/xendit/balance_and_transaction/model/transaction_response.py index 39fa0a63..1c1ca5c6 100644 --- a/xendit/balance_and_transaction/model/transaction_response.py +++ b/xendit/balance_and_transaction/model/transaction_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -37,7 +37,6 @@ globals()['TransactionResponseType'] = TransactionResponseType globals()['TransactionStatuses'] = TransactionStatuses - def lazy_import(): pass @@ -281,8 +280,8 @@ def __init__(self, type: TransactionResponseType, status: TransactionStatuses, channel_category: ChannelsCategories, - channel_code: str, - account_identifier: str, + channel_code: str | None, + account_identifier: str | None, reference_id: str, currency: Currency, amount: float, diff --git a/xendit/balance_and_transaction/model/transaction_response_type.py b/xendit/balance_and_transaction/model/transaction_response_type.py index fb9ea302..eebc5ba8 100644 --- a/xendit/balance_and_transaction/model/transaction_response_type.py +++ b/xendit/balance_and_transaction/model/transaction_response_type.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -27,7 +27,6 @@ from xendit.balance_and_transaction.model.transaction_types import TransactionTypes globals()['TransactionTypes'] = TransactionTypes - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/transaction_statuses.py b/xendit/balance_and_transaction/model/transaction_statuses.py index f09cd8fc..17721aae 100644 --- a/xendit/balance_and_transaction/model/transaction_statuses.py +++ b/xendit/balance_and_transaction/model/transaction_statuses.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/transaction_types.py b/xendit/balance_and_transaction/model/transaction_types.py index 36bfa9e6..2b10915e 100644 --- a/xendit/balance_and_transaction/model/transaction_types.py +++ b/xendit/balance_and_transaction/model/transaction_types.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/transactions_response.py b/xendit/balance_and_transaction/model/transactions_response.py index f340dd58..755fa265 100644 --- a/xendit/balance_and_transaction/model/transactions_response.py +++ b/xendit/balance_and_transaction/model/transactions_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -29,7 +29,6 @@ globals()['LinkItem'] = LinkItem globals()['TransactionResponse'] = TransactionResponse - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/model/validation_error.py b/xendit/balance_and_transaction/model/validation_error.py index 85aa7949..9be7e79b 100644 --- a/xendit/balance_and_transaction/model/validation_error.py +++ b/xendit/balance_and_transaction/model/validation_error.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 3.4.2 + The version of the XENDIT API: 3.4.3 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/balance_and_transaction/transaction_api.py b/xendit/balance_and_transaction/transaction_api.py index f4ae8547..1aee1dd5 100644 --- a/xendit/balance_and_transaction/transaction_api.py +++ b/xendit/balance_and_transaction/transaction_api.py @@ -3,7 +3,7 @@ # Introduction This specification describes how to use the Transaction Service V4 API. **Transaction Service** is the service that records the customer transactions and is responsible to calculate their balance. All products that move customer money around whether it is money-in, money-out, or transfer will interact with the Transaction Service on its flow. Transaction Service is the source of truth of Xendit and Customer regarding how much money that customer has that is stored in Xendit. Transaction Service is the source that is used for both our internal and customer financial reconciliation. Internally, the Transaction Service data structure is similar to how double-entry accounting works. ## How Xendit teams/services do integrate with Transaction Service V4 **Channel product team/service** They interact with the Transaction Service when they want to record the transactions. This transaction can be money-in (balance added), money-out (balance deducted), transfer, refund/void/reversal, or other kind of transaction that affects customer balance. Product team also interacts with the Transaction Service for getting information about the transaction or balance. **Billing/Fee team/service** They interact with Transaction Service either as the dependency of Transaction Service for getting the correct fee calculation/settings. Or using Transaction Service for getting the transaction/fee information to calculate the bill for the customer. **NUX team/service** They interact with the Transaction Service to set up the customer ledger_account that is used to record their transactions. **Finance team/service** They interact with the Transaction Service to get the transaction and balance data for each customer to do reconciliation. **Dashboard/API team/service** They interact with the Transaction Service as a proxy to show the data to the Customer. ## Prerequisites Before staring to use **Transaction Service API** you need to complete a few things: 1. Find out **Base URL** for the API. Every endpoint definition in this document contains list of available servers (local, staging, production) 2. Set up ledger accounts using business id and currency. **Ledger Account** represents the account of the customer that will be used to associate with ledger lines. Each business may have at least 1 ledger account group (a group consists of a few accounts of types such as cash, liability, holding), and the money movement of their ledger will revolve around those ledger accounts. **Ledger Lines** that show a debit or credit transaction for a ledger account. We’re using the double-entry principle in accounting where we should post 2 lines every time we make a transaction, 1 to debit an account and 1 to credit another account. See how to call Create cash, liability, holding, and tax account for a business (api/ledger-accounts/setup) section of this document 3. To be able to create payments with fee/VAT the Product rate settings and VAT rate settings should be created using Transaction Fee Service. See Fee Service Documentation for details about how to create Product/VAT rate settings. ## Transaction flows To integrate with the Transaction Service you should decide what types of transaction flows your integration will be using. Transaction flow is set by the transaction `type` during transaction creation 1. Money In flows 1. Payment from credit card `type: CREDIT_CARD_PAYMENT` 3. Payment from other sources without fee/VAT `type: DEPOSIT, FOREX_DEPOSIT, ISSUING_FUNDING_REFUND, BNPL_PARTNER_SETTLEMENT_CREDIT, PROMO_FEE_CASHBACK, PROMO_VAT_CASHBACK, BATCH_VA_PAYMENT` 4. Payment from other sources with fee/VAT `type: VA_PAYMENT, IM_ESCROW_VA_PAYMENT, IM_DEPOSIT, RO_PAYMENT, EWALLET_PAYMENT, CARDLESS_CREDIT_PAYMENT, IM_REMITTANCE_VA_PAYMENT, PAYLATER_PAYMENT, INVOICE, QR_CODE_PAYMENT, DIRECT_DEBIT_PAYMENT, DIRECT_BANK_TRANSFER, ACH_PAYMENT, CRYPTO_PAYMENT` 5. Billing deposit from cash `type: BILLING_DEPOSIT` 6. Billing deposit from other sources `type: BILLING_DIRECT_DEPOSIT, BILLING_VA_DIRECT_DEPOSIT` 2. Money out flows 1. Instant payment `type: simple money out types` `status: COMPLETED` 2. Simple payment without fee/VAT `type: CHARGEBACK_DEDUCTION, FRAUD_DEDUCTION, LOAN_REPAYMENT, FOREX_DEDUCTION, BNPL_PARTNER_SETTLEMENT_DEBIT, WITHDRAWAL` 3. Simple payment with fee/VAT `type: ISSUING_FUNDING, BATCH_DISBURSEMENT, CASH_DISBURSEMENT, DISBURSEMENT, REMITTANCE, REMITTANCE_PAYOUT, TAX_DISBURSEMENT` 4. Billing withdraw to cash `type: BILLING_WITHDRAWAL` 4. Billing withdraw to other destinations `type: BILL_PAYMENT` 3. Reversal flow Some of transactions could be reversed. See Reversible / non reversible transaction types section of this document. To reverse transaction you should call Update transaction (/api/transactions/:id) endpoint with the transaction status `REVERSED`. 4. Void/Cancellation Flow Transaction in the `PENDING_SETTLEMENT` status could be canceled. To do that you should call Update transaction (/api/transactions/:id) endpoint with the transaction status `VOIDED`. 5. Switcher flow Switchers are transactions that do not affect the customer balance. These are transactions that goes directly to the customers’ account and simply passes through Xendit. Therefore, it will not impact the customer balance and we will only charge Fee and VAT. To create switcher flow you should set `is_switcher_payment` field to `true`. ## Instant/non instant settlement Transactions can be performed instantly (instant settlement) or with delay (non instant settlement). Some of the transaction types are only instantly processed, some of them support both instant and non instant settlement and some of them have only non instant settlement. If settlement is instant than balance will be changed instantly. In opposite case the transaction status has to be set into PENDING_SETTLEMENT and settlement date should be provided. 1. Instant settlement Money In transaction types `DEPOSIT, BATCH_VA_PAYMENT, FOREX_DEPOSIT, IM_DEPOSIT, CARDLESS_CREDIT_PAYMENT, ISSUING_FUNDING_REFUND, BNPL_PARTNER_SETTLEMENT_CREDIT, PROMO_FEE_CASHBACK, PROMO_VAT_CASHBACK, REMITTANCE_VA_PAYMENT_CLAIM` 2. Both instant and non instant Money In transaction types `DIRECT_DEBIT_PAYMENT, DIRECT_BANK_TRANSFER, ACH_PAYMENT, RO_PAYMENT, EWALLET_PAYMENT, QR_CODE_PAYMENT, VA_PAYMENT, INVOICE, PAYLATER_PAYMENT` 3. Non Instant settlement Money In transaction types `CREDIT_CARD_PAYMENT` 4. Instant settlement Money Out transaction types `LOAN_REPAYMENT, FOREX_DEDUCTION, BILL_PAYMENT, ISSUING_FUNDING, BNPL_PARTNER_SETTLEMENT_DEBIT, FRAUD_DEDUCTION` 5. Both instant and non instant settlement supported Money Out transaction types `CHARGEBACK_DEDUCTION` 6. Non Instant settlement Money Out transaction types All other money out types are non instant settlement ## Reversible / non reversible transaction types Some transactions can be reversed. Here are the list of transaction types that could be reversed: `CASH_DISBURSEMENT, DISBURSEMENT, BATCH_DISBURSEMENT, REMITTANCE, REMITTANCE_PAYOUT, TAX_DISBURSEMENT, WITHDRAWAL, DEPOSIT, FOREX_DEPOSIT, FOREX_DEDUCTION, VA_PAYMENT, BATCH_VA_PAYMENT, IM_REMITTANCE_VA_PAYMENT, IM_ESCROW_VA_PAYMENT, IM_DEPOSIT, REMITTANCE_VA_PAYMENT, REMITTANCE_VA_PAYMENT_CLAIM, RO_PAYMENT, CARDLESS_CREDIT_PAYMENT, PAYLATER_PAYMENT, INVOICE, QR_CODE_PAYMENT, CREDIT_CARD_PAYMENT, EWALLET_PAYMENT, DIRECT_DEBIT_PAYMENT, DIRECT_BANK_TRANSFER, ACH_PAYMENT, CHARGEBACK_DEDUCTION, FRAUD_DEDUCTION, LOAN_REPAYMENT, ISSUING_FUNDING, ISSUING_FUNDING_REFUND, BNPL_PARTNER_SETTLEMENT_DEBIT, BNPL_PARTNER_SETTLEMENT_CREDIT, BILLING_DEPOSIT, BILLING_DIRECT_DEPOSIT, BILLING_VA_DIRECT_DEPOSIT, BILLING_WITHDRAWAL, BILL_PAYMENT, PROMO_FEE_CASHBACK, PROMO_VAT_CASHBACK` ## How to create transaction After you created or already have the `BUSINESS_CASH` ledger account ID (See Prerequisites section) and you know what transaction flows are going to be used you can create the new transaction using POST request to the Create a new transaction (/api/transactions) endpoint ## How to update transaction To update transaction you should do PATCH request to the Update transaction (/api/transactions/::id) endpoint # noqa: E501 - The version of the OpenAPI document: 3.4.2 + The version of the OpenAPI document: 3.4.3 """ import re # noqa: F401 diff --git a/xendit/configuration.py b/xendit/configuration.py index ad0983b3..40e09906 100644 --- a/xendit/configuration.py +++ b/xendit/configuration.py @@ -364,8 +364,8 @@ def to_debug_report(self): return "Python SDK Debug Report:\n"\ "OS: {env}\n"\ "Python Version: {pyversion}\n"\ - "Version of the API: 2.87.2\n"\ - "SDK Package Version: 3.2.0".\ + "Version of the API: 1.44.1\n"\ + "SDK Package Version: 3.3.0".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self): diff --git a/xendit/customer/__init__.py b/xendit/customer/__init__.py new file mode 100644 index 00000000..30b0cd1d --- /dev/null +++ b/xendit/customer/__init__.py @@ -0,0 +1 @@ +from xendit.customer.customer_api import CustomerApi diff --git a/xendit/customer/customer_api.py b/xendit/customer/customer_api.py new file mode 100644 index 00000000..bb0a37f6 --- /dev/null +++ b/xendit/customer/customer_api.py @@ -0,0 +1,617 @@ +""" + XENDIT SDK openapi spec + + XENDIT SDK openapi spec # noqa: E501 + + The version of the OpenAPI document: 1.0.0 +""" + +import re # noqa: F401 +import sys # noqa: F401 + +from xendit.api_client import ApiClient, Endpoint as _Endpoint +from xendit.model_utils import ( # noqa: F401 + check_allowed_values, + check_validations, + date, + datetime, + file_type, + none_type, + validate_and_convert_types +) +from typing import Optional, List # noqa: F401 + +from xendit.customer.model import * # noqa: F401,E501 + +class CustomerApi(object): + """NOTE: This class is auto generated by the OpenAPI Generator. + Do not edit the class manually. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client + self.create_customer_endpoint = _Endpoint( + settings={ + 'response_type': (Customer,), + 'auth': [], + 'endpoint_path': '/customers', + 'operation_id': 'create_customer', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'idempotency_key', + 'for_user_id', + 'customer_request', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'idempotency_key': + (str,), + 'for_user_id': + (str,), + 'customer_request': + (CustomerRequest,), + }, + 'attribute_map': { + 'idempotency_key': 'IDEMPOTENCY-KEY', + 'for_user_id': 'for-user-id', + }, + 'location_map': { + 'idempotency_key': 'header', + 'for_user_id': 'header', + 'customer_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.get_customer_endpoint = _Endpoint( + settings={ + 'response_type': (Customer,), + 'auth': [], + 'endpoint_path': '/customers/{id}', + 'operation_id': 'get_customer', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'for_user_id', + ], + 'required': [ + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'for_user_id': + (str,), + }, + 'attribute_map': { + 'id': 'id', + 'for_user_id': 'for-user-id', + }, + 'location_map': { + 'id': 'path', + 'for_user_id': 'header', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.get_customer_by_reference_id_endpoint = _Endpoint( + settings={ + 'response_type': (GetCustomerByReferenceID200Response,), + 'auth': [], + 'endpoint_path': '/customers', + 'operation_id': 'get_customer_by_reference_id', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'reference_id', + 'for_user_id', + ], + 'required': [ + 'reference_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + 'reference_id', + ] + }, + root_map={ + 'validations': { + ('reference_id',): { + 'max_length': 255, + }, + }, + 'allowed_values': { + }, + 'openapi_types': { + 'reference_id': + (str,), + 'for_user_id': + (str,), + }, + 'attribute_map': { + 'reference_id': 'reference_id', + 'for_user_id': 'for-user-id', + }, + 'location_map': { + 'reference_id': 'query', + 'for_user_id': 'header', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.update_customer_endpoint = _Endpoint( + settings={ + 'response_type': (Customer,), + 'auth': [], + 'endpoint_path': '/customers/{id}', + 'operation_id': 'update_customer', + 'http_method': 'PATCH', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'for_user_id', + 'patch_customer', + ], + 'required': [ + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'for_user_id': + (str,), + 'patch_customer': + (PatchCustomer,), + }, + 'attribute_map': { + 'id': 'id', + 'for_user_id': 'for-user-id', + }, + 'location_map': { + 'id': 'path', + 'for_user_id': 'header', + 'patch_customer': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + + def create_customer( + self, + idempotency_key: Optional[str] = None, + for_user_id: Optional[str] = None, + customer_request: Optional[CustomerRequest] = None, + **kwargs + ) -> Customer: + """Create Customer # noqa: E501 + + Function to create a customer that you may use in your Invoice or Payment Requests. For detail explanations, see this link: https://developers.xendit.co/api-reference/#create-customer # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.create_customer(idempotency_key, for_user_id, customer_request, async_req=True) + >>> result = thread.get() + + + Keyword Args: + idempotency_key (str): A unique key to prevent processing duplicate requests.. [optional] + for_user_id (str): The sub-account user-id that you want to make this transaction for.. [optional] + customer_request (CustomerRequest): Request object for end customer object. [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + Customer + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + if idempotency_key is not None: + kwargs['idempotency_key'] = idempotency_key + if for_user_id is not None: + kwargs['for_user_id'] = for_user_id + if customer_request is not None: + kwargs['customer_request'] = customer_request + return self.create_customer_endpoint.call_with_http_info(**kwargs) + + def get_customer( + self, + id: str, + for_user_id: Optional[str] = None, + **kwargs + ) -> Customer: + """Get Customer By ID # noqa: E501 + + Retrieves a single customer object For detail explanations, see this link: https://developers.xendit.co/api-reference/#get-customer # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_customer(id, for_user_id, async_req=True) + >>> result = thread.get() + + Args: + id (str): End customer resource id + + Keyword Args: + for_user_id (str): The sub-account user-id that you want to make this transaction for.. [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + Customer + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = id + if for_user_id is not None: + kwargs['for_user_id'] = for_user_id + return self.get_customer_endpoint.call_with_http_info(**kwargs) + + def get_customer_by_reference_id( + self, + reference_id: str, + for_user_id: Optional[str] = None, + **kwargs + ) -> GetCustomerByReferenceID200Response: + """GET customers by reference id # noqa: E501 + + Retrieves an array with a customer object that matches the provided reference_id - the identifier provided by you For detail explanations, see this link: https://developers.xendit.co/api-reference/#get-customer-by-reference-id # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.get_customer_by_reference_id(reference_id, for_user_id, async_req=True) + >>> result = thread.get() + + Args: + reference_id (str): Merchant's reference of end customer + + Keyword Args: + for_user_id (str): The sub-account user-id that you want to make this transaction for.. [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + GetCustomerByReferenceID200Response + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['reference_id'] = reference_id + if for_user_id is not None: + kwargs['for_user_id'] = for_user_id + return self.get_customer_by_reference_id_endpoint.call_with_http_info(**kwargs) + + def update_customer( + self, + id: str, + for_user_id: Optional[str] = None, + patch_customer: Optional[PatchCustomer] = None, + **kwargs + ) -> Customer: + """Update End Customer Resource # noqa: E501 + + Function to update an existing customer. For a detailed explanation For detail explanations, see this link: https://developers.xendit.co/api-reference/#update-customer # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.update_customer(id, for_user_id, patch_customer, async_req=True) + >>> result = thread.get() + + Args: + id (str): End customer resource id + + Keyword Args: + for_user_id (str): The sub-account user-id that you want to make this transaction for.. [optional] + patch_customer (PatchCustomer): Update Request for end customer object. [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + Customer + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = id + if for_user_id is not None: + kwargs['for_user_id'] = for_user_id + if patch_customer is not None: + kwargs['patch_customer'] = patch_customer + return self.update_customer_endpoint.call_with_http_info(**kwargs) + diff --git a/xendit/customer/model/__init__.py b/xendit/customer/model/__init__.py new file mode 100644 index 00000000..5857f453 --- /dev/null +++ b/xendit/customer/model/__init__.py @@ -0,0 +1,46 @@ +# flake8: noqa + +# import all models into this package +# if you have many models here with many references from one model to another this may +# raise a RecursionError +# to avoid this, import only the models that you directly need like: +# from xendit.customer.model.pet import Pet +# or import this package, but before doing it, use: +# import sys +# sys.setrecursionlimit(n) + +from xendit.customer.model.account_bank import AccountBank +from xendit.customer.model.account_card import AccountCard +from xendit.customer.model.account_ewallet import AccountEwallet +from xendit.customer.model.account_otc import AccountOTC +from xendit.customer.model.account_pay_later import AccountPayLater +from xendit.customer.model.account_qr_code import AccountQRCode +from xendit.customer.model.address import Address +from xendit.customer.model.address_request import AddressRequest +from xendit.customer.model.address_status import AddressStatus +from xendit.customer.model.business_detail import BusinessDetail +from xendit.customer.model.country_code import CountryCode +from xendit.customer.model.create_customer400_response import CreateCustomer400Response +from xendit.customer.model.create_customer400_response_all_of import CreateCustomer400ResponseAllOf +from xendit.customer.model.customer import Customer +from xendit.customer.model.customer_request import CustomerRequest +from xendit.customer.model.employment_detail import EmploymentDetail +from xendit.customer.model.end_customer_status import EndCustomerStatus +from xendit.customer.model.error import Error +from xendit.customer.model.get_customer_by_reference_id200_response import GetCustomerByReferenceID200Response +from xendit.customer.model.get_customer_by_reference_id400_response import GetCustomerByReferenceID400Response +from xendit.customer.model.get_customer_by_reference_id400_response_all_of import GetCustomerByReferenceID400ResponseAllOf +from xendit.customer.model.identity_account_request import IdentityAccountRequest +from xendit.customer.model.identity_account_request_properties import IdentityAccountRequestProperties +from xendit.customer.model.identity_account_response import IdentityAccountResponse +from xendit.customer.model.identity_account_response_properties import IdentityAccountResponseProperties +from xendit.customer.model.identity_account_type import IdentityAccountType +from xendit.customer.model.individual_detail import IndividualDetail +from xendit.customer.model.kyc_document_request import KYCDocumentRequest +from xendit.customer.model.kyc_document_response import KYCDocumentResponse +from xendit.customer.model.kyc_document_sub_type import KYCDocumentSubType +from xendit.customer.model.kyc_document_type import KYCDocumentType +from xendit.customer.model.patch_customer import PatchCustomer +from xendit.customer.model.response_data_not_found import ResponseDataNotFound +from xendit.customer.model.update_customer400_response import UpdateCustomer400Response +from xendit.customer.model.update_customer400_response_all_of import UpdateCustomer400ResponseAllOf diff --git a/xendit/customer/model/account_bank.py b/xendit/customer/model/account_bank.py new file mode 100644 index 00000000..9123c718 --- /dev/null +++ b/xendit/customer/model/account_bank.py @@ -0,0 +1,306 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class AccountBank(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'account_number': (str, none_type), # noqa: E501 + 'account_holder_name': (str, none_type, none_type), # noqa: E501 + 'swift_code': (str, none_type, none_type), # noqa: E501 + 'account_type': (str, none_type, none_type), # noqa: E501 + 'account_details': (str, none_type, none_type), # noqa: E501 + 'currency': (bool, date, datetime, dict, float, int, list, str, none_type, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'account_number': 'account_number', # noqa: E501 + 'account_holder_name': 'account_holder_name', # noqa: E501 + 'swift_code': 'swift_code', # noqa: E501 + 'account_type': 'account_type', # noqa: E501 + 'account_details': 'account_details', # noqa: E501 + 'currency': 'currency', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """AccountBank - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + account_number (str): Unique account identifier as per the bank records.. [optional] # noqa: E501 + account_holder_name (str, none_type): Name of account holder as per the bank records. Needs to match the registered account name exactly. .. [optional] # noqa: E501 + swift_code (str, none_type): The SWIFT code for international payments. [optional] # noqa: E501 + account_type (str, none_type): Free text account type, e.g., Savings, Transaction, Virtual Account.. [optional] # noqa: E501 + account_details (str, none_type): Potentially masked account detail, for display purposes only.. [optional] # noqa: E501 + currency (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + account_number: str | None = None, + account_holder_name: str | None = None, + swift_code: str | None = None, + account_type: str | None = None, + account_details: str | None = None, + currency: object | None = None, + *args, **kwargs + ): # noqa: E501 + """AccountBank - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + account_number (str): Unique account identifier as per the bank records.. [optional] # noqa: E501 + account_holder_name (str, none_type): Name of account holder as per the bank records. Needs to match the registered account name exactly. .. [optional] # noqa: E501 + swift_code (str, none_type): The SWIFT code for international payments. [optional] # noqa: E501 + account_type (str, none_type): Free text account type, e.g., Savings, Transaction, Virtual Account.. [optional] # noqa: E501 + account_details (str, none_type): Potentially masked account detail, for display purposes only.. [optional] # noqa: E501 + currency (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if account_number is not None: + self.account_number = account_number + if account_holder_name is not None: + self.account_holder_name = account_holder_name + if swift_code is not None: + self.swift_code = swift_code + if account_type is not None: + self.account_type = account_type + if account_details is not None: + self.account_details = account_details + if currency is not None: + self.currency = currency + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/payment_method/model/channel_property_all_of.py b/xendit/customer/model/account_card.py similarity index 89% rename from xendit/payment_method/model/channel_property_all_of.py rename to xendit/customer/model/account_card.py index 1e87fa2f..a8863117 100644 --- a/xendit/payment_method/model/channel_property_all_of.py +++ b/xendit/customer/model/account_card.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.0.0 """ @@ -25,11 +25,10 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass -class ChannelPropertyAllOf(ModelNormal): +class AccountCard(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -80,9 +79,7 @@ def openapi_types(): and the value is attribute type. """ return { - 'name': (str, none_type), # noqa: E501 - 'type': (str, none_type), # noqa: E501 - 'is_required': (bool, none_type), # noqa: E501 + 'token_id': (str, none_type), # noqa: E501 } @cached_property @@ -91,9 +88,7 @@ def discriminator(): attribute_map = { - 'name': 'name', # noqa: E501 - 'type': 'type', # noqa: E501 - 'is_required': 'is_required', # noqa: E501 + 'token_id': 'token_id', # noqa: E501 } read_only_vars = { @@ -104,7 +99,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """ChannelPropertyAllOf - a model defined in OpenAPI + """AccountCard - a model defined in OpenAPI Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -137,9 +132,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - name (str): The corresponding parameter name. [optional] # noqa: E501 - type (str): Data type of the parameter. [optional] # noqa: E501 - is_required (bool): Indicates whether or not the parameter is required. [optional] # noqa: E501 + token_id (str): The token id returned in tokenisation. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -194,12 +187,10 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, - name: str | None = None, - type: str | None = None, - is_required: bool | None = None, + token_id: str | None = None, *args, **kwargs ): # noqa: E501 - """ChannelPropertyAllOf - a model defined in OpenAPI + """AccountCard - a model defined in OpenAPI Keyword Args: @@ -233,9 +224,7 @@ def __init__(self, Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - name (str): The corresponding parameter name. [optional] # noqa: E501 - type (str): Data type of the parameter. [optional] # noqa: E501 - is_required (bool): Indicates whether or not the parameter is required. [optional] # noqa: E501 + token_id (str): The token id returned in tokenisation. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -267,12 +256,8 @@ def __init__(self, self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - if name is not None: - self.name = name - if type is not None: - self.type = type - if is_required is not None: - self.is_required = is_required + if token_id is not None: + self.token_id = token_id for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/xendit/customer/model/account_ewallet.py b/xendit/customer/model/account_ewallet.py new file mode 100644 index 00000000..53f68115 --- /dev/null +++ b/xendit/customer/model/account_ewallet.py @@ -0,0 +1,285 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class AccountEwallet(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'account_number': (str, none_type), # noqa: E501 + 'account_holder_name': (str, none_type, none_type), # noqa: E501 + 'currency': (bool, date, datetime, dict, float, int, list, str, none_type, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'account_number': 'account_number', # noqa: E501 + 'account_holder_name': 'account_holder_name', # noqa: E501 + 'currency': 'currency', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """AccountEwallet - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + account_number (str): Unique account identifier as per the bank records.. [optional] # noqa: E501 + account_holder_name (str, none_type): Name of account holder as per the bank records. Needs to match the registered account name exactly.. [optional] # noqa: E501 + currency (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + account_number: str | None = None, + account_holder_name: str | None = None, + currency: object | None = None, + *args, **kwargs + ): # noqa: E501 + """AccountEwallet - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + account_number (str): Unique account identifier as per the bank records.. [optional] # noqa: E501 + account_holder_name (str, none_type): Name of account holder as per the bank records. Needs to match the registered account name exactly.. [optional] # noqa: E501 + currency (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if account_number is not None: + self.account_number = account_number + if account_holder_name is not None: + self.account_holder_name = account_holder_name + if currency is not None: + self.currency = currency + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/payment_method/model/channel_amount_limits_all_of.py b/xendit/customer/model/account_otc.py similarity index 87% rename from xendit/payment_method/model/channel_amount_limits_all_of.py rename to xendit/customer/model/account_otc.py index fa9ec284..812bd908 100644 --- a/xendit/payment_method/model/channel_amount_limits_all_of.py +++ b/xendit/customer/model/account_otc.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.0.0 """ @@ -25,11 +25,10 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass -class ChannelAmountLimitsAllOf(ModelNormal): +class AccountOTC(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -80,9 +79,8 @@ def openapi_types(): and the value is attribute type. """ return { - 'currency': (str, none_type), # noqa: E501 - 'min_limit': (float, none_type), # noqa: E501 - 'max_limit': (float, none_type), # noqa: E501 + 'payment_code': (str, none_type), # noqa: E501 + 'expires_at': (str, none_type, none_type), # noqa: E501 } @cached_property @@ -91,9 +89,8 @@ def discriminator(): attribute_map = { - 'currency': 'currency', # noqa: E501 - 'min_limit': 'min_limit', # noqa: E501 - 'max_limit': 'max_limit', # noqa: E501 + 'payment_code': 'payment_code', # noqa: E501 + 'expires_at': 'expires_at', # noqa: E501 } read_only_vars = { @@ -104,7 +101,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """ChannelAmountLimitsAllOf - a model defined in OpenAPI + """AccountOTC - a model defined in OpenAPI Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -137,9 +134,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - currency (str): Currency supported by the payment channel. [optional] # noqa: E501 - min_limit (float): The minimum allowed transaction amount for the payment channel. [optional] # noqa: E501 - max_limit (float): The minimum allowed transaction amount for the payment channel. [optional] # noqa: E501 + payment_code (str): Complete fixed payment code (including prefix). [optional] # noqa: E501 + expires_at (str, none_type): YYYY-MM-DD string with expiry date for the payment code. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -194,12 +190,11 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, - currency: str | None = None, - min_limit: float | None = None, - max_limit: float | None = None, + payment_code: str | None = None, + expires_at: str | None = None, *args, **kwargs ): # noqa: E501 - """ChannelAmountLimitsAllOf - a model defined in OpenAPI + """AccountOTC - a model defined in OpenAPI Keyword Args: @@ -233,9 +228,8 @@ def __init__(self, Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - currency (str): Currency supported by the payment channel. [optional] # noqa: E501 - min_limit (float): The minimum allowed transaction amount for the payment channel. [optional] # noqa: E501 - max_limit (float): The minimum allowed transaction amount for the payment channel. [optional] # noqa: E501 + payment_code (str): Complete fixed payment code (including prefix). [optional] # noqa: E501 + expires_at (str, none_type): YYYY-MM-DD string with expiry date for the payment code. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -267,12 +261,10 @@ def __init__(self, self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - if currency is not None: - self.currency = currency - if min_limit is not None: - self.min_limit = min_limit - if max_limit is not None: - self.max_limit = max_limit + if payment_code is not None: + self.payment_code = payment_code + if expires_at is not None: + self.expires_at = expires_at for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/xendit/customer/model/account_pay_later.py b/xendit/customer/model/account_pay_later.py new file mode 100644 index 00000000..d9c05b22 --- /dev/null +++ b/xendit/customer/model/account_pay_later.py @@ -0,0 +1,285 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class AccountPayLater(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'account_id': (str, none_type), # noqa: E501 + 'account_holder_name': (str, none_type, none_type), # noqa: E501 + 'currency': (bool, date, datetime, dict, float, int, list, str, none_type, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'account_id': 'account_id', # noqa: E501 + 'account_holder_name': 'account_holder_name', # noqa: E501 + 'currency': 'currency', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """AccountPayLater - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + account_id (str): Alphanumeric string identifying this account. Usually an email address or phone number.. [optional] # noqa: E501 + account_holder_name (str, none_type): Name of account holder as per the cardless credit account.. [optional] # noqa: E501 + currency (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + account_id: str | None = None, + account_holder_name: str | None = None, + currency: object | None = None, + *args, **kwargs + ): # noqa: E501 + """AccountPayLater - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + account_id (str): Alphanumeric string identifying this account. Usually an email address or phone number.. [optional] # noqa: E501 + account_holder_name (str, none_type): Name of account holder as per the cardless credit account.. [optional] # noqa: E501 + currency (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if account_id is not None: + self.account_id = account_id + if account_holder_name is not None: + self.account_holder_name = account_holder_name + if currency is not None: + self.currency = currency + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/account_qr_code.py b/xendit/customer/model/account_qr_code.py new file mode 100644 index 00000000..204e2ae8 --- /dev/null +++ b/xendit/customer/model/account_qr_code.py @@ -0,0 +1,271 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class AccountQRCode(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'qr_string': (str, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'qr_string': 'qr_string', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """AccountQRCode - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + qr_string (str): String representation of the QR Code image. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + qr_string: str | None = None, + *args, **kwargs + ): # noqa: E501 + """AccountQRCode - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + qr_string (str): String representation of the QR Code image. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if qr_string is not None: + self.qr_string = qr_string + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/address.py b/xendit/customer/model/address.py new file mode 100644 index 00000000..9c9da1be --- /dev/null +++ b/xendit/customer/model/address.py @@ -0,0 +1,366 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + +from xendit.customer.model.address_status import AddressStatus +globals()['AddressStatus'] = AddressStatus + +def lazy_import(): + pass + +class Address(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('category',): { + 'max_length': 255, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'category': (str, none_type,), # noqa: E501 + 'country': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 + 'province_state': (str, none_type,), # noqa: E501 + 'city': (str, none_type,), # noqa: E501 + 'postal_code': (str, none_type,), # noqa: E501 + 'street_line1': (str, none_type,), # noqa: E501 + 'street_line2': (str, none_type,), # noqa: E501 + 'is_primary': (bool, none_type,), # noqa: E501 + 'id': (str, none_type), # noqa: E501 + 'status': (AddressStatus, none_type), # noqa: E501 + 'meta': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type, none_type), # noqa: E501 + 'created': (datetime, none_type), # noqa: E501 + 'updated': (datetime, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'category': 'category', # noqa: E501 + 'country': 'country', # noqa: E501 + 'province_state': 'province_state', # noqa: E501 + 'city': 'city', # noqa: E501 + 'postal_code': 'postal_code', # noqa: E501 + 'street_line1': 'street_line1', # noqa: E501 + 'street_line2': 'street_line2', # noqa: E501 + 'is_primary': 'is_primary', # noqa: E501 + 'id': 'id', # noqa: E501 + 'status': 'status', # noqa: E501 + 'meta': 'meta', # noqa: E501 + 'created': 'created', # noqa: E501 + 'updated': 'updated', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, category, country, province_state, city, postal_code, street_line1, street_line2, is_primary, *args, **kwargs): # noqa: E501 + """Address - a model defined in OpenAPI + + Args: + category (str, none_type): + country (bool, date, datetime, dict, float, int, list, str, none_type): + province_state (str, none_type): + city (str, none_type): + postal_code (str, none_type): + street_line1 (str, none_type): + street_line2 (str, none_type): + is_primary (bool, none_type): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + id (str): [optional] # noqa: E501 + status (AddressStatus): [optional] # noqa: E501 + meta ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type): [optional] # noqa: E501 + created (datetime): [optional] # noqa: E501 + updated (datetime): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.category = category + self.country = country + self.province_state = province_state + self.city = city + self.postal_code = postal_code + self.street_line1 = street_line1 + self.street_line2 = street_line2 + self.is_primary = is_primary + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + category: str | None, + country: object, + province_state: str | None, + city: str | None, + postal_code: str | None, + street_line1: str | None, + street_line2: str | None, + is_primary: bool | None, + id: str | None = None, + status: AddressStatus | None = None, + meta: dict | None = None, + created: datetime | None = None, + updated: datetime | None = None, + *args, **kwargs + ): # noqa: E501 + """Address - a model defined in OpenAPI + + Args: + category (str, none_type): + country (bool, date, datetime, dict, float, int, list, str, none_type): + province_state (str, none_type): + city (str, none_type): + postal_code (str, none_type): + street_line1 (str, none_type): + street_line2 (str, none_type): + is_primary (bool, none_type): + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + id (str): [optional] # noqa: E501 + status (AddressStatus): [optional] # noqa: E501 + meta ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type): [optional] # noqa: E501 + created (datetime): [optional] # noqa: E501 + updated (datetime): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.category = category + self.country = country + self.province_state = province_state + self.city = city + self.postal_code = postal_code + self.street_line1 = street_line1 + self.street_line2 = street_line2 + self.is_primary = is_primary + if id is not None: + self.id = id + if status is not None: + self.status = status + if meta is not None: + self.meta = meta + if created is not None: + self.created = created + if updated is not None: + self.updated = updated + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/address_request.py b/xendit/customer/model/address_request.py new file mode 100644 index 00000000..a192e8df --- /dev/null +++ b/xendit/customer/model/address_request.py @@ -0,0 +1,343 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + +from xendit.customer.model.address_status import AddressStatus +from xendit.customer.model.country_code import CountryCode +globals()['AddressStatus'] = AddressStatus +globals()['CountryCode'] = CountryCode + +def lazy_import(): + pass + +class AddressRequest(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('category',): { + 'max_length': 255, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'category': (str, none_type), # noqa: E501 + 'country_code': (CountryCode, none_type), # noqa: E501 + 'province_state': (str, none_type), # noqa: E501 + 'city': (str, none_type), # noqa: E501 + 'suburb': (str, none_type), # noqa: E501 + 'postal_code': (str, none_type), # noqa: E501 + 'line_1': (str, none_type), # noqa: E501 + 'line_2': (str, none_type), # noqa: E501 + 'status': (AddressStatus, none_type), # noqa: E501 + 'is_primary': (bool, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'category': 'category', # noqa: E501 + 'country_code': 'country_code', # noqa: E501 + 'province_state': 'province_state', # noqa: E501 + 'city': 'city', # noqa: E501 + 'suburb': 'suburb', # noqa: E501 + 'postal_code': 'postal_code', # noqa: E501 + 'line_1': 'line_1', # noqa: E501 + 'line_2': 'line_2', # noqa: E501 + 'status': 'status', # noqa: E501 + 'is_primary': 'is_primary', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """AddressRequest - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + category (str): Home, work or provincial. [optional] # noqa: E501 + country_code (CountryCode): [optional] # noqa: E501 + province_state (str): [optional] # noqa: E501 + city (str): [optional] # noqa: E501 + suburb (str): [optional] # noqa: E501 + postal_code (str): [optional] # noqa: E501 + line_1 (str): [optional] # noqa: E501 + line_2 (str): [optional] # noqa: E501 + status (AddressStatus): [optional] # noqa: E501 + is_primary (bool): [optional] if omitted the server will use the default value of False # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + category: str | None = None, + country_code: str | None = None, + province_state: str | None = None, + city: str | None = None, + suburb: str | None = None, + postal_code: str | None = None, + line_1: str | None = None, + line_2: str | None = None, + status: AddressStatus | None = None, + is_primary: bool | None = False, + *args, **kwargs + ): # noqa: E501 + """AddressRequest - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + category (str): Home, work or provincial. [optional] # noqa: E501 + country_code (CountryCode): [optional] # noqa: E501 + province_state (str): [optional] # noqa: E501 + city (str): [optional] # noqa: E501 + suburb (str): [optional] # noqa: E501 + postal_code (str): [optional] # noqa: E501 + line_1 (str): [optional] # noqa: E501 + line_2 (str): [optional] # noqa: E501 + status (AddressStatus): [optional] # noqa: E501 + is_primary (bool): [optional] if omitted the server will use the default value of False # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if category is not None: + self.category = category + if country_code is not None: + self.country_code = country_code + if province_state is not None: + self.province_state = province_state + if city is not None: + self.city = city + if suburb is not None: + self.suburb = suburb + if postal_code is not None: + self.postal_code = postal_code + if line_1 is not None: + self.line_1 = line_1 + if line_2 is not None: + self.line_2 = line_2 + if status is not None: + self.status = status + if is_primary is not None: + self.is_primary = is_primary + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/address_status.py b/xendit/customer/model/address_status.py new file mode 100644 index 00000000..332ef218 --- /dev/null +++ b/xendit/customer/model/address_status.py @@ -0,0 +1,293 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class AddressStatus(ModelSimple): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('value',): { + 'None': None, + 'ACTIVE': "ACTIVE", + 'DELETED': "DELETED", + }, + } + + validations = { + } + + additional_properties_type = None + + _nullable = True + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'value': (str,), + } + + @cached_property + def discriminator(): + return None + + + attribute_map = {} + + read_only_vars = set() + + _composed_schemas = None + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): + """AddressStatus - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["ACTIVE", "DELETED", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["ACTIVE", "DELETED", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): + """AddressStatus - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["ACTIVE", "DELETED", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["ACTIVE", "DELETED", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + return self diff --git a/xendit/customer/model/business_detail.py b/xendit/customer/model/business_detail.py new file mode 100644 index 00000000..b911598b --- /dev/null +++ b/xendit/customer/model/business_detail.py @@ -0,0 +1,322 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + +from xendit.customer.model.country_code import CountryCode +globals()['CountryCode'] = CountryCode + +def lazy_import(): + pass + +class BusinessDetail(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('business_type',): { + 'None': None, + 'CORPORATION': "CORPORATION", + 'SOLE_PROPRIETOR': "SOLE_PROPRIETOR", + 'PARTNERSHIP': "PARTNERSHIP", + 'COOPERATIVE': "COOPERATIVE", + 'TRUST': "TRUST", + 'NON_PROFIT': "NON_PROFIT", + 'GOVERNMENT': "GOVERNMENT", + }, + } + + validations = { + ('business_name',): { + 'max_length': 255, + }, + ('date_of_registration',): { + 'max_length': 10, + }, + ('nature_of_business',): { + 'max_length': 255, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = True + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'business_name': (str, none_type), # noqa: E501 + 'business_type': (str, none_type, none_type), # noqa: E501 + 'date_of_registration': (str, none_type, none_type), # noqa: E501 + 'nature_of_business': (str, none_type, none_type), # noqa: E501 + 'business_domicile': (CountryCode, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'business_name': 'business_name', # noqa: E501 + 'business_type': 'business_type', # noqa: E501 + 'date_of_registration': 'date_of_registration', # noqa: E501 + 'nature_of_business': 'nature_of_business', # noqa: E501 + 'business_domicile': 'business_domicile', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """BusinessDetail - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + business_name (str): [optional] # noqa: E501 + business_type (str, none_type): [optional] # noqa: E501 + date_of_registration (str, none_type): [optional] # noqa: E501 + nature_of_business (str, none_type): [optional] # noqa: E501 + business_domicile (CountryCode): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + business_name: str | None = None, + business_type: str | None = None, + date_of_registration: str | None = None, + nature_of_business: str | None = None, + business_domicile: str | None = None, + *args, **kwargs + ): # noqa: E501 + """BusinessDetail - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + business_name (str): [optional] # noqa: E501 + business_type (str, none_type): [optional] # noqa: E501 + date_of_registration (str, none_type): [optional] # noqa: E501 + nature_of_business (str, none_type): [optional] # noqa: E501 + business_domicile (CountryCode): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if business_name is not None: + self.business_name = business_name + if business_type is not None: + self.business_type = business_type + if date_of_registration is not None: + self.date_of_registration = date_of_registration + if nature_of_business is not None: + self.nature_of_business = nature_of_business + if business_domicile is not None: + self.business_domicile = business_domicile + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/country_code.py b/xendit/customer/model/country_code.py new file mode 100644 index 00000000..79f63a12 --- /dev/null +++ b/xendit/customer/model/country_code.py @@ -0,0 +1,291 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class CountryCode(ModelSimple): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('value',): { + 'max_length': 2, + }, + } + + additional_properties_type = None + + _nullable = True + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'value': (str,), + } + + @cached_property + def discriminator(): + return None + + + attribute_map = {} + + read_only_vars = set() + + _composed_schemas = None + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): + """CountryCode - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str): ISO3166-2 country code. # noqa: E501 + + Keyword Args: + value (str): ISO3166-2 country code. # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): + """CountryCode - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str): ISO3166-2 country code. # noqa: E501 + + Keyword Args: + value (str): ISO3166-2 country code. # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + return self diff --git a/xendit/payment_method/model/channel_amount_limits.py b/xendit/customer/model/create_customer400_response.py similarity index 89% rename from xendit/payment_method/model/channel_amount_limits.py rename to xendit/customer/model/create_customer400_response.py index 3a07cf83..1fc2ce7f 100644 --- a/xendit/payment_method/model/channel_amount_limits.py +++ b/xendit/customer/model/create_customer400_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.0.0 """ @@ -24,14 +24,15 @@ ) from xendit.exceptions import ApiAttributeError -from xendit.payment_method.model.channel_amount_limits_all_of import ChannelAmountLimitsAllOf -globals()['ChannelAmountLimitsAllOf'] = ChannelAmountLimitsAllOf - +from xendit.customer.model.create_customer400_response_all_of import CreateCustomer400ResponseAllOf +from xendit.customer.model.error import Error +globals()['CreateCustomer400ResponseAllOf'] = CreateCustomer400ResponseAllOf +globals()['Error'] = Error def lazy_import(): pass -class ChannelAmountLimits(ModelComposed): +class CreateCustomer400Response(ModelComposed): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -56,6 +57,10 @@ class ChannelAmountLimits(ModelComposed): """ allowed_values = { + ('error_code',): { + 'DUPLICATE_END_CUSTOMER_ERROR': "DUPLICATE_END_CUSTOMER_ERROR", + 'API_VALIDATION_ERROR': "API_VALIDATION_ERROR", + }, } validations = { @@ -84,9 +89,9 @@ def openapi_types(): """ lazy_import() return { - 'currency': (str, none_type), # noqa: E501 - 'min_limit': (float, none_type), # noqa: E501 - 'max_limit': (float, none_type), # noqa: E501 + 'error_code': (str,), # noqa: E501 + 'message': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 + 'errors': ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}], none_type), # noqa: E501 } @cached_property @@ -95,9 +100,9 @@ def discriminator(): attribute_map = { - 'currency': 'currency', # noqa: E501 - 'min_limit': 'min_limit', # noqa: E501 - 'max_limit': 'max_limit', # noqa: E501 + 'error_code': 'error_code', # noqa: E501 + 'message': 'message', # noqa: E501 + 'errors': 'errors', # noqa: E501 } read_only_vars = { @@ -106,9 +111,11 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """ChannelAmountLimits - a model defined in OpenAPI + """CreateCustomer400Response - a model defined in OpenAPI Keyword Args: + error_code (str): + message (bool, date, datetime, dict, float, int, list, str, none_type): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -139,9 +146,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - currency (str): Currency supported by the payment channel. [optional] # noqa: E501 - min_limit (float): The minimum allowed transaction amount for the payment channel. [optional] # noqa: E501 - max_limit (float): The minimum allowed transaction amount for the payment channel. [optional] # noqa: E501 + errors ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -214,9 +219,11 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, *args, **kwargs): # noqa: E501 - """ChannelAmountLimits - a model defined in OpenAPI + """CreateCustomer400Response - a model defined in OpenAPI Keyword Args: + error_code (str): + message (bool, date, datetime, dict, float, int, list, str, none_type): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -247,9 +254,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - currency (str): Currency supported by the payment channel. [optional] # noqa: E501 - min_limit (float): The minimum allowed transaction amount for the payment channel. [optional] # noqa: E501 - max_limit (float): The minimum allowed transaction amount for the payment channel. [optional] # noqa: E501 + errors ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -321,7 +326,8 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ - ChannelAmountLimitsAllOf, + CreateCustomer400ResponseAllOf, + Error, ], 'oneOf': [ ], diff --git a/xendit/payment_method/model/payment_channel_list_links_inner_all_of.py b/xendit/customer/model/create_customer400_response_all_of.py similarity index 86% rename from xendit/payment_method/model/payment_channel_list_links_inner_all_of.py rename to xendit/customer/model/create_customer400_response_all_of.py index 4eab2284..72328433 100644 --- a/xendit/payment_method/model/payment_channel_list_links_inner_all_of.py +++ b/xendit/customer/model/create_customer400_response_all_of.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.0.0 """ @@ -25,11 +25,10 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass -class PaymentChannelListLinksInnerAllOf(ModelNormal): +class CreateCustomer400ResponseAllOf(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -54,11 +53,9 @@ class PaymentChannelListLinksInnerAllOf(ModelNormal): """ allowed_values = { - ('rel',): { - 'FIRST': "first", - 'LAST': "last", - 'NEXT': "next", - 'PREV': "prev", + ('error_code',): { + 'DUPLICATE_END_CUSTOMER_ERROR': "DUPLICATE_END_CUSTOMER_ERROR", + 'API_VALIDATION_ERROR': "API_VALIDATION_ERROR", }, } @@ -86,9 +83,8 @@ def openapi_types(): and the value is attribute type. """ return { - 'href': (str, none_type), # noqa: E501 - 'rel': (str, none_type), # noqa: E501 - 'method': (str, none_type), # noqa: E501 + 'error_code': (str, none_type), # noqa: E501 + 'message': (bool, date, datetime, dict, float, int, list, str, none_type, none_type), # noqa: E501 } @cached_property @@ -97,9 +93,8 @@ def discriminator(): attribute_map = { - 'href': 'href', # noqa: E501 - 'rel': 'rel', # noqa: E501 - 'method': 'method', # noqa: E501 + 'error_code': 'error_code', # noqa: E501 + 'message': 'message', # noqa: E501 } read_only_vars = { @@ -110,7 +105,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """PaymentChannelListLinksInnerAllOf - a model defined in OpenAPI + """CreateCustomer400ResponseAllOf - a model defined in OpenAPI Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -143,9 +138,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - href (str): Target URI that should contain a target to Internationalized Resource Identifiers (IRI). [optional] # noqa: E501 - rel (str): The link relation type described how the current context (source) is related to target resource. [optional] # noqa: E501 - method (str): The HTTP method to be used to call `href`. [optional] # noqa: E501 + error_code (str): [optional] # noqa: E501 + message (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -200,12 +194,11 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, - href: str | None = None, - rel: str | None = None, - method: str | None = None, + error_code: str | None = None, + message: object | None = None, *args, **kwargs ): # noqa: E501 - """PaymentChannelListLinksInnerAllOf - a model defined in OpenAPI + """CreateCustomer400ResponseAllOf - a model defined in OpenAPI Keyword Args: @@ -239,9 +232,8 @@ def __init__(self, Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - href (str): Target URI that should contain a target to Internationalized Resource Identifiers (IRI). [optional] # noqa: E501 - rel (str): The link relation type described how the current context (source) is related to target resource. [optional] # noqa: E501 - method (str): The HTTP method to be used to call `href`. [optional] # noqa: E501 + error_code (str): [optional] # noqa: E501 + message (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -273,12 +265,10 @@ def __init__(self, self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - if href is not None: - self.href = href - if rel is not None: - self.rel = rel - if method is not None: - self.method = method + if error_code is not None: + self.error_code = error_code + if message is not None: + self.message = message for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/xendit/customer/model/customer.py b/xendit/customer/model/customer.py new file mode 100644 index 00000000..15b04f5d --- /dev/null +++ b/xendit/customer/model/customer.py @@ -0,0 +1,405 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + +from xendit.customer.model.address import Address +from xendit.customer.model.business_detail import BusinessDetail +from xendit.customer.model.end_customer_status import EndCustomerStatus +from xendit.customer.model.identity_account_response import IdentityAccountResponse +from xendit.customer.model.individual_detail import IndividualDetail +from xendit.customer.model.kyc_document_response import KYCDocumentResponse +globals()['Address'] = Address +globals()['BusinessDetail'] = BusinessDetail +globals()['EndCustomerStatus'] = EndCustomerStatus +globals()['IdentityAccountResponse'] = IdentityAccountResponse +globals()['IndividualDetail'] = IndividualDetail +globals()['KYCDocumentResponse'] = KYCDocumentResponse + +def lazy_import(): + pass + +class Customer(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('type',): { + 'INDIVIDUAL': "INDIVIDUAL", + 'BUSINESS': "BUSINESS", + }, + } + + validations = { + ('reference_id',): { + 'max_length': 255, + }, + ('description',): { + 'max_length': 1000, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'type': (str,), # noqa: E501 + 'reference_id': (str,), # noqa: E501 + 'individual_detail': (IndividualDetail,), # noqa: E501 + 'business_detail': (BusinessDetail,), # noqa: E501 + 'description': (str, none_type,), # noqa: E501 + 'email': (str, none_type,), # noqa: E501 + 'mobile_number': (str, none_type,), # noqa: E501 + 'phone_number': (str, none_type,), # noqa: E501 + 'addresses': ([Address], none_type,), # noqa: E501 + 'identity_accounts': ([IdentityAccountResponse], none_type,), # noqa: E501 + 'kyc_documents': ([KYCDocumentResponse], none_type,), # noqa: E501 + 'metadata': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type,), # noqa: E501 + 'id': (str,), # noqa: E501 + 'created': (datetime,), # noqa: E501 + 'updated': (datetime,), # noqa: E501 + 'status': (EndCustomerStatus, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'type': 'type', # noqa: E501 + 'reference_id': 'reference_id', # noqa: E501 + 'individual_detail': 'individual_detail', # noqa: E501 + 'business_detail': 'business_detail', # noqa: E501 + 'description': 'description', # noqa: E501 + 'email': 'email', # noqa: E501 + 'mobile_number': 'mobile_number', # noqa: E501 + 'phone_number': 'phone_number', # noqa: E501 + 'addresses': 'addresses', # noqa: E501 + 'identity_accounts': 'identity_accounts', # noqa: E501 + 'kyc_documents': 'kyc_documents', # noqa: E501 + 'metadata': 'metadata', # noqa: E501 + 'id': 'id', # noqa: E501 + 'created': 'created', # noqa: E501 + 'updated': 'updated', # noqa: E501 + 'status': 'status', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, reference_id, individual_detail, business_detail, description, email, mobile_number, phone_number, addresses, identity_accounts, kyc_documents, metadata, id, created, updated, *args, **kwargs): # noqa: E501 + """Customer - a model defined in OpenAPI + + Args: + reference_id (str): Merchant's reference of this end customer, eg Merchant's user's id. Must be unique. + individual_detail (IndividualDetail): + business_detail (BusinessDetail): + description (str, none_type): + email (str, none_type): + mobile_number (str, none_type): + phone_number (str, none_type): + addresses ([Address], none_type): + identity_accounts ([IdentityAccountResponse], none_type): + kyc_documents ([KYCDocumentResponse], none_type): + metadata ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type): + id (str): + created (datetime): + updated (datetime): + + Keyword Args: + type (str): defaults to "INDIVIDUAL", must be one of ["INDIVIDUAL", "BUSINESS", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + status (EndCustomerStatus): [optional] # noqa: E501 + """ + + type = kwargs.get('type', "INDIVIDUAL") + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.type = type + self.reference_id = reference_id + self.individual_detail = individual_detail + self.business_detail = business_detail + self.description = description + self.email = email + self.mobile_number = mobile_number + self.phone_number = phone_number + self.addresses = addresses + self.identity_accounts = identity_accounts + self.kyc_documents = kyc_documents + self.metadata = metadata + self.id = id + self.created = created + self.updated = updated + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + reference_id: str, + individual_detail: IndividualDetail | None, + business_detail: BusinessDetail | None, + description: str | None, + email: str | None, + mobile_number: str | None, + phone_number: str | None, + addresses: list | None, + identity_accounts: list | None, + kyc_documents: list | None, + metadata: dict | None, + id: str, + created: datetime, + updated: datetime, + status: EndCustomerStatus | None = None, + type: str = "INDIVIDUAL", + *args, **kwargs + ): # noqa: E501 + """Customer - a model defined in OpenAPI + + Args: + reference_id (str): Merchant's reference of this end customer, eg Merchant's user's id. Must be unique. + individual_detail (IndividualDetail): + business_detail (BusinessDetail): + description (str, none_type): + email (str, none_type): + mobile_number (str, none_type): + phone_number (str, none_type): + addresses ([Address], none_type): + identity_accounts ([IdentityAccountResponse], none_type): + kyc_documents ([KYCDocumentResponse], none_type): + metadata ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type): + id (str): + created (datetime): + updated (datetime): + + + Keyword Args: + type (str): defaults to "INDIVIDUAL", must be one of ["INDIVIDUAL", "BUSINESS", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + status (EndCustomerStatus): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.type = type + self.reference_id = reference_id + self.individual_detail = individual_detail + self.business_detail = business_detail + self.description = description + self.email = email + self.mobile_number = mobile_number + self.phone_number = phone_number + self.addresses = addresses + self.identity_accounts = identity_accounts + self.kyc_documents = kyc_documents + self.metadata = metadata + self.id = id + self.created = created + self.updated = updated + if status is not None: + self.status = status + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/customer_request.py b/xendit/customer/model/customer_request.py new file mode 100644 index 00000000..957e6ac0 --- /dev/null +++ b/xendit/customer/model/customer_request.py @@ -0,0 +1,381 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + +from xendit.customer.model.address_request import AddressRequest +from xendit.customer.model.business_detail import BusinessDetail +from xendit.customer.model.identity_account_request import IdentityAccountRequest +from xendit.customer.model.individual_detail import IndividualDetail +from xendit.customer.model.kyc_document_request import KYCDocumentRequest +globals()['AddressRequest'] = AddressRequest +globals()['BusinessDetail'] = BusinessDetail +globals()['IdentityAccountRequest'] = IdentityAccountRequest +globals()['IndividualDetail'] = IndividualDetail +globals()['KYCDocumentRequest'] = KYCDocumentRequest + +def lazy_import(): + pass + +class CustomerRequest(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('type',): { + 'INDIVIDUAL': "INDIVIDUAL", + 'BUSINESS': "BUSINESS", + }, + } + + validations = { + ('reference_id',): { + 'max_length': 255, + }, + ('description',): { + 'max_length': 1000, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'reference_id': (str,), # noqa: E501 + 'client_name': (str, none_type), # noqa: E501 + 'type': (str, none_type), # noqa: E501 + 'individual_detail': (IndividualDetail, none_type), # noqa: E501 + 'business_detail': (BusinessDetail, none_type), # noqa: E501 + 'description': (str, none_type, none_type), # noqa: E501 + 'email': (str, none_type), # noqa: E501 + 'mobile_number': (str, none_type), # noqa: E501 + 'phone_number': (str, none_type), # noqa: E501 + 'addresses': ([AddressRequest], none_type), # noqa: E501 + 'identity_accounts': ([IdentityAccountRequest], none_type), # noqa: E501 + 'kyc_documents': ([KYCDocumentRequest], none_type), # noqa: E501 + 'metadata': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'reference_id': 'reference_id', # noqa: E501 + 'client_name': 'client_name', # noqa: E501 + 'type': 'type', # noqa: E501 + 'individual_detail': 'individual_detail', # noqa: E501 + 'business_detail': 'business_detail', # noqa: E501 + 'description': 'description', # noqa: E501 + 'email': 'email', # noqa: E501 + 'mobile_number': 'mobile_number', # noqa: E501 + 'phone_number': 'phone_number', # noqa: E501 + 'addresses': 'addresses', # noqa: E501 + 'identity_accounts': 'identity_accounts', # noqa: E501 + 'kyc_documents': 'kyc_documents', # noqa: E501 + 'metadata': 'metadata', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, reference_id, *args, **kwargs): # noqa: E501 + """CustomerRequest - a model defined in OpenAPI + + Args: + reference_id (str): Merchant's reference of this end customer, eg Merchant's user's id. Must be unique. + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + client_name (str): Entity's name for this client. [optional] # noqa: E501 + type (str): [optional] if omitted the server will use the default value of "INDIVIDUAL" # noqa: E501 + individual_detail (IndividualDetail): [optional] # noqa: E501 + business_detail (BusinessDetail): [optional] # noqa: E501 + description (str, none_type): [optional] # noqa: E501 + email (str): [optional] # noqa: E501 + mobile_number (str): [optional] # noqa: E501 + phone_number (str): [optional] # noqa: E501 + addresses ([AddressRequest]): [optional] # noqa: E501 + identity_accounts ([IdentityAccountRequest]): [optional] # noqa: E501 + kyc_documents ([KYCDocumentRequest]): [optional] # noqa: E501 + metadata ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.reference_id = reference_id + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + reference_id: str, + client_name: str | None = None, + individual_detail: IndividualDetail | None = None, + business_detail: BusinessDetail | None = None, + description: str | None = None, + email: str | None = None, + mobile_number: str | None = None, + phone_number: str | None = None, + addresses: list | None = None, + identity_accounts: list | None = None, + kyc_documents: list | None = None, + metadata: dict | None = None, + type: str | None = "INDIVIDUAL", + *args, **kwargs + ): # noqa: E501 + """CustomerRequest - a model defined in OpenAPI + + Args: + reference_id (str): Merchant's reference of this end customer, eg Merchant's user's id. Must be unique. + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + client_name (str): Entity's name for this client. [optional] # noqa: E501 + type (str): [optional] if omitted the server will use the default value of "INDIVIDUAL" # noqa: E501 + individual_detail (IndividualDetail): [optional] # noqa: E501 + business_detail (BusinessDetail): [optional] # noqa: E501 + description (str, none_type): [optional] # noqa: E501 + email (str): [optional] # noqa: E501 + mobile_number (str): [optional] # noqa: E501 + phone_number (str): [optional] # noqa: E501 + addresses ([AddressRequest]): [optional] # noqa: E501 + identity_accounts ([IdentityAccountRequest]): [optional] # noqa: E501 + kyc_documents ([KYCDocumentRequest]): [optional] # noqa: E501 + metadata ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.reference_id = reference_id + if client_name is not None: + self.client_name = client_name + if type is not None: + self.type = type + if individual_detail is not None: + self.individual_detail = individual_detail + if business_detail is not None: + self.business_detail = business_detail + if description is not None: + self.description = description + if email is not None: + self.email = email + if mobile_number is not None: + self.mobile_number = mobile_number + if phone_number is not None: + self.phone_number = phone_number + if addresses is not None: + self.addresses = addresses + if identity_accounts is not None: + self.identity_accounts = identity_accounts + if kyc_documents is not None: + self.kyc_documents = kyc_documents + if metadata is not None: + self.metadata = metadata + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/employment_detail.py b/xendit/customer/model/employment_detail.py new file mode 100644 index 00000000..c915cb44 --- /dev/null +++ b/xendit/customer/model/employment_detail.py @@ -0,0 +1,285 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class EmploymentDetail(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = True + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'employer_name': (str, none_type, none_type), # noqa: E501 + 'nature_of_business': (str, none_type, none_type), # noqa: E501 + 'role_description': (str, none_type, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'employer_name': 'employer_name', # noqa: E501 + 'nature_of_business': 'nature_of_business', # noqa: E501 + 'role_description': 'role_description', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """EmploymentDetail - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + employer_name (str, none_type): Name of employer. [optional] # noqa: E501 + nature_of_business (str, none_type): Industry or nature of business. [optional] # noqa: E501 + role_description (str, none_type): Occupation or title. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + employer_name: str | None = None, + nature_of_business: str | None = None, + role_description: str | None = None, + *args, **kwargs + ): # noqa: E501 + """EmploymentDetail - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + employer_name (str, none_type): Name of employer. [optional] # noqa: E501 + nature_of_business (str, none_type): Industry or nature of business. [optional] # noqa: E501 + role_description (str, none_type): Occupation or title. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if employer_name is not None: + self.employer_name = employer_name + if nature_of_business is not None: + self.nature_of_business = nature_of_business + if role_description is not None: + self.role_description = role_description + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/end_customer_status.py b/xendit/customer/model/end_customer_status.py new file mode 100644 index 00000000..c4089fb5 --- /dev/null +++ b/xendit/customer/model/end_customer_status.py @@ -0,0 +1,296 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class EndCustomerStatus(ModelSimple): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('value',): { + 'None': None, + 'ACTIVE': "ACTIVE", + 'INACTIVE': "INACTIVE", + 'PENDING': "PENDING", + 'BLOCKED': "BLOCKED", + 'DELETED': "DELETED", + }, + } + + validations = { + } + + additional_properties_type = None + + _nullable = True + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'value': (str,), + } + + @cached_property + def discriminator(): + return None + + + attribute_map = {} + + read_only_vars = set() + + _composed_schemas = None + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): + """EndCustomerStatus - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["ACTIVE", "INACTIVE", "PENDING", "BLOCKED", "DELETED", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["ACTIVE", "INACTIVE", "PENDING", "BLOCKED", "DELETED", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): + """EndCustomerStatus - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["ACTIVE", "INACTIVE", "PENDING", "BLOCKED", "DELETED", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["ACTIVE", "INACTIVE", "PENDING", "BLOCKED", "DELETED", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + return self diff --git a/xendit/customer/model/error.py b/xendit/customer/model/error.py new file mode 100644 index 00000000..e12b3dfd --- /dev/null +++ b/xendit/customer/model/error.py @@ -0,0 +1,289 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class Error(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'error_code': (str,), # noqa: E501 + 'message': (str,), # noqa: E501 + 'errors': ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}], none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'error_code': 'error_code', # noqa: E501 + 'message': 'message', # noqa: E501 + 'errors': 'errors', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, error_code, message, *args, **kwargs): # noqa: E501 + """Error - a model defined in OpenAPI + + Args: + error_code (str): + message (str): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + errors ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.error_code = error_code + self.message = message + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + error_code: str, + message: str, + errors: list | None = None, + *args, **kwargs + ): # noqa: E501 + """Error - a model defined in OpenAPI + + Args: + error_code (str): + message (str): + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + errors ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.error_code = error_code + self.message = message + if errors is not None: + self.errors = errors + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/payment_method/model/payment_channel_list.py b/xendit/customer/model/get_customer_by_reference_id200_response.py similarity index 88% rename from xendit/payment_method/model/payment_channel_list.py rename to xendit/customer/model/get_customer_by_reference_id200_response.py index 2038e98e..b60ea60a 100644 --- a/xendit/payment_method/model/payment_channel_list.py +++ b/xendit/customer/model/get_customer_by_reference_id200_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.0.0 """ @@ -24,16 +24,13 @@ ) from xendit.exceptions import ApiAttributeError -from xendit.payment_method.model.payment_channel import PaymentChannel -from xendit.payment_method.model.payment_channel_list_links_inner import PaymentChannelListLinksInner -globals()['PaymentChannel'] = PaymentChannel -globals()['PaymentChannelListLinksInner'] = PaymentChannelListLinksInner - +from xendit.customer.model.customer import Customer +globals()['Customer'] = Customer def lazy_import(): pass -class PaymentChannelList(ModelNormal): +class GetCustomerByReferenceID200Response(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -86,9 +83,8 @@ def openapi_types(): """ lazy_import() return { - 'data': ([PaymentChannel], none_type), # noqa: E501 - 'links': ([PaymentChannelListLinksInner], none_type), # noqa: E501 'has_more': (bool, none_type), # noqa: E501 + 'data': ([Customer], none_type), # noqa: E501 } @cached_property @@ -97,9 +93,8 @@ def discriminator(): attribute_map = { - 'data': 'data', # noqa: E501 - 'links': 'links', # noqa: E501 'has_more': 'has_more', # noqa: E501 + 'data': 'data', # noqa: E501 } read_only_vars = { @@ -110,7 +105,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """PaymentChannelList - a model defined in OpenAPI + """GetCustomerByReferenceID200Response - a model defined in OpenAPI Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -143,9 +138,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - data ([PaymentChannel]): Array of resources that match the provided filters. [optional] # noqa: E501 - links ([PaymentChannelListLinksInner]): Array of objects that can be used to assist on navigating through the data. [optional] # noqa: E501 - has_more (bool): Indicates whether there are more items in the list. [optional] # noqa: E501 + has_more (bool): [optional] # noqa: E501 + data ([Customer]): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -200,12 +194,11 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, - data: list | None = None, - links: list | None = None, has_more: bool | None = None, + data: list | None = None, *args, **kwargs ): # noqa: E501 - """PaymentChannelList - a model defined in OpenAPI + """GetCustomerByReferenceID200Response - a model defined in OpenAPI Keyword Args: @@ -239,9 +232,8 @@ def __init__(self, Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - data ([PaymentChannel]): Array of resources that match the provided filters. [optional] # noqa: E501 - links ([PaymentChannelListLinksInner]): Array of objects that can be used to assist on navigating through the data. [optional] # noqa: E501 - has_more (bool): Indicates whether there are more items in the list. [optional] # noqa: E501 + has_more (bool): [optional] # noqa: E501 + data ([Customer]): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -273,12 +265,10 @@ def __init__(self, self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - if data is not None: - self.data = data - if links is not None: - self.links = links if has_more is not None: self.has_more = has_more + if data is not None: + self.data = data for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/xendit/payment_method/model/channel_property.py b/xendit/customer/model/get_customer_by_reference_id400_response.py similarity index 87% rename from xendit/payment_method/model/channel_property.py rename to xendit/customer/model/get_customer_by_reference_id400_response.py index 1e6f7812..86f7d369 100644 --- a/xendit/payment_method/model/channel_property.py +++ b/xendit/customer/model/get_customer_by_reference_id400_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.0.0 """ @@ -24,14 +24,15 @@ ) from xendit.exceptions import ApiAttributeError -from xendit.payment_method.model.channel_property_all_of import ChannelPropertyAllOf -globals()['ChannelPropertyAllOf'] = ChannelPropertyAllOf - +from xendit.customer.model.error import Error +from xendit.customer.model.get_customer_by_reference_id400_response_all_of import GetCustomerByReferenceID400ResponseAllOf +globals()['Error'] = Error +globals()['GetCustomerByReferenceID400ResponseAllOf'] = GetCustomerByReferenceID400ResponseAllOf def lazy_import(): pass -class ChannelProperty(ModelComposed): +class GetCustomerByReferenceID400Response(ModelComposed): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -56,6 +57,12 @@ class ChannelProperty(ModelComposed): """ allowed_values = { + ('error_code',): { + 'ENTITY_NOT_FOUND_ERROR': "ENTITY_NOT_FOUND_ERROR", + 'CLIENT_NOT_FOUND_ERROR': "CLIENT_NOT_FOUND_ERROR", + 'END_CUSTOMER_NOT_FOUND_ERROR': "END_CUSTOMER_NOT_FOUND_ERROR", + 'API_VALIDATION_ERROR': "API_VALIDATION_ERROR", + }, } validations = { @@ -84,9 +91,9 @@ def openapi_types(): """ lazy_import() return { - 'name': (str, none_type), # noqa: E501 - 'type': (str, none_type), # noqa: E501 - 'is_required': (bool, none_type), # noqa: E501 + 'error_code': (str,), # noqa: E501 + 'message': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 + 'errors': ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}], none_type), # noqa: E501 } @cached_property @@ -95,9 +102,9 @@ def discriminator(): attribute_map = { - 'name': 'name', # noqa: E501 - 'type': 'type', # noqa: E501 - 'is_required': 'is_required', # noqa: E501 + 'error_code': 'error_code', # noqa: E501 + 'message': 'message', # noqa: E501 + 'errors': 'errors', # noqa: E501 } read_only_vars = { @@ -106,9 +113,11 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """ChannelProperty - a model defined in OpenAPI + """GetCustomerByReferenceID400Response - a model defined in OpenAPI Keyword Args: + error_code (str): + message (bool, date, datetime, dict, float, int, list, str, none_type): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -139,9 +148,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - name (str): The corresponding parameter name. [optional] # noqa: E501 - type (str): Data type of the parameter. [optional] # noqa: E501 - is_required (bool): Indicates whether or not the parameter is required. [optional] # noqa: E501 + errors ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -214,9 +221,11 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, *args, **kwargs): # noqa: E501 - """ChannelProperty - a model defined in OpenAPI + """GetCustomerByReferenceID400Response - a model defined in OpenAPI Keyword Args: + error_code (str): + message (bool, date, datetime, dict, float, int, list, str, none_type): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -247,9 +256,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - name (str): The corresponding parameter name. [optional] # noqa: E501 - type (str): Data type of the parameter. [optional] # noqa: E501 - is_required (bool): Indicates whether or not the parameter is required. [optional] # noqa: E501 + errors ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -321,7 +328,8 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ - ChannelPropertyAllOf, + Error, + GetCustomerByReferenceID400ResponseAllOf, ], 'oneOf': [ ], diff --git a/xendit/customer/model/get_customer_by_reference_id400_response_all_of.py b/xendit/customer/model/get_customer_by_reference_id400_response_all_of.py new file mode 100644 index 00000000..7ff490ee --- /dev/null +++ b/xendit/customer/model/get_customer_by_reference_id400_response_all_of.py @@ -0,0 +1,284 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class GetCustomerByReferenceID400ResponseAllOf(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('error_code',): { + 'ENTITY_NOT_FOUND_ERROR': "ENTITY_NOT_FOUND_ERROR", + 'CLIENT_NOT_FOUND_ERROR': "CLIENT_NOT_FOUND_ERROR", + 'END_CUSTOMER_NOT_FOUND_ERROR': "END_CUSTOMER_NOT_FOUND_ERROR", + 'API_VALIDATION_ERROR': "API_VALIDATION_ERROR", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'error_code': (str, none_type), # noqa: E501 + 'message': (bool, date, datetime, dict, float, int, list, str, none_type, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'error_code': 'error_code', # noqa: E501 + 'message': 'message', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """GetCustomerByReferenceID400ResponseAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + error_code (str): [optional] # noqa: E501 + message (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + error_code: str | None = None, + message: object | None = None, + *args, **kwargs + ): # noqa: E501 + """GetCustomerByReferenceID400ResponseAllOf - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + error_code (str): [optional] # noqa: E501 + message (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if error_code is not None: + self.error_code = error_code + if message is not None: + self.message = message + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/payment_method/model/payment_channel_all_of.py b/xendit/customer/model/identity_account_request.py similarity index 77% rename from xendit/payment_method/model/payment_channel_all_of.py rename to xendit/customer/model/identity_account_request.py index 920bf218..a6bd15eb 100644 --- a/xendit/payment_method/model/payment_channel_all_of.py +++ b/xendit/customer/model/identity_account_request.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.0.0 """ @@ -24,16 +24,17 @@ ) from xendit.exceptions import ApiAttributeError -from xendit.payment_method.model.channel_amount_limits import ChannelAmountLimits -from xendit.payment_method.model.channel_property import ChannelProperty -globals()['ChannelAmountLimits'] = ChannelAmountLimits -globals()['ChannelProperty'] = ChannelProperty - +from xendit.customer.model.country_code import CountryCode +from xendit.customer.model.identity_account_request_properties import IdentityAccountRequestProperties +from xendit.customer.model.identity_account_type import IdentityAccountType +globals()['CountryCode'] = CountryCode +globals()['IdentityAccountRequestProperties'] = IdentityAccountRequestProperties +globals()['IdentityAccountType'] = IdentityAccountType def lazy_import(): pass -class PaymentChannelAllOf(ModelNormal): +class IdentityAccountRequest(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -61,6 +62,12 @@ class PaymentChannelAllOf(ModelNormal): } validations = { + ('company',): { + 'max_length': 100, + }, + ('description',): { + 'max_length': 255, + }, } @cached_property @@ -86,13 +93,11 @@ def openapi_types(): """ lazy_import() return { - 'channel_code': (str, none_type), # noqa: E501 - 'type': (str, none_type), # noqa: E501 - 'country': (str, none_type), # noqa: E501 - 'channel_name': (str, none_type), # noqa: E501 - 'channel_properties': ([ChannelProperty], none_type), # noqa: E501 - 'logo_url': (str, none_type), # noqa: E501 - 'amount_limits': ([ChannelAmountLimits], none_type), # noqa: E501 + 'type': (IdentityAccountType, none_type), # noqa: E501 + 'company': (str, none_type), # noqa: E501 + 'description': (str, none_type), # noqa: E501 + 'country': (CountryCode, none_type), # noqa: E501 + 'properties': (IdentityAccountRequestProperties, none_type), # noqa: E501 } @cached_property @@ -101,13 +106,11 @@ def discriminator(): attribute_map = { - 'channel_code': 'channel_code', # noqa: E501 'type': 'type', # noqa: E501 + 'company': 'company', # noqa: E501 + 'description': 'description', # noqa: E501 'country': 'country', # noqa: E501 - 'channel_name': 'channel_name', # noqa: E501 - 'channel_properties': 'channel_properties', # noqa: E501 - 'logo_url': 'logo_url', # noqa: E501 - 'amount_limits': 'amount_limits', # noqa: E501 + 'properties': 'properties', # noqa: E501 } read_only_vars = { @@ -118,7 +121,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """PaymentChannelAllOf - a model defined in OpenAPI + """IdentityAccountRequest - a model defined in OpenAPI Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -151,13 +154,11 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - channel_code (str): The specific Xendit code used to identify the partner channel. [optional] # noqa: E501 - type (str): The payment method type. [optional] # noqa: E501 - country (str): The country where the channel operates in ISO 3166-2 country code. [optional] # noqa: E501 - channel_name (str): Official parter name of the payment channel. [optional] # noqa: E501 - channel_properties ([ChannelProperty]): [optional] # noqa: E501 - logo_url (str): If available, this contains a URL to the logo of the partner channel. [optional] # noqa: E501 - amount_limits ([ChannelAmountLimits]): [optional] # noqa: E501 + type (IdentityAccountType): [optional] # noqa: E501 + company (str): The issuing institution associated with the account (e.g., OCBC, GOPAY, 7-11). If adding financial accounts that Xendit supports, we recommend you use the channel_name found at https://xendit.github.io/apireference/#payment-channels for this field. [optional] # noqa: E501 + description (str): Free text description of this account. [optional] # noqa: E501 + country (CountryCode): [optional] # noqa: E501 + properties (IdentityAccountRequestProperties): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -212,16 +213,14 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, - channel_code: str | None = None, - type: str | None = None, + type: IdentityAccountType | None = None, + company: str | None = None, + description: str | None = None, country: str | None = None, - channel_name: str | None = None, - channel_properties: list | None = None, - logo_url: str | None = None, - amount_limits: list | None = None, + properties: IdentityAccountRequestProperties | None = None, *args, **kwargs ): # noqa: E501 - """PaymentChannelAllOf - a model defined in OpenAPI + """IdentityAccountRequest - a model defined in OpenAPI Keyword Args: @@ -255,13 +254,11 @@ def __init__(self, Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - channel_code (str): The specific Xendit code used to identify the partner channel. [optional] # noqa: E501 - type (str): The payment method type. [optional] # noqa: E501 - country (str): The country where the channel operates in ISO 3166-2 country code. [optional] # noqa: E501 - channel_name (str): Official parter name of the payment channel. [optional] # noqa: E501 - channel_properties ([ChannelProperty]): [optional] # noqa: E501 - logo_url (str): If available, this contains a URL to the logo of the partner channel. [optional] # noqa: E501 - amount_limits ([ChannelAmountLimits]): [optional] # noqa: E501 + type (IdentityAccountType): [optional] # noqa: E501 + company (str): The issuing institution associated with the account (e.g., OCBC, GOPAY, 7-11). If adding financial accounts that Xendit supports, we recommend you use the channel_name found at https://xendit.github.io/apireference/#payment-channels for this field. [optional] # noqa: E501 + description (str): Free text description of this account. [optional] # noqa: E501 + country (CountryCode): [optional] # noqa: E501 + properties (IdentityAccountRequestProperties): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -293,20 +290,16 @@ def __init__(self, self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - if channel_code is not None: - self.channel_code = channel_code if type is not None: self.type = type + if company is not None: + self.company = company + if description is not None: + self.description = description if country is not None: self.country = country - if channel_name is not None: - self.channel_name = channel_name - if channel_properties is not None: - self.channel_properties = channel_properties - if logo_url is not None: - self.logo_url = logo_url - if amount_limits is not None: - self.amount_limits = amount_limits + if properties is not None: + self.properties = properties for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/xendit/payment_method/model/payment_channel.py b/xendit/customer/model/identity_account_request_properties.py similarity index 72% rename from xendit/payment_method/model/payment_channel.py rename to xendit/customer/model/identity_account_request_properties.py index 12ff9a78..f19a7fce 100644 --- a/xendit/payment_method/model/payment_channel.py +++ b/xendit/customer/model/identity_account_request_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.0.0 """ @@ -24,18 +24,23 @@ ) from xendit.exceptions import ApiAttributeError -from xendit.payment_method.model.channel_amount_limits import ChannelAmountLimits -from xendit.payment_method.model.channel_property import ChannelProperty -from xendit.payment_method.model.payment_channel_all_of import PaymentChannelAllOf -globals()['ChannelAmountLimits'] = ChannelAmountLimits -globals()['ChannelProperty'] = ChannelProperty -globals()['PaymentChannelAllOf'] = PaymentChannelAllOf - +from xendit.customer.model.account_bank import AccountBank +from xendit.customer.model.account_card import AccountCard +from xendit.customer.model.account_ewallet import AccountEwallet +from xendit.customer.model.account_otc import AccountOTC +from xendit.customer.model.account_pay_later import AccountPayLater +from xendit.customer.model.account_qr_code import AccountQRCode +globals()['AccountBank'] = AccountBank +globals()['AccountCard'] = AccountCard +globals()['AccountEwallet'] = AccountEwallet +globals()['AccountOTC'] = AccountOTC +globals()['AccountPayLater'] = AccountPayLater +globals()['AccountQRCode'] = AccountQRCode def lazy_import(): pass -class PaymentChannel(ModelComposed): +class IdentityAccountRequestProperties(ModelComposed): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -88,13 +93,17 @@ def openapi_types(): """ lazy_import() return { - 'channel_code': (str, none_type), # noqa: E501 - 'type': (str, none_type), # noqa: E501 - 'country': (str, none_type), # noqa: E501 - 'channel_name': (str, none_type), # noqa: E501 - 'channel_properties': ([ChannelProperty], none_type), # noqa: E501 - 'logo_url': (str, none_type), # noqa: E501 - 'amount_limits': ([ChannelAmountLimits], none_type), # noqa: E501 + 'account_number': (str, none_type), # noqa: E501 + 'account_holder_name': (str, none_type, none_type), # noqa: E501 + 'swift_code': (str, none_type, none_type), # noqa: E501 + 'account_type': (str, none_type, none_type), # noqa: E501 + 'account_details': (str, none_type, none_type), # noqa: E501 + 'currency': (bool, date, datetime, dict, float, int, list, str, none_type, none_type), # noqa: E501 + 'token_id': (str, none_type), # noqa: E501 + 'account_id': (str, none_type), # noqa: E501 + 'payment_code': (str, none_type), # noqa: E501 + 'expires_at': (str, none_type, none_type), # noqa: E501 + 'qr_string': (str, none_type), # noqa: E501 } @cached_property @@ -103,13 +112,17 @@ def discriminator(): attribute_map = { - 'channel_code': 'channel_code', # noqa: E501 - 'type': 'type', # noqa: E501 - 'country': 'country', # noqa: E501 - 'channel_name': 'channel_name', # noqa: E501 - 'channel_properties': 'channel_properties', # noqa: E501 - 'logo_url': 'logo_url', # noqa: E501 - 'amount_limits': 'amount_limits', # noqa: E501 + 'account_number': 'account_number', # noqa: E501 + 'account_holder_name': 'account_holder_name', # noqa: E501 + 'swift_code': 'swift_code', # noqa: E501 + 'account_type': 'account_type', # noqa: E501 + 'account_details': 'account_details', # noqa: E501 + 'currency': 'currency', # noqa: E501 + 'token_id': 'token_id', # noqa: E501 + 'account_id': 'account_id', # noqa: E501 + 'payment_code': 'payment_code', # noqa: E501 + 'expires_at': 'expires_at', # noqa: E501 + 'qr_string': 'qr_string', # noqa: E501 } read_only_vars = { @@ -118,7 +131,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """PaymentChannel - a model defined in OpenAPI + """IdentityAccountRequestProperties - a model defined in OpenAPI Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -151,13 +164,17 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - channel_code (str): The specific Xendit code used to identify the partner channel. [optional] # noqa: E501 - type (str): The payment method type. [optional] # noqa: E501 - country (str): The country where the channel operates in ISO 3166-2 country code. [optional] # noqa: E501 - channel_name (str): Official parter name of the payment channel. [optional] # noqa: E501 - channel_properties ([ChannelProperty]): [optional] # noqa: E501 - logo_url (str): If available, this contains a URL to the logo of the partner channel. [optional] # noqa: E501 - amount_limits ([ChannelAmountLimits]): [optional] # noqa: E501 + account_number (str): Unique account identifier as per the bank records.. [optional] # noqa: E501 + account_holder_name (str, none_type): Name of account holder as per the cardless credit account.. [optional] # noqa: E501 + swift_code (str, none_type): The SWIFT code for international payments. [optional] # noqa: E501 + account_type (str, none_type): Free text account type, e.g., Savings, Transaction, Virtual Account.. [optional] # noqa: E501 + account_details (str, none_type): Potentially masked account detail, for display purposes only.. [optional] # noqa: E501 + currency (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + token_id (str): The token id returned in tokenisation. [optional] # noqa: E501 + account_id (str): Alphanumeric string identifying this account. Usually an email address or phone number.. [optional] # noqa: E501 + payment_code (str): Complete fixed payment code (including prefix). [optional] # noqa: E501 + expires_at (str, none_type): YYYY-MM-DD string with expiry date for the payment code. [optional] # noqa: E501 + qr_string (str): String representation of the QR Code image. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -230,7 +247,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, *args, **kwargs): # noqa: E501 - """PaymentChannel - a model defined in OpenAPI + """IdentityAccountRequestProperties - a model defined in OpenAPI Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -263,13 +280,17 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - channel_code (str): The specific Xendit code used to identify the partner channel. [optional] # noqa: E501 - type (str): The payment method type. [optional] # noqa: E501 - country (str): The country where the channel operates in ISO 3166-2 country code. [optional] # noqa: E501 - channel_name (str): Official parter name of the payment channel. [optional] # noqa: E501 - channel_properties ([ChannelProperty]): [optional] # noqa: E501 - logo_url (str): If available, this contains a URL to the logo of the partner channel. [optional] # noqa: E501 - amount_limits ([ChannelAmountLimits]): [optional] # noqa: E501 + account_number (str): Unique account identifier as per the bank records.. [optional] # noqa: E501 + account_holder_name (str, none_type): Name of account holder as per the cardless credit account.. [optional] # noqa: E501 + swift_code (str, none_type): The SWIFT code for international payments. [optional] # noqa: E501 + account_type (str, none_type): Free text account type, e.g., Savings, Transaction, Virtual Account.. [optional] # noqa: E501 + account_details (str, none_type): Potentially masked account detail, for display purposes only.. [optional] # noqa: E501 + currency (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + token_id (str): The token id returned in tokenisation. [optional] # noqa: E501 + account_id (str): Alphanumeric string identifying this account. Usually an email address or phone number.. [optional] # noqa: E501 + payment_code (str): Complete fixed payment code (including prefix). [optional] # noqa: E501 + expires_at (str, none_type): YYYY-MM-DD string with expiry date for the payment code. [optional] # noqa: E501 + qr_string (str): String representation of the QR Code image. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -339,9 +360,14 @@ def _composed_schemas(): lazy_import() return { 'anyOf': [ + AccountBank, + AccountCard, + AccountEwallet, + AccountOTC, + AccountPayLater, + AccountQRCode, ], 'allOf': [ - PaymentChannelAllOf, ], 'oneOf': [ ], diff --git a/xendit/customer/model/identity_account_response.py b/xendit/customer/model/identity_account_response.py new file mode 100644 index 00000000..37add569 --- /dev/null +++ b/xendit/customer/model/identity_account_response.py @@ -0,0 +1,346 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + +from xendit.customer.model.country_code import CountryCode +from xendit.customer.model.identity_account_response_properties import IdentityAccountResponseProperties +globals()['CountryCode'] = CountryCode +globals()['IdentityAccountResponseProperties'] = IdentityAccountResponseProperties + +def lazy_import(): + pass + +class IdentityAccountResponse(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('type',): { + 'None': None, + 'BANK_ACCOUNT': "BANK_ACCOUNT", + 'EWALLET': "EWALLET", + 'CREDIT_CARD': "CREDIT_CARD", + 'OTC': "OTC", + 'QR_CODE': "QR_CODE", + 'CARDLESS_CREDIT': "CARDLESS_CREDIT", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'company': (str, none_type,), # noqa: E501 + 'description': (str, none_type,), # noqa: E501 + 'country': (CountryCode,), # noqa: E501 + 'type': (str, none_type,), # noqa: E501 + 'properties': (IdentityAccountResponseProperties,), # noqa: E501 + 'id': (str, none_type), # noqa: E501 + 'code': (str, none_type, none_type), # noqa: E501 + 'holder_name': (str, none_type, none_type), # noqa: E501 + 'created': (datetime, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'company': 'company', # noqa: E501 + 'description': 'description', # noqa: E501 + 'country': 'country', # noqa: E501 + 'type': 'type', # noqa: E501 + 'properties': 'properties', # noqa: E501 + 'id': 'id', # noqa: E501 + 'code': 'code', # noqa: E501 + 'holder_name': 'holder_name', # noqa: E501 + 'created': 'created', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, company, description, country, type, properties, *args, **kwargs): # noqa: E501 + """IdentityAccountResponse - a model defined in OpenAPI + + Args: + company (str, none_type): + description (str, none_type): + country (CountryCode): + type (str, none_type): + properties (IdentityAccountResponseProperties): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + id (str): [optional] # noqa: E501 + code (str, none_type): [optional] # noqa: E501 + holder_name (str, none_type): [optional] # noqa: E501 + created (datetime): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.company = company + self.description = description + self.country = country + self.type = type + self.properties = properties + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + company: str | None, + description: str | None, + country: str | None, + type: str | None, + properties: IdentityAccountResponseProperties, + id: str | None = None, + code: str | None = None, + holder_name: str | None = None, + created: datetime | None = None, + *args, **kwargs + ): # noqa: E501 + """IdentityAccountResponse - a model defined in OpenAPI + + Args: + company (str, none_type): + description (str, none_type): + country (CountryCode): + type (str, none_type): + properties (IdentityAccountResponseProperties): + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + id (str): [optional] # noqa: E501 + code (str, none_type): [optional] # noqa: E501 + holder_name (str, none_type): [optional] # noqa: E501 + created (datetime): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.company = company + self.description = description + self.country = country + self.type = type + self.properties = properties + if id is not None: + self.id = id + if code is not None: + self.code = code + if holder_name is not None: + self.holder_name = holder_name + if created is not None: + self.created = created + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/identity_account_response_properties.py b/xendit/customer/model/identity_account_response_properties.py new file mode 100644 index 00000000..768cb8ba --- /dev/null +++ b/xendit/customer/model/identity_account_response_properties.py @@ -0,0 +1,374 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + +from xendit.customer.model.account_bank import AccountBank +from xendit.customer.model.account_card import AccountCard +from xendit.customer.model.account_ewallet import AccountEwallet +from xendit.customer.model.account_otc import AccountOTC +from xendit.customer.model.account_pay_later import AccountPayLater +from xendit.customer.model.account_qr_code import AccountQRCode +globals()['AccountBank'] = AccountBank +globals()['AccountCard'] = AccountCard +globals()['AccountEwallet'] = AccountEwallet +globals()['AccountOTC'] = AccountOTC +globals()['AccountPayLater'] = AccountPayLater +globals()['AccountQRCode'] = AccountQRCode + +def lazy_import(): + pass + +class IdentityAccountResponseProperties(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'account_number': (str, none_type), # noqa: E501 + 'account_holder_name': (str, none_type, none_type), # noqa: E501 + 'swift_code': (str, none_type, none_type), # noqa: E501 + 'account_type': (str, none_type, none_type), # noqa: E501 + 'account_details': (str, none_type, none_type), # noqa: E501 + 'currency': (bool, date, datetime, dict, float, int, list, str, none_type, none_type), # noqa: E501 + 'token_id': (str, none_type), # noqa: E501 + 'payment_code': (str, none_type), # noqa: E501 + 'expires_at': (str, none_type, none_type), # noqa: E501 + 'qr_string': (str, none_type), # noqa: E501 + 'account_id': (str, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'account_number': 'account_number', # noqa: E501 + 'account_holder_name': 'account_holder_name', # noqa: E501 + 'swift_code': 'swift_code', # noqa: E501 + 'account_type': 'account_type', # noqa: E501 + 'account_details': 'account_details', # noqa: E501 + 'currency': 'currency', # noqa: E501 + 'token_id': 'token_id', # noqa: E501 + 'payment_code': 'payment_code', # noqa: E501 + 'expires_at': 'expires_at', # noqa: E501 + 'qr_string': 'qr_string', # noqa: E501 + 'account_id': 'account_id', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """IdentityAccountResponseProperties - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + account_number (str): Unique account identifier as per the bank records.. [optional] # noqa: E501 + account_holder_name (str, none_type): Name of account holder as per the cardless credit account.. [optional] # noqa: E501 + swift_code (str, none_type): The SWIFT code for international payments. [optional] # noqa: E501 + account_type (str, none_type): Free text account type, e.g., Savings, Transaction, Virtual Account.. [optional] # noqa: E501 + account_details (str, none_type): Potentially masked account detail, for display purposes only.. [optional] # noqa: E501 + currency (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + token_id (str): The token id returned in tokenisation. [optional] # noqa: E501 + payment_code (str): Complete fixed payment code (including prefix). [optional] # noqa: E501 + expires_at (str, none_type): YYYY-MM-DD string with expiry date for the payment code. [optional] # noqa: E501 + qr_string (str): String representation of the QR Code image. [optional] # noqa: E501 + account_id (str): Alphanumeric string identifying this account. Usually an email address or phone number.. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """IdentityAccountResponseProperties - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + account_number (str): Unique account identifier as per the bank records.. [optional] # noqa: E501 + account_holder_name (str, none_type): Name of account holder as per the cardless credit account.. [optional] # noqa: E501 + swift_code (str, none_type): The SWIFT code for international payments. [optional] # noqa: E501 + account_type (str, none_type): Free text account type, e.g., Savings, Transaction, Virtual Account.. [optional] # noqa: E501 + account_details (str, none_type): Potentially masked account detail, for display purposes only.. [optional] # noqa: E501 + currency (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + token_id (str): The token id returned in tokenisation. [optional] # noqa: E501 + payment_code (str): Complete fixed payment code (including prefix). [optional] # noqa: E501 + expires_at (str, none_type): YYYY-MM-DD string with expiry date for the payment code. [optional] # noqa: E501 + qr_string (str): String representation of the QR Code image. [optional] # noqa: E501 + account_id (str): Alphanumeric string identifying this account. Usually an email address or phone number.. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + AccountBank, + AccountCard, + AccountEwallet, + AccountOTC, + AccountPayLater, + AccountQRCode, + ], + 'allOf': [ + ], + 'oneOf': [ + ], + } diff --git a/xendit/customer/model/identity_account_type.py b/xendit/customer/model/identity_account_type.py new file mode 100644 index 00000000..0eb2e112 --- /dev/null +++ b/xendit/customer/model/identity_account_type.py @@ -0,0 +1,296 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class IdentityAccountType(ModelSimple): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('value',): { + 'BANK_ACCOUNT': "BANK_ACCOUNT", + 'EWALLET': "EWALLET", + 'CREDIT_CARD': "CREDIT_CARD", + 'PAY_LATER': "PAY_LATER", + 'OTC': "OTC", + 'QR_CODE': "QR_CODE", + }, + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'value': (str,), + } + + @cached_property + def discriminator(): + return None + + + attribute_map = {} + + read_only_vars = set() + + _composed_schemas = None + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): + """IdentityAccountType - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["BANK_ACCOUNT", "EWALLET", "CREDIT_CARD", "PAY_LATER", "OTC", "QR_CODE", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["BANK_ACCOUNT", "EWALLET", "CREDIT_CARD", "PAY_LATER", "OTC", "QR_CODE", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): + """IdentityAccountType - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["BANK_ACCOUNT", "EWALLET", "CREDIT_CARD", "PAY_LATER", "OTC", "QR_CODE", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["BANK_ACCOUNT", "EWALLET", "CREDIT_CARD", "PAY_LATER", "OTC", "QR_CODE", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + return self diff --git a/xendit/customer/model/individual_detail.py b/xendit/customer/model/individual_detail.py new file mode 100644 index 00000000..b813ed0f --- /dev/null +++ b/xendit/customer/model/individual_detail.py @@ -0,0 +1,377 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + +from xendit.customer.model.country_code import CountryCode +from xendit.customer.model.employment_detail import EmploymentDetail +globals()['CountryCode'] = CountryCode +globals()['EmploymentDetail'] = EmploymentDetail + +def lazy_import(): + pass + +class IndividualDetail(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('gender',): { + 'None': None, + 'MALE': "MALE", + 'FEMALE': "FEMALE", + 'OTHER': "OTHER", + }, + } + + validations = { + ('given_names',): { + 'max_length': 255, + }, + ('given_names_non_roman',): { + 'max_length': 255, + }, + ('middle_name',): { + 'max_length': 255, + }, + ('surname',): { + 'max_length': 255, + }, + ('surname_non_roman',): { + 'max_length': 255, + }, + ('mother_maiden_name',): { + 'max_length': 255, + }, + ('date_of_birth',): { + 'max_length': 30, + }, + ('place_of_birth',): { + 'max_length': 255, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = True + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'given_names': (str, none_type), # noqa: E501 + 'given_names_non_roman': (str, none_type, none_type), # noqa: E501 + 'middle_name': (str, none_type, none_type), # noqa: E501 + 'surname': (str, none_type, none_type), # noqa: E501 + 'surname_non_roman': (str, none_type, none_type), # noqa: E501 + 'mother_maiden_name': (str, none_type, none_type), # noqa: E501 + 'gender': (str, none_type, none_type), # noqa: E501 + 'date_of_birth': (str, none_type, none_type), # noqa: E501 + 'nationality': (CountryCode, none_type), # noqa: E501 + 'place_of_birth': (str, none_type, none_type), # noqa: E501 + 'employment': (EmploymentDetail, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'given_names': 'given_names', # noqa: E501 + 'given_names_non_roman': 'given_names_non_roman', # noqa: E501 + 'middle_name': 'middle_name', # noqa: E501 + 'surname': 'surname', # noqa: E501 + 'surname_non_roman': 'surname_non_roman', # noqa: E501 + 'mother_maiden_name': 'mother_maiden_name', # noqa: E501 + 'gender': 'gender', # noqa: E501 + 'date_of_birth': 'date_of_birth', # noqa: E501 + 'nationality': 'nationality', # noqa: E501 + 'place_of_birth': 'place_of_birth', # noqa: E501 + 'employment': 'employment', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """IndividualDetail - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + given_names (str): [optional] # noqa: E501 + given_names_non_roman (str, none_type): [optional] # noqa: E501 + middle_name (str, none_type): [optional] # noqa: E501 + surname (str, none_type): [optional] # noqa: E501 + surname_non_roman (str, none_type): [optional] # noqa: E501 + mother_maiden_name (str, none_type): [optional] # noqa: E501 + gender (str, none_type): [optional] # noqa: E501 + date_of_birth (str, none_type): [optional] # noqa: E501 + nationality (CountryCode): [optional] # noqa: E501 + place_of_birth (str, none_type): [optional] # noqa: E501 + employment (EmploymentDetail): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + given_names: str | None = None, + given_names_non_roman: str | None = None, + middle_name: str | None = None, + surname: str | None = None, + surname_non_roman: str | None = None, + mother_maiden_name: str | None = None, + gender: str | None = None, + date_of_birth: str | None = None, + nationality: str | None = None, + place_of_birth: str | None = None, + employment: EmploymentDetail | None = None, + *args, **kwargs + ): # noqa: E501 + """IndividualDetail - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + given_names (str): [optional] # noqa: E501 + given_names_non_roman (str, none_type): [optional] # noqa: E501 + middle_name (str, none_type): [optional] # noqa: E501 + surname (str, none_type): [optional] # noqa: E501 + surname_non_roman (str, none_type): [optional] # noqa: E501 + mother_maiden_name (str, none_type): [optional] # noqa: E501 + gender (str, none_type): [optional] # noqa: E501 + date_of_birth (str, none_type): [optional] # noqa: E501 + nationality (CountryCode): [optional] # noqa: E501 + place_of_birth (str, none_type): [optional] # noqa: E501 + employment (EmploymentDetail): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if given_names is not None: + self.given_names = given_names + if given_names_non_roman is not None: + self.given_names_non_roman = given_names_non_roman + if middle_name is not None: + self.middle_name = middle_name + if surname is not None: + self.surname = surname + if surname_non_roman is not None: + self.surname_non_roman = surname_non_roman + if mother_maiden_name is not None: + self.mother_maiden_name = mother_maiden_name + if gender is not None: + self.gender = gender + if date_of_birth is not None: + self.date_of_birth = date_of_birth + if nationality is not None: + self.nationality = nationality + if place_of_birth is not None: + self.place_of_birth = place_of_birth + if employment is not None: + self.employment = employment + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/kyc_document_request.py b/xendit/customer/model/kyc_document_request.py new file mode 100644 index 00000000..e75c18b5 --- /dev/null +++ b/xendit/customer/model/kyc_document_request.py @@ -0,0 +1,328 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + +from xendit.customer.model.country_code import CountryCode +from xendit.customer.model.kyc_document_sub_type import KYCDocumentSubType +from xendit.customer.model.kyc_document_type import KYCDocumentType +globals()['CountryCode'] = CountryCode +globals()['KYCDocumentSubType'] = KYCDocumentSubType +globals()['KYCDocumentType'] = KYCDocumentType + +def lazy_import(): + pass + +class KYCDocumentRequest(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'country': (CountryCode, none_type), # noqa: E501 + 'type': (KYCDocumentType, none_type), # noqa: E501 + 'sub_type': (KYCDocumentSubType, none_type), # noqa: E501 + 'document_name': (str, none_type), # noqa: E501 + 'document_number': (str, none_type), # noqa: E501 + 'expires_at': (str, none_type), # noqa: E501 + 'holder_name': (str, none_type), # noqa: E501 + 'document_images': ([str], none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'country': 'country', # noqa: E501 + 'type': 'type', # noqa: E501 + 'sub_type': 'sub_type', # noqa: E501 + 'document_name': 'document_name', # noqa: E501 + 'document_number': 'document_number', # noqa: E501 + 'expires_at': 'expires_at', # noqa: E501 + 'holder_name': 'holder_name', # noqa: E501 + 'document_images': 'document_images', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """KYCDocumentRequest - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + country (CountryCode): [optional] # noqa: E501 + type (KYCDocumentType): [optional] # noqa: E501 + sub_type (KYCDocumentSubType): [optional] # noqa: E501 + document_name (str): [optional] # noqa: E501 + document_number (str): [optional] # noqa: E501 + expires_at (str): [optional] # noqa: E501 + holder_name (str): [optional] # noqa: E501 + document_images ([str]): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + country: str | None = None, + type: KYCDocumentType | None = None, + sub_type: KYCDocumentSubType | None = None, + document_name: str | None = None, + document_number: str | None = None, + expires_at: str | None = None, + holder_name: str | None = None, + document_images: list | None = None, + *args, **kwargs + ): # noqa: E501 + """KYCDocumentRequest - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + country (CountryCode): [optional] # noqa: E501 + type (KYCDocumentType): [optional] # noqa: E501 + sub_type (KYCDocumentSubType): [optional] # noqa: E501 + document_name (str): [optional] # noqa: E501 + document_number (str): [optional] # noqa: E501 + expires_at (str): [optional] # noqa: E501 + holder_name (str): [optional] # noqa: E501 + document_images ([str]): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if country is not None: + self.country = country + if type is not None: + self.type = type + if sub_type is not None: + self.sub_type = sub_type + if document_name is not None: + self.document_name = document_name + if document_number is not None: + self.document_number = document_number + if expires_at is not None: + self.expires_at = expires_at + if holder_name is not None: + self.holder_name = holder_name + if document_images is not None: + self.document_images = document_images + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/kyc_document_response.py b/xendit/customer/model/kyc_document_response.py new file mode 100644 index 00000000..49c72f19 --- /dev/null +++ b/xendit/customer/model/kyc_document_response.py @@ -0,0 +1,324 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class KYCDocumentResponse(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'country': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 + 'type': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 + 'sub_type': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 + 'document_name': (str, none_type,), # noqa: E501 + 'document_number': (str, none_type,), # noqa: E501 + 'expires_at': (str, none_type,), # noqa: E501 + 'holder_name': (str, none_type,), # noqa: E501 + 'document_images': ([str], none_type,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'country': 'country', # noqa: E501 + 'type': 'type', # noqa: E501 + 'sub_type': 'sub_type', # noqa: E501 + 'document_name': 'document_name', # noqa: E501 + 'document_number': 'document_number', # noqa: E501 + 'expires_at': 'expires_at', # noqa: E501 + 'holder_name': 'holder_name', # noqa: E501 + 'document_images': 'document_images', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, country, type, sub_type, document_name, document_number, expires_at, holder_name, document_images, *args, **kwargs): # noqa: E501 + """KYCDocumentResponse - a model defined in OpenAPI + + Args: + country (bool, date, datetime, dict, float, int, list, str, none_type): + type (bool, date, datetime, dict, float, int, list, str, none_type): + sub_type (bool, date, datetime, dict, float, int, list, str, none_type): + document_name (str, none_type): + document_number (str, none_type): + expires_at (str, none_type): + holder_name (str, none_type): + document_images ([str], none_type): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.country = country + self.type = type + self.sub_type = sub_type + self.document_name = document_name + self.document_number = document_number + self.expires_at = expires_at + self.holder_name = holder_name + self.document_images = document_images + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + country: object, + type: object, + sub_type: object, + document_name: str | None, + document_number: str | None, + expires_at: str | None, + holder_name: str | None, + document_images: list | None, + *args, **kwargs + ): # noqa: E501 + """KYCDocumentResponse - a model defined in OpenAPI + + Args: + country (bool, date, datetime, dict, float, int, list, str, none_type): + type (bool, date, datetime, dict, float, int, list, str, none_type): + sub_type (bool, date, datetime, dict, float, int, list, str, none_type): + document_name (str, none_type): + document_number (str, none_type): + expires_at (str, none_type): + holder_name (str, none_type): + document_images ([str], none_type): + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.country = country + self.type = type + self.sub_type = sub_type + self.document_name = document_name + self.document_number = document_number + self.expires_at = expires_at + self.holder_name = holder_name + self.document_images = document_images + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/kyc_document_sub_type.py b/xendit/customer/model/kyc_document_sub_type.py new file mode 100644 index 00000000..2d3c655a --- /dev/null +++ b/xendit/customer/model/kyc_document_sub_type.py @@ -0,0 +1,301 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class KYCDocumentSubType(ModelSimple): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('value',): { + 'None': None, + 'NATIONAL_ID': "NATIONAL_ID", + 'CONSULAR_ID': "CONSULAR_ID", + 'VOTER_ID': "VOTER_ID", + 'POSTAL_ID': "POSTAL_ID", + 'RESIDENCE_PERMIT': "RESIDENCE_PERMIT", + 'TAX_ID': "TAX_ID", + 'STUDENT_ID': "STUDENT_ID", + 'MILITARY_ID': "MILITARY_ID", + 'MEDICAL_ID': "MEDICAL_ID", + 'OTHERS': "OTHERS", + }, + } + + validations = { + } + + additional_properties_type = None + + _nullable = True + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'value': (str,), + } + + @cached_property + def discriminator(): + return None + + + attribute_map = {} + + read_only_vars = set() + + _composed_schemas = None + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): + """KYCDocumentSubType - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["NATIONAL_ID", "CONSULAR_ID", "VOTER_ID", "POSTAL_ID", "RESIDENCE_PERMIT", "TAX_ID", "STUDENT_ID", "MILITARY_ID", "MEDICAL_ID", "OTHERS", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["NATIONAL_ID", "CONSULAR_ID", "VOTER_ID", "POSTAL_ID", "RESIDENCE_PERMIT", "TAX_ID", "STUDENT_ID", "MILITARY_ID", "MEDICAL_ID", "OTHERS", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): + """KYCDocumentSubType - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["NATIONAL_ID", "CONSULAR_ID", "VOTER_ID", "POSTAL_ID", "RESIDENCE_PERMIT", "TAX_ID", "STUDENT_ID", "MILITARY_ID", "MEDICAL_ID", "OTHERS", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["NATIONAL_ID", "CONSULAR_ID", "VOTER_ID", "POSTAL_ID", "RESIDENCE_PERMIT", "TAX_ID", "STUDENT_ID", "MILITARY_ID", "MEDICAL_ID", "OTHERS", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + return self diff --git a/xendit/customer/model/kyc_document_type.py b/xendit/customer/model/kyc_document_type.py new file mode 100644 index 00000000..8d07b7dd --- /dev/null +++ b/xendit/customer/model/kyc_document_type.py @@ -0,0 +1,298 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class KYCDocumentType(ModelSimple): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('value',): { + 'BIRTH_CERTIFICATE': "BIRTH_CERTIFICATE", + 'BANK_STATEMENT': "BANK_STATEMENT", + 'DRIVING_LICENSE': "DRIVING_LICENSE", + 'IDENTITY_CARD': "IDENTITY_CARD", + 'PASSPORT': "PASSPORT", + 'VISA': "VISA", + 'BUSINESS_REGISTRATION': "BUSINESS_REGISTRATION", + 'BUSINESS_LICENSE': "BUSINESS_LICENSE", + }, + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'value': (str,), + } + + @cached_property + def discriminator(): + return None + + + attribute_map = {} + + read_only_vars = set() + + _composed_schemas = None + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): + """KYCDocumentType - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["BIRTH_CERTIFICATE", "BANK_STATEMENT", "DRIVING_LICENSE", "IDENTITY_CARD", "PASSPORT", "VISA", "BUSINESS_REGISTRATION", "BUSINESS_LICENSE", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["BIRTH_CERTIFICATE", "BANK_STATEMENT", "DRIVING_LICENSE", "IDENTITY_CARD", "PASSPORT", "VISA", "BUSINESS_REGISTRATION", "BUSINESS_LICENSE", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): + """KYCDocumentType - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["BIRTH_CERTIFICATE", "BANK_STATEMENT", "DRIVING_LICENSE", "IDENTITY_CARD", "PASSPORT", "VISA", "BUSINESS_REGISTRATION", "BUSINESS_LICENSE", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["BIRTH_CERTIFICATE", "BANK_STATEMENT", "DRIVING_LICENSE", "IDENTITY_CARD", "PASSPORT", "VISA", "BUSINESS_REGISTRATION", "BUSINESS_LICENSE", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + return self diff --git a/xendit/customer/model/patch_customer.py b/xendit/customer/model/patch_customer.py new file mode 100644 index 00000000..cd8031ec --- /dev/null +++ b/xendit/customer/model/patch_customer.py @@ -0,0 +1,375 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + +from xendit.customer.model.address_request import AddressRequest +from xendit.customer.model.business_detail import BusinessDetail +from xendit.customer.model.end_customer_status import EndCustomerStatus +from xendit.customer.model.identity_account_request import IdentityAccountRequest +from xendit.customer.model.individual_detail import IndividualDetail +from xendit.customer.model.kyc_document_request import KYCDocumentRequest +globals()['AddressRequest'] = AddressRequest +globals()['BusinessDetail'] = BusinessDetail +globals()['EndCustomerStatus'] = EndCustomerStatus +globals()['IdentityAccountRequest'] = IdentityAccountRequest +globals()['IndividualDetail'] = IndividualDetail +globals()['KYCDocumentRequest'] = KYCDocumentRequest + +def lazy_import(): + pass + +class PatchCustomer(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('reference_id',): { + 'max_length': 255, + }, + ('description',): { + 'max_length': 1000, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'client_name': (str, none_type, none_type), # noqa: E501 + 'reference_id': (str, none_type, none_type), # noqa: E501 + 'individual_detail': (IndividualDetail, none_type), # noqa: E501 + 'business_detail': (BusinessDetail, none_type), # noqa: E501 + 'description': (str, none_type, none_type), # noqa: E501 + 'email': (str, none_type, none_type), # noqa: E501 + 'mobile_number': (str, none_type, none_type), # noqa: E501 + 'phone_number': (str, none_type, none_type), # noqa: E501 + 'metadata': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type, none_type), # noqa: E501 + 'addresses': ([AddressRequest], none_type, none_type), # noqa: E501 + 'identity_accounts': ([IdentityAccountRequest], none_type, none_type), # noqa: E501 + 'kyc_documents': ([KYCDocumentRequest], none_type, none_type), # noqa: E501 + 'status': (EndCustomerStatus, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'client_name': 'client_name', # noqa: E501 + 'reference_id': 'reference_id', # noqa: E501 + 'individual_detail': 'individual_detail', # noqa: E501 + 'business_detail': 'business_detail', # noqa: E501 + 'description': 'description', # noqa: E501 + 'email': 'email', # noqa: E501 + 'mobile_number': 'mobile_number', # noqa: E501 + 'phone_number': 'phone_number', # noqa: E501 + 'metadata': 'metadata', # noqa: E501 + 'addresses': 'addresses', # noqa: E501 + 'identity_accounts': 'identity_accounts', # noqa: E501 + 'kyc_documents': 'kyc_documents', # noqa: E501 + 'status': 'status', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """PatchCustomer - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + client_name (str, none_type): Entity's name for this client. [optional] # noqa: E501 + reference_id (str, none_type): Merchant's reference of this end customer, eg Merchant's user's id. Must be unique.. [optional] # noqa: E501 + individual_detail (IndividualDetail): [optional] # noqa: E501 + business_detail (BusinessDetail): [optional] # noqa: E501 + description (str, none_type): [optional] # noqa: E501 + email (str, none_type): [optional] # noqa: E501 + mobile_number (str, none_type): [optional] # noqa: E501 + phone_number (str, none_type): [optional] # noqa: E501 + metadata ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type): [optional] # noqa: E501 + addresses ([AddressRequest], none_type): [optional] # noqa: E501 + identity_accounts ([IdentityAccountRequest], none_type): [optional] # noqa: E501 + kyc_documents ([KYCDocumentRequest], none_type): [optional] # noqa: E501 + status (EndCustomerStatus): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + client_name: str | None = None, + reference_id: str | None = None, + individual_detail: IndividualDetail | None = None, + business_detail: BusinessDetail | None = None, + description: str | None = None, + email: str | None = None, + mobile_number: str | None = None, + phone_number: str | None = None, + metadata: dict | None = None, + addresses: list | None = None, + identity_accounts: list | None = None, + kyc_documents: list | None = None, + status: EndCustomerStatus | None = None, + *args, **kwargs + ): # noqa: E501 + """PatchCustomer - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + client_name (str, none_type): Entity's name for this client. [optional] # noqa: E501 + reference_id (str, none_type): Merchant's reference of this end customer, eg Merchant's user's id. Must be unique.. [optional] # noqa: E501 + individual_detail (IndividualDetail): [optional] # noqa: E501 + business_detail (BusinessDetail): [optional] # noqa: E501 + description (str, none_type): [optional] # noqa: E501 + email (str, none_type): [optional] # noqa: E501 + mobile_number (str, none_type): [optional] # noqa: E501 + phone_number (str, none_type): [optional] # noqa: E501 + metadata ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type): [optional] # noqa: E501 + addresses ([AddressRequest], none_type): [optional] # noqa: E501 + identity_accounts ([IdentityAccountRequest], none_type): [optional] # noqa: E501 + kyc_documents ([KYCDocumentRequest], none_type): [optional] # noqa: E501 + status (EndCustomerStatus): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if client_name is not None: + self.client_name = client_name + if reference_id is not None: + self.reference_id = reference_id + if individual_detail is not None: + self.individual_detail = individual_detail + if business_detail is not None: + self.business_detail = business_detail + if description is not None: + self.description = description + if email is not None: + self.email = email + if mobile_number is not None: + self.mobile_number = mobile_number + if phone_number is not None: + self.phone_number = phone_number + if metadata is not None: + self.metadata = metadata + if addresses is not None: + self.addresses = addresses + if identity_accounts is not None: + self.identity_accounts = identity_accounts + if kyc_documents is not None: + self.kyc_documents = kyc_documents + if status is not None: + self.status = status + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/customer/model/response_data_not_found.py b/xendit/customer/model/response_data_not_found.py new file mode 100644 index 00000000..241da43f --- /dev/null +++ b/xendit/customer/model/response_data_not_found.py @@ -0,0 +1,283 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class ResponseDataNotFound(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('error_code',): { + 'DATA_NOT_FOUND': "DATA_NOT_FOUND", + 'ENTITY_NOT_FOUND_ERROR': "ENTITY_NOT_FOUND_ERROR", + 'CLIENT_NOT_FOUND_ERROR': "CLIENT_NOT_FOUND_ERROR", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'error_code': (str, none_type), # noqa: E501 + 'message': (bool, date, datetime, dict, float, int, list, str, none_type, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'error_code': 'error_code', # noqa: E501 + 'message': 'message', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ResponseDataNotFound - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + error_code (str): [optional] # noqa: E501 + message (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + error_code: str | None = None, + message: object | None = None, + *args, **kwargs + ): # noqa: E501 + """ResponseDataNotFound - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + error_code (str): [optional] # noqa: E501 + message (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if error_code is not None: + self.error_code = error_code + if message is not None: + self.message = message + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/payment_method/model/payment_channel_list_links_inner.py b/xendit/customer/model/update_customer400_response.py similarity index 88% rename from xendit/payment_method/model/payment_channel_list_links_inner.py rename to xendit/customer/model/update_customer400_response.py index e3454d2d..94390d48 100644 --- a/xendit/payment_method/model/payment_channel_list_links_inner.py +++ b/xendit/customer/model/update_customer400_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.0.0 """ @@ -24,14 +24,15 @@ ) from xendit.exceptions import ApiAttributeError -from xendit.payment_method.model.payment_channel_list_links_inner_all_of import PaymentChannelListLinksInnerAllOf -globals()['PaymentChannelListLinksInnerAllOf'] = PaymentChannelListLinksInnerAllOf - +from xendit.customer.model.error import Error +from xendit.customer.model.update_customer400_response_all_of import UpdateCustomer400ResponseAllOf +globals()['Error'] = Error +globals()['UpdateCustomer400ResponseAllOf'] = UpdateCustomer400ResponseAllOf def lazy_import(): pass -class PaymentChannelListLinksInner(ModelComposed): +class UpdateCustomer400Response(ModelComposed): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -56,11 +57,12 @@ class PaymentChannelListLinksInner(ModelComposed): """ allowed_values = { - ('rel',): { - 'FIRST': "first", - 'LAST': "last", - 'NEXT': "next", - 'PREV': "prev", + ('error_code',): { + 'ENTITY_NOT_FOUND_ERROR': "ENTITY_NOT_FOUND_ERROR", + 'CLIENT_NOT_FOUND_ERROR': "CLIENT_NOT_FOUND_ERROR", + 'END_CUSTOMER_NOT_FOUND_ERROR': "END_CUSTOMER_NOT_FOUND_ERROR", + 'DUPLICATE_END_CUSTOMER_ERROR': "DUPLICATE_END_CUSTOMER_ERROR", + 'API_VALIDATION_ERROR': "API_VALIDATION_ERROR", }, } @@ -90,9 +92,9 @@ def openapi_types(): """ lazy_import() return { - 'href': (str, none_type), # noqa: E501 - 'rel': (str, none_type), # noqa: E501 - 'method': (str, none_type), # noqa: E501 + 'error_code': (str,), # noqa: E501 + 'message': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 + 'errors': ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}], none_type), # noqa: E501 } @cached_property @@ -101,9 +103,9 @@ def discriminator(): attribute_map = { - 'href': 'href', # noqa: E501 - 'rel': 'rel', # noqa: E501 - 'method': 'method', # noqa: E501 + 'error_code': 'error_code', # noqa: E501 + 'message': 'message', # noqa: E501 + 'errors': 'errors', # noqa: E501 } read_only_vars = { @@ -112,9 +114,11 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 - """PaymentChannelListLinksInner - a model defined in OpenAPI + """UpdateCustomer400Response - a model defined in OpenAPI Keyword Args: + error_code (str): + message (bool, date, datetime, dict, float, int, list, str, none_type): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -145,9 +149,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - href (str): Target URI that should contain a target to Internationalized Resource Identifiers (IRI). [optional] # noqa: E501 - rel (str): The link relation type described how the current context (source) is related to target resource. [optional] # noqa: E501 - method (str): The HTTP method to be used to call `href`. [optional] # noqa: E501 + errors ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -220,9 +222,11 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, *args, **kwargs): # noqa: E501 - """PaymentChannelListLinksInner - a model defined in OpenAPI + """UpdateCustomer400Response - a model defined in OpenAPI Keyword Args: + error_code (str): + message (bool, date, datetime, dict, float, int, list, str, none_type): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -253,9 +257,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) - href (str): Target URI that should contain a target to Internationalized Resource Identifiers (IRI). [optional] # noqa: E501 - rel (str): The link relation type described how the current context (source) is related to target resource. [optional] # noqa: E501 - method (str): The HTTP method to be used to call `href`. [optional] # noqa: E501 + errors ([{str: (bool, date, datetime, dict, float, int, list, str, none_type)}]): [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -327,7 +329,8 @@ def _composed_schemas(): 'anyOf': [ ], 'allOf': [ - PaymentChannelListLinksInnerAllOf, + Error, + UpdateCustomer400ResponseAllOf, ], 'oneOf': [ ], diff --git a/xendit/customer/model/update_customer400_response_all_of.py b/xendit/customer/model/update_customer400_response_all_of.py new file mode 100644 index 00000000..8ef41559 --- /dev/null +++ b/xendit/customer/model/update_customer400_response_all_of.py @@ -0,0 +1,285 @@ +""" + The version of the XENDIT API: 1.0.0 +""" + + +import re # noqa: F401 +import sys # noqa: F401 +from typing import List # noqa: F401 + +from xendit.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from xendit.exceptions import ApiAttributeError + + +def lazy_import(): + pass + +class UpdateCustomer400ResponseAllOf(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('error_code',): { + 'ENTITY_NOT_FOUND_ERROR': "ENTITY_NOT_FOUND_ERROR", + 'CLIENT_NOT_FOUND_ERROR': "CLIENT_NOT_FOUND_ERROR", + 'END_CUSTOMER_NOT_FOUND_ERROR': "END_CUSTOMER_NOT_FOUND_ERROR", + 'DUPLICATE_END_CUSTOMER_ERROR': "DUPLICATE_END_CUSTOMER_ERROR", + 'API_VALIDATION_ERROR': "API_VALIDATION_ERROR", + }, + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'error_code': (str, none_type), # noqa: E501 + 'message': (bool, date, datetime, dict, float, int, list, str, none_type, none_type), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'error_code': 'error_code', # noqa: E501 + 'message': 'message', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """UpdateCustomer400ResponseAllOf - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + error_code (str): [optional] # noqa: E501 + message (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, + error_code: str | None = None, + message: object | None = None, + *args, **kwargs + ): # noqa: E501 + """UpdateCustomer400ResponseAllOf - a model defined in OpenAPI + + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + error_code (str): [optional] # noqa: E501 + message (bool, date, datetime, dict, float, int, list, str, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + elif isinstance(arg, str): + kwargs.update({"value": arg}) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + if error_code is not None: + self.error_code = error_code + if message is not None: + self.message = message + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/xendit/exceptions.py b/xendit/exceptions.py index c711eb98..bebb60c7 100644 --- a/xendit/exceptions.py +++ b/xendit/exceptions.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.44.1 """ import json diff --git a/xendit/invoice/model/address_object.py b/xendit/invoice/model/address_object.py index 552d7d3e..87ca2b09 100644 --- a/xendit/invoice/model/address_object.py +++ b/xendit/invoice/model/address_object.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/alternative_display_item.py b/xendit/invoice/model/alternative_display_item.py index ebb02fd9..ad664e34 100644 --- a/xendit/invoice/model/alternative_display_item.py +++ b/xendit/invoice/model/alternative_display_item.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/bad_request_error.py b/xendit/invoice/model/bad_request_error.py index 38c55b24..7d12dd68 100644 --- a/xendit/invoice/model/bad_request_error.py +++ b/xendit/invoice/model/bad_request_error.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/bank.py b/xendit/invoice/model/bank.py index 2c726e47..89a86e46 100644 --- a/xendit/invoice/model/bank.py +++ b/xendit/invoice/model/bank.py @@ -29,7 +29,6 @@ globals()['AlternativeDisplayItem'] = AlternativeDisplayItem globals()['BankCode'] = BankCode - def lazy_import(): pass diff --git a/xendit/invoice/model/bank_code.py b/xendit/invoice/model/bank_code.py index 519b6606..62587109 100644 --- a/xendit/invoice/model/bank_code.py +++ b/xendit/invoice/model/bank_code.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/create_invoice_request.py b/xendit/invoice/model/create_invoice_request.py index 6e47a9a4..b330b33b 100644 --- a/xendit/invoice/model/create_invoice_request.py +++ b/xendit/invoice/model/create_invoice_request.py @@ -33,7 +33,6 @@ globals()['InvoiceItem'] = InvoiceItem globals()['NotificationPreference'] = NotificationPreference - def lazy_import(): pass diff --git a/xendit/invoice/model/customer_object.py b/xendit/invoice/model/customer_object.py index cbcc2451..c81a8f49 100644 --- a/xendit/invoice/model/customer_object.py +++ b/xendit/invoice/model/customer_object.py @@ -27,7 +27,6 @@ from xendit.invoice.model.address_object import AddressObject globals()['AddressObject'] = AddressObject - def lazy_import(): pass diff --git a/xendit/invoice/model/direct_debit.py b/xendit/invoice/model/direct_debit.py index cd591d9c..5fcf53ea 100644 --- a/xendit/invoice/model/direct_debit.py +++ b/xendit/invoice/model/direct_debit.py @@ -27,7 +27,6 @@ from xendit.invoice.model.direct_debit_type import DirectDebitType globals()['DirectDebitType'] = DirectDebitType - def lazy_import(): pass diff --git a/xendit/invoice/model/direct_debit_type.py b/xendit/invoice/model/direct_debit_type.py index 62bb9914..40def0ab 100644 --- a/xendit/invoice/model/direct_debit_type.py +++ b/xendit/invoice/model/direct_debit_type.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/ewallet.py b/xendit/invoice/model/ewallet.py index 1602bcb9..7945ad20 100644 --- a/xendit/invoice/model/ewallet.py +++ b/xendit/invoice/model/ewallet.py @@ -27,7 +27,6 @@ from xendit.invoice.model.ewallet_type import EwalletType globals()['EwalletType'] = EwalletType - def lazy_import(): pass diff --git a/xendit/invoice/model/ewallet_type.py b/xendit/invoice/model/ewallet_type.py index 4ccf7fc7..345e5fdf 100644 --- a/xendit/invoice/model/ewallet_type.py +++ b/xendit/invoice/model/ewallet_type.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/forbidden_error.py b/xendit/invoice/model/forbidden_error.py index e36d4c35..230953b3 100644 --- a/xendit/invoice/model/forbidden_error.py +++ b/xendit/invoice/model/forbidden_error.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/invoice.py b/xendit/invoice/model/invoice.py index a189cd9b..245099cc 100644 --- a/xendit/invoice/model/invoice.py +++ b/xendit/invoice/model/invoice.py @@ -51,7 +51,6 @@ globals()['QrCode'] = QrCode globals()['RetailOutlet'] = RetailOutlet - def lazy_import(): pass diff --git a/xendit/invoice/model/invoice_client_type.py b/xendit/invoice/model/invoice_client_type.py index f4e4f25a..2a7030b4 100644 --- a/xendit/invoice/model/invoice_client_type.py +++ b/xendit/invoice/model/invoice_client_type.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/invoice_currency.py b/xendit/invoice/model/invoice_currency.py index 1ddb1235..0f36ac5a 100644 --- a/xendit/invoice/model/invoice_currency.py +++ b/xendit/invoice/model/invoice_currency.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/invoice_error404_response_definition.py b/xendit/invoice/model/invoice_error404_response_definition.py index 6bb82e79..5b1cd9c3 100644 --- a/xendit/invoice/model/invoice_error404_response_definition.py +++ b/xendit/invoice/model/invoice_error404_response_definition.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/invoice_fee.py b/xendit/invoice/model/invoice_fee.py index b8443705..0893d892 100644 --- a/xendit/invoice/model/invoice_fee.py +++ b/xendit/invoice/model/invoice_fee.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/invoice_item.py b/xendit/invoice/model/invoice_item.py index c3927eba..2cbe38a1 100644 --- a/xendit/invoice/model/invoice_item.py +++ b/xendit/invoice/model/invoice_item.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/invoice_not_found_error.py b/xendit/invoice/model/invoice_not_found_error.py index 41c52f41..78edb7cc 100644 --- a/xendit/invoice/model/invoice_not_found_error.py +++ b/xendit/invoice/model/invoice_not_found_error.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/invoice_payment_method.py b/xendit/invoice/model/invoice_payment_method.py index 71dee369..28844ccd 100644 --- a/xendit/invoice/model/invoice_payment_method.py +++ b/xendit/invoice/model/invoice_payment_method.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/invoice_status.py b/xendit/invoice/model/invoice_status.py index c760a8b2..60bc1bef 100644 --- a/xendit/invoice/model/invoice_status.py +++ b/xendit/invoice/model/invoice_status.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/notification_channel.py b/xendit/invoice/model/notification_channel.py index 4b9cf300..d6a062e6 100644 --- a/xendit/invoice/model/notification_channel.py +++ b/xendit/invoice/model/notification_channel.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/notification_preference.py b/xendit/invoice/model/notification_preference.py index f69b95dd..8f1f20b2 100644 --- a/xendit/invoice/model/notification_preference.py +++ b/xendit/invoice/model/notification_preference.py @@ -27,7 +27,6 @@ from xendit.invoice.model.notification_channel import NotificationChannel globals()['NotificationChannel'] = NotificationChannel - def lazy_import(): pass diff --git a/xendit/invoice/model/paylater.py b/xendit/invoice/model/paylater.py index 56926f08..462592b9 100644 --- a/xendit/invoice/model/paylater.py +++ b/xendit/invoice/model/paylater.py @@ -27,7 +27,6 @@ from xendit.invoice.model.paylater_type import PaylaterType globals()['PaylaterType'] = PaylaterType - def lazy_import(): pass diff --git a/xendit/invoice/model/paylater_type.py b/xendit/invoice/model/paylater_type.py index edb1c26b..e4ffd1fc 100644 --- a/xendit/invoice/model/paylater_type.py +++ b/xendit/invoice/model/paylater_type.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/qr_code.py b/xendit/invoice/model/qr_code.py index 80236ed7..977b4188 100644 --- a/xendit/invoice/model/qr_code.py +++ b/xendit/invoice/model/qr_code.py @@ -27,7 +27,6 @@ from xendit.invoice.model.qr_code_type import QrCodeType globals()['QrCodeType'] = QrCodeType - def lazy_import(): pass diff --git a/xendit/invoice/model/qr_code_type.py b/xendit/invoice/model/qr_code_type.py index f868299f..89fbc1f4 100644 --- a/xendit/invoice/model/qr_code_type.py +++ b/xendit/invoice/model/qr_code_type.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/retail_outlet.py b/xendit/invoice/model/retail_outlet.py index 80f80a0b..9e6afc0a 100644 --- a/xendit/invoice/model/retail_outlet.py +++ b/xendit/invoice/model/retail_outlet.py @@ -27,7 +27,6 @@ from xendit.invoice.model.retail_outlet_name import RetailOutletName globals()['RetailOutletName'] = RetailOutletName - def lazy_import(): pass diff --git a/xendit/invoice/model/retail_outlet_name.py b/xendit/invoice/model/retail_outlet_name.py index 0bf8cd3b..fa156707 100644 --- a/xendit/invoice/model/retail_outlet_name.py +++ b/xendit/invoice/model/retail_outlet_name.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/server_error.py b/xendit/invoice/model/server_error.py index 088a348a..54caac54 100644 --- a/xendit/invoice/model/server_error.py +++ b/xendit/invoice/model/server_error.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/invoice/model/unauthorized_error.py b/xendit/invoice/model/unauthorized_error.py index 83c489ee..b3ac6b77 100644 --- a/xendit/invoice/model/unauthorized_error.py +++ b/xendit/invoice/model/unauthorized_error.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/model_utils.py b/xendit/model_utils.py index 6f252e47..4f8be948 100644 --- a/xendit/model_utils.py +++ b/xendit/model_utils.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.44.1 """ diff --git a/xendit/payment_method/model/__init__.py b/xendit/payment_method/model/__init__.py index 28c359fc..96ddd968 100644 --- a/xendit/payment_method/model/__init__.py +++ b/xendit/payment_method/model/__init__.py @@ -16,10 +16,6 @@ from xendit.payment_method.model.card_parameters_card_information import CardParametersCardInformation from xendit.payment_method.model.card_verification_results import CardVerificationResults from xendit.payment_method.model.card_verification_results_three_d_secure import CardVerificationResultsThreeDSecure -from xendit.payment_method.model.channel_amount_limits import ChannelAmountLimits -from xendit.payment_method.model.channel_amount_limits_all_of import ChannelAmountLimitsAllOf -from xendit.payment_method.model.channel_property import ChannelProperty -from xendit.payment_method.model.channel_property_all_of import ChannelPropertyAllOf from xendit.payment_method.model.create_payment_method409_response import CreatePaymentMethod409Response from xendit.payment_method.model.create_payment_method503_response import CreatePaymentMethod503Response from xendit.payment_method.model.direct_debit import DirectDebit @@ -45,11 +41,6 @@ from xendit.payment_method.model.over_the_counter_channel_properties_update import OverTheCounterChannelPropertiesUpdate from xendit.payment_method.model.over_the_counter_parameters import OverTheCounterParameters from xendit.payment_method.model.over_the_counter_update_parameters import OverTheCounterUpdateParameters -from xendit.payment_method.model.payment_channel import PaymentChannel -from xendit.payment_method.model.payment_channel_all_of import PaymentChannelAllOf -from xendit.payment_method.model.payment_channel_list import PaymentChannelList -from xendit.payment_method.model.payment_channel_list_links_inner import PaymentChannelListLinksInner -from xendit.payment_method.model.payment_channel_list_links_inner_all_of import PaymentChannelListLinksInnerAllOf from xendit.payment_method.model.payment_method import PaymentMethod from xendit.payment_method.model.payment_method_action import PaymentMethodAction from xendit.payment_method.model.payment_method_auth_parameters import PaymentMethodAuthParameters diff --git a/xendit/payment_method/model/billing_information.py b/xendit/payment_method/model/billing_information.py index 2748be82..e6eef973 100644 --- a/xendit/payment_method/model/billing_information.py +++ b/xendit/payment_method/model/billing_information.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/card.py b/xendit/payment_method/model/card.py index 18ebb224..4a6d2ff2 100644 --- a/xendit/payment_method/model/card.py +++ b/xendit/payment_method/model/card.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -31,7 +31,6 @@ globals()['CardVerificationResults'] = CardVerificationResults globals()['TokenizedCardInformation'] = TokenizedCardInformation - def lazy_import(): pass @@ -209,8 +208,8 @@ def _from_openapi_data(cls, currency, channel_properties, *args, **kwargs): # n @convert_js_args_to_python_args def __init__(self, - currency: str, - channel_properties: CardChannelProperties, + currency: str | None, + channel_properties: CardChannelProperties | None, card_information: TokenizedCardInformation | None = None, card_verification_results: CardVerificationResults | None = None, *args, **kwargs diff --git a/xendit/payment_method/model/card_channel_properties.py b/xendit/payment_method/model/card_channel_properties.py index eb932e84..9431f11c 100644 --- a/xendit/payment_method/model/card_channel_properties.py +++ b/xendit/payment_method/model/card_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/card_parameters.py b/xendit/payment_method/model/card_parameters.py index ff7b3c6d..fa2b305a 100644 --- a/xendit/payment_method/model/card_parameters.py +++ b/xendit/payment_method/model/card_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -29,7 +29,6 @@ globals()['CardChannelProperties'] = CardChannelProperties globals()['CardParametersCardInformation'] = CardParametersCardInformation - def lazy_import(): pass diff --git a/xendit/payment_method/model/card_parameters_card_information.py b/xendit/payment_method/model/card_parameters_card_information.py index e3f7236a..45438751 100644 --- a/xendit/payment_method/model/card_parameters_card_information.py +++ b/xendit/payment_method/model/card_parameters_card_information.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/card_verification_results.py b/xendit/payment_method/model/card_verification_results.py index 994a3168..7c6ecb8f 100644 --- a/xendit/payment_method/model/card_verification_results.py +++ b/xendit/payment_method/model/card_verification_results.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -27,7 +27,6 @@ from xendit.payment_method.model.card_verification_results_three_d_secure import CardVerificationResultsThreeDSecure globals()['CardVerificationResultsThreeDSecure'] = CardVerificationResultsThreeDSecure - def lazy_import(): pass @@ -201,7 +200,7 @@ def _from_openapi_data(cls, three_d_secure, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, - three_d_secure: CardVerificationResultsThreeDSecure, + three_d_secure: CardVerificationResultsThreeDSecure | None, cvv_result: str | None = None, address_verification_result: str | None = None, *args, **kwargs diff --git a/xendit/payment_method/model/card_verification_results_three_d_secure.py b/xendit/payment_method/model/card_verification_results_three_d_secure.py index 7e6e4d3f..bdf9b9d4 100644 --- a/xendit/payment_method/model/card_verification_results_three_d_secure.py +++ b/xendit/payment_method/model/card_verification_results_three_d_secure.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/create_payment_method409_response.py b/xendit/payment_method/model/create_payment_method409_response.py index 447209c7..aefa2bbd 100644 --- a/xendit/payment_method/model/create_payment_method409_response.py +++ b/xendit/payment_method/model/create_payment_method409_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/create_payment_method503_response.py b/xendit/payment_method/model/create_payment_method503_response.py index a20120a8..4b664a4b 100644 --- a/xendit/payment_method/model/create_payment_method503_response.py +++ b/xendit/payment_method/model/create_payment_method503_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/direct_debit.py b/xendit/payment_method/model/direct_debit.py index ab63a44e..ef62d786 100644 --- a/xendit/payment_method/model/direct_debit.py +++ b/xendit/payment_method/model/direct_debit.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -39,7 +39,6 @@ globals()['DirectDebitParameters'] = DirectDebitParameters globals()['DirectDebitType'] = DirectDebitType - def lazy_import(): pass diff --git a/xendit/payment_method/model/direct_debit_all_of.py b/xendit/payment_method/model/direct_debit_all_of.py index 0c7af953..283d6b58 100644 --- a/xendit/payment_method/model/direct_debit_all_of.py +++ b/xendit/payment_method/model/direct_debit_all_of.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -31,7 +31,6 @@ globals()['DirectDebitDebitCard'] = DirectDebitDebitCard globals()['DirectDebitType'] = DirectDebitType - def lazy_import(): pass diff --git a/xendit/payment_method/model/direct_debit_bank_account.py b/xendit/payment_method/model/direct_debit_bank_account.py index 9da05c77..fc6b11a3 100644 --- a/xendit/payment_method/model/direct_debit_bank_account.py +++ b/xendit/payment_method/model/direct_debit_bank_account.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/direct_debit_channel_code.py b/xendit/payment_method/model/direct_debit_channel_code.py index 778f6ec7..9a2662e0 100644 --- a/xendit/payment_method/model/direct_debit_channel_code.py +++ b/xendit/payment_method/model/direct_debit_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/direct_debit_channel_properties.py b/xendit/payment_method/model/direct_debit_channel_properties.py index e4868773..dd914aad 100644 --- a/xendit/payment_method/model/direct_debit_channel_properties.py +++ b/xendit/payment_method/model/direct_debit_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/direct_debit_debit_card.py b/xendit/payment_method/model/direct_debit_debit_card.py index aae4a37a..7efc0f71 100644 --- a/xendit/payment_method/model/direct_debit_debit_card.py +++ b/xendit/payment_method/model/direct_debit_debit_card.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/direct_debit_parameters.py b/xendit/payment_method/model/direct_debit_parameters.py index dbaf309d..71b41659 100644 --- a/xendit/payment_method/model/direct_debit_parameters.py +++ b/xendit/payment_method/model/direct_debit_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -29,7 +29,6 @@ globals()['DirectDebitChannelCode'] = DirectDebitChannelCode globals()['DirectDebitChannelProperties'] = DirectDebitChannelProperties - def lazy_import(): pass @@ -202,7 +201,7 @@ def _from_openapi_data(cls, channel_code, channel_properties, *args, **kwargs): @convert_js_args_to_python_args def __init__(self, channel_code: DirectDebitChannelCode, - channel_properties: DirectDebitChannelProperties, + channel_properties: DirectDebitChannelProperties | None, *args, **kwargs ): # noqa: E501 """DirectDebitParameters - a model defined in OpenAPI diff --git a/xendit/payment_method/model/direct_debit_type.py b/xendit/payment_method/model/direct_debit_type.py index c46da87d..8c4c7841 100644 --- a/xendit/payment_method/model/direct_debit_type.py +++ b/xendit/payment_method/model/direct_debit_type.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/e_wallet.py b/xendit/payment_method/model/e_wallet.py index 305903f0..80058a6b 100644 --- a/xendit/payment_method/model/e_wallet.py +++ b/xendit/payment_method/model/e_wallet.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -33,7 +33,6 @@ globals()['EWalletChannelProperties'] = EWalletChannelProperties globals()['EWalletParameters'] = EWalletParameters - def lazy_import(): pass diff --git a/xendit/payment_method/model/e_wallet_account.py b/xendit/payment_method/model/e_wallet_account.py index 37d3637b..c39c4740 100644 --- a/xendit/payment_method/model/e_wallet_account.py +++ b/xendit/payment_method/model/e_wallet_account.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/e_wallet_channel_code.py b/xendit/payment_method/model/e_wallet_channel_code.py index 91aec071..968abe21 100644 --- a/xendit/payment_method/model/e_wallet_channel_code.py +++ b/xendit/payment_method/model/e_wallet_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/e_wallet_channel_properties.py b/xendit/payment_method/model/e_wallet_channel_properties.py index 63b6de21..18ed7903 100644 --- a/xendit/payment_method/model/e_wallet_channel_properties.py +++ b/xendit/payment_method/model/e_wallet_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/e_wallet_parameters.py b/xendit/payment_method/model/e_wallet_parameters.py index 6d926426..dcc6c149 100644 --- a/xendit/payment_method/model/e_wallet_parameters.py +++ b/xendit/payment_method/model/e_wallet_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -31,7 +31,6 @@ globals()['EWalletChannelCode'] = EWalletChannelCode globals()['EWalletChannelProperties'] = EWalletChannelProperties - def lazy_import(): pass diff --git a/xendit/payment_method/model/get_all_payment_methods400_response.py b/xendit/payment_method/model/get_all_payment_methods400_response.py index c4308d4b..d29ea866 100644 --- a/xendit/payment_method/model/get_all_payment_methods400_response.py +++ b/xendit/payment_method/model/get_all_payment_methods400_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/get_all_payment_methods403_response.py b/xendit/payment_method/model/get_all_payment_methods403_response.py index d0b7f388..a2b258be 100644 --- a/xendit/payment_method/model/get_all_payment_methods403_response.py +++ b/xendit/payment_method/model/get_all_payment_methods403_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/get_all_payment_methods404_response.py b/xendit/payment_method/model/get_all_payment_methods404_response.py index 07767b1a..17da3cca 100644 --- a/xendit/payment_method/model/get_all_payment_methods404_response.py +++ b/xendit/payment_method/model/get_all_payment_methods404_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/get_all_payment_methods_default_response.py b/xendit/payment_method/model/get_all_payment_methods_default_response.py index 85f387b4..0aec569b 100644 --- a/xendit/payment_method/model/get_all_payment_methods_default_response.py +++ b/xendit/payment_method/model/get_all_payment_methods_default_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/over_the_counter.py b/xendit/payment_method/model/over_the_counter.py index 12abbe12..de2a52cb 100644 --- a/xendit/payment_method/model/over_the_counter.py +++ b/xendit/payment_method/model/over_the_counter.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -31,7 +31,6 @@ globals()['OverTheCounterChannelProperties'] = OverTheCounterChannelProperties globals()['OverTheCounterParameters'] = OverTheCounterParameters - def lazy_import(): pass diff --git a/xendit/payment_method/model/over_the_counter_channel_code.py b/xendit/payment_method/model/over_the_counter_channel_code.py index 1dbe9f0a..adf6ebfa 100644 --- a/xendit/payment_method/model/over_the_counter_channel_code.py +++ b/xendit/payment_method/model/over_the_counter_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/over_the_counter_channel_properties.py b/xendit/payment_method/model/over_the_counter_channel_properties.py index 95935a60..4058c2c2 100644 --- a/xendit/payment_method/model/over_the_counter_channel_properties.py +++ b/xendit/payment_method/model/over_the_counter_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/over_the_counter_channel_properties_update.py b/xendit/payment_method/model/over_the_counter_channel_properties_update.py index bd7e0a1f..2844a4be 100644 --- a/xendit/payment_method/model/over_the_counter_channel_properties_update.py +++ b/xendit/payment_method/model/over_the_counter_channel_properties_update.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/over_the_counter_parameters.py b/xendit/payment_method/model/over_the_counter_parameters.py index 247fef2c..b9d8e99b 100644 --- a/xendit/payment_method/model/over_the_counter_parameters.py +++ b/xendit/payment_method/model/over_the_counter_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -29,7 +29,6 @@ globals()['OverTheCounterChannelCode'] = OverTheCounterChannelCode globals()['OverTheCounterChannelProperties'] = OverTheCounterChannelProperties - def lazy_import(): pass diff --git a/xendit/payment_method/model/over_the_counter_update_parameters.py b/xendit/payment_method/model/over_the_counter_update_parameters.py index ea248be6..29add14d 100644 --- a/xendit/payment_method/model/over_the_counter_update_parameters.py +++ b/xendit/payment_method/model/over_the_counter_update_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -27,7 +27,6 @@ from xendit.payment_method.model.over_the_counter_channel_properties_update import OverTheCounterChannelPropertiesUpdate globals()['OverTheCounterChannelPropertiesUpdate'] = OverTheCounterChannelPropertiesUpdate - def lazy_import(): pass diff --git a/xendit/payment_method/model/payment_method.py b/xendit/payment_method/model/payment_method.py index 0624a290..0a6e38da 100644 --- a/xendit/payment_method/model/payment_method.py +++ b/xendit/payment_method/model/payment_method.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -49,7 +49,6 @@ globals()['QRCode'] = QRCode globals()['VirtualAccount'] = VirtualAccount - def lazy_import(): pass diff --git a/xendit/payment_method/model/payment_method_action.py b/xendit/payment_method/model/payment_method_action.py index 8eca725d..cc31d211 100644 --- a/xendit/payment_method/model/payment_method_action.py +++ b/xendit/payment_method/model/payment_method_action.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/payment_method_auth_parameters.py b/xendit/payment_method/model/payment_method_auth_parameters.py index ca9bae8c..1e5ecf5e 100644 --- a/xendit/payment_method/model/payment_method_auth_parameters.py +++ b/xendit/payment_method/model/payment_method_auth_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/payment_method_country.py b/xendit/payment_method/model/payment_method_country.py index 7ecc1c97..b633cf62 100644 --- a/xendit/payment_method/model/payment_method_country.py +++ b/xendit/payment_method/model/payment_method_country.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/payment_method_expire_parameters.py b/xendit/payment_method/model/payment_method_expire_parameters.py index a011e6c8..4ffbe823 100644 --- a/xendit/payment_method/model/payment_method_expire_parameters.py +++ b/xendit/payment_method/model/payment_method_expire_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/payment_method_list.py b/xendit/payment_method/model/payment_method_list.py index aa453e0e..90a0d739 100644 --- a/xendit/payment_method/model/payment_method_list.py +++ b/xendit/payment_method/model/payment_method_list.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -27,7 +27,6 @@ from xendit.payment_method.model.payment_method import PaymentMethod globals()['PaymentMethod'] = PaymentMethod - def lazy_import(): pass diff --git a/xendit/payment_method/model/payment_method_parameters.py b/xendit/payment_method/model/payment_method_parameters.py index e0f6275b..87b8f81c 100644 --- a/xendit/payment_method/model/payment_method_parameters.py +++ b/xendit/payment_method/model/payment_method_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -43,7 +43,6 @@ globals()['QRCodeParameters'] = QRCodeParameters globals()['VirtualAccountParameters'] = VirtualAccountParameters - def lazy_import(): pass diff --git a/xendit/payment_method/model/payment_method_reusability.py b/xendit/payment_method/model/payment_method_reusability.py index 8e8ac438..906648c6 100644 --- a/xendit/payment_method/model/payment_method_reusability.py +++ b/xendit/payment_method/model/payment_method_reusability.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/payment_method_status.py b/xendit/payment_method/model/payment_method_status.py index 0aeeafbe..304f3160 100644 --- a/xendit/payment_method/model/payment_method_status.py +++ b/xendit/payment_method/model/payment_method_status.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/payment_method_type.py b/xendit/payment_method/model/payment_method_type.py index b60bddca..c4e5513b 100644 --- a/xendit/payment_method/model/payment_method_type.py +++ b/xendit/payment_method/model/payment_method_type.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/payment_method_update_parameters.py b/xendit/payment_method/model/payment_method_update_parameters.py index a914b272..084fe502 100644 --- a/xendit/payment_method/model/payment_method_update_parameters.py +++ b/xendit/payment_method/model/payment_method_update_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -33,7 +33,6 @@ globals()['PaymentMethodStatus'] = PaymentMethodStatus globals()['VirtualAccountUpdateParameters'] = VirtualAccountUpdateParameters - def lazy_import(): pass diff --git a/xendit/payment_method/model/qr_code.py b/xendit/payment_method/model/qr_code.py index c4d18aec..1e87879c 100644 --- a/xendit/payment_method/model/qr_code.py +++ b/xendit/payment_method/model/qr_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -31,7 +31,6 @@ globals()['QRCodeChannelProperties'] = QRCodeChannelProperties globals()['QRCodeParameters'] = QRCodeParameters - def lazy_import(): pass diff --git a/xendit/payment_method/model/qr_code_channel_code.py b/xendit/payment_method/model/qr_code_channel_code.py index fb8f9519..8fad3f16 100644 --- a/xendit/payment_method/model/qr_code_channel_code.py +++ b/xendit/payment_method/model/qr_code_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/qr_code_channel_properties.py b/xendit/payment_method/model/qr_code_channel_properties.py index 0a37df36..7f0ed628 100644 --- a/xendit/payment_method/model/qr_code_channel_properties.py +++ b/xendit/payment_method/model/qr_code_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/qr_code_parameters.py b/xendit/payment_method/model/qr_code_parameters.py index 1e5ad53c..91dd319a 100644 --- a/xendit/payment_method/model/qr_code_parameters.py +++ b/xendit/payment_method/model/qr_code_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -29,7 +29,6 @@ globals()['QRCodeChannelCode'] = QRCodeChannelCode globals()['QRCodeChannelProperties'] = QRCodeChannelProperties - def lazy_import(): pass diff --git a/xendit/payment_method/model/simulate_payment_request.py b/xendit/payment_method/model/simulate_payment_request.py index c33a8972..b0a2e3fc 100644 --- a/xendit/payment_method/model/simulate_payment_request.py +++ b/xendit/payment_method/model/simulate_payment_request.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/tokenized_card_information.py b/xendit/payment_method/model/tokenized_card_information.py index 6a8b5b8e..08670494 100644 --- a/xendit/payment_method/model/tokenized_card_information.py +++ b/xendit/payment_method/model/tokenized_card_information.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/virtual_account.py b/xendit/payment_method/model/virtual_account.py index 6ad1886f..6b2a4e44 100644 --- a/xendit/payment_method/model/virtual_account.py +++ b/xendit/payment_method/model/virtual_account.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -35,7 +35,6 @@ globals()['VirtualAccountChannelProperties'] = VirtualAccountChannelProperties globals()['VirtualAccountParameters'] = VirtualAccountParameters - def lazy_import(): pass diff --git a/xendit/payment_method/model/virtual_account_all_of.py b/xendit/payment_method/model/virtual_account_all_of.py index 0347f676..d0ec870f 100644 --- a/xendit/payment_method/model/virtual_account_all_of.py +++ b/xendit/payment_method/model/virtual_account_all_of.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -27,7 +27,6 @@ from xendit.payment_method.model.virtual_account_alternative_display import VirtualAccountAlternativeDisplay globals()['VirtualAccountAlternativeDisplay'] = VirtualAccountAlternativeDisplay - def lazy_import(): pass diff --git a/xendit/payment_method/model/virtual_account_alternative_display.py b/xendit/payment_method/model/virtual_account_alternative_display.py index 228618e6..efa7a73d 100644 --- a/xendit/payment_method/model/virtual_account_alternative_display.py +++ b/xendit/payment_method/model/virtual_account_alternative_display.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/virtual_account_channel_code.py b/xendit/payment_method/model/virtual_account_channel_code.py index 41c44eed..a91faaad 100644 --- a/xendit/payment_method/model/virtual_account_channel_code.py +++ b/xendit/payment_method/model/virtual_account_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/virtual_account_channel_properties.py b/xendit/payment_method/model/virtual_account_channel_properties.py index 13e26115..132fdd20 100644 --- a/xendit/payment_method/model/virtual_account_channel_properties.py +++ b/xendit/payment_method/model/virtual_account_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/virtual_account_channel_properties_patch.py b/xendit/payment_method/model/virtual_account_channel_properties_patch.py index a7baad55..83341979 100644 --- a/xendit/payment_method/model/virtual_account_channel_properties_patch.py +++ b/xendit/payment_method/model/virtual_account_channel_properties_patch.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_method/model/virtual_account_parameters.py b/xendit/payment_method/model/virtual_account_parameters.py index 7d06b4cb..ca5f2a7c 100644 --- a/xendit/payment_method/model/virtual_account_parameters.py +++ b/xendit/payment_method/model/virtual_account_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -29,7 +29,6 @@ globals()['VirtualAccountChannelCode'] = VirtualAccountChannelCode globals()['VirtualAccountChannelProperties'] = VirtualAccountChannelProperties - def lazy_import(): pass diff --git a/xendit/payment_method/model/virtual_account_update_parameters.py b/xendit/payment_method/model/virtual_account_update_parameters.py index 8888d7e9..e32c22b7 100644 --- a/xendit/payment_method/model/virtual_account_update_parameters.py +++ b/xendit/payment_method/model/virtual_account_update_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 2.89.1 """ @@ -27,7 +27,6 @@ from xendit.payment_method.model.virtual_account_channel_properties_patch import VirtualAccountChannelPropertiesPatch globals()['VirtualAccountChannelPropertiesPatch'] = VirtualAccountChannelPropertiesPatch - def lazy_import(): pass diff --git a/xendit/payment_method/payment_method_api.py b/xendit/payment_method/payment_method_api.py index d28d7482..7f7a521e 100644 --- a/xendit/payment_method/payment_method_api.py +++ b/xendit/payment_method/payment_method_api.py @@ -3,7 +3,7 @@ This API is used for Payment Method Service v2 # noqa: E501 - The version of the OpenAPI document: 2.87.2 + The version of the OpenAPI document: 2.89.1 """ import re # noqa: F401 @@ -191,64 +191,6 @@ def __init__(self, api_client=None): }, api_client=api_client ) - self.get_all_payment_channels_endpoint = _Endpoint( - settings={ - 'response_type': (PaymentChannelList,), - 'auth': [], - 'endpoint_path': '/v2/payment_methods/channels', - 'operation_id': 'get_all_payment_channels', - 'http_method': 'GET', - 'servers': None, - }, - params_map={ - 'all': [ - 'is_activated', - 'type', - ], - 'required': [], - 'nullable': [ - ], - 'enum': [ - 'is_activated', - ], - 'validation': [ - ] - }, - root_map={ - 'validations': { - }, - 'allowed_values': { - ('is_activated',): { - - "TRUE": True, - "FALSE": False - }, - }, - 'openapi_types': { - 'is_activated': - (bool,), - 'type': - (str,), - }, - 'attribute_map': { - 'is_activated': 'is_activated', - 'type': 'type', - }, - 'location_map': { - 'is_activated': 'query', - 'type': 'query', - }, - 'collection_format_map': { - } - }, - headers_map={ - 'accept': [ - 'application/json' - ], - 'content_type': [], - }, - api_client=api_client - ) self.get_all_payment_methods_endpoint = _Endpoint( settings={ 'response_type': (PaymentMethodList,), @@ -874,92 +816,6 @@ def expire_payment_method( kwargs['payment_method_expire_parameters'] = payment_method_expire_parameters return self.expire_payment_method_endpoint.call_with_http_info(**kwargs) - def get_all_payment_channels( - self, - is_activated: Optional[bool] = True, - type: Optional[str] = None, - **kwargs - ) -> PaymentChannelList: - """Get all payment channels # noqa: E501 - - Get all payment channels # noqa: E501 - This method makes a synchronous HTTP request by default. To make an - asynchronous HTTP request, please pass async_req=True - - >>> thread = api.get_all_payment_channels(type, is_activated=True, async_req=True) - >>> result = thread.get() - - - Keyword Args: - is_activated (bool): [optional] if omitted the server will use the default value of True - type (str): [optional] - _return_http_data_only (bool): response data without head status - code and headers. Default is True. - _preload_content (bool): if False, the urllib3.HTTPResponse object - will be returned without reading/decoding response data. - Default is True. - _request_timeout (int/float/tuple): timeout setting for this request. If - one number provided, it will be total request timeout. It can also - be a pair (tuple) of (connection, read) timeouts. - Default is None. - _check_input_type (bool): specifies if type checking - should be done one the data sent to the server. - Default is True. - _check_return_type (bool): specifies if type checking - should be done one the data received from the server. - Default is True. - _spec_property_naming (bool): True if the variable names in the input data - are serialized names, as specified in the OpenAPI document. - False if the variable names in the input data - are pythonic names, e.g. snake case (default) - _content_type (str/None): force body content-type. - Default is None and content-type will be predicted by allowed - content-types and body. - _host_index (int/None): specifies the index of the server - that we want to use. - Default is read from the configuration. - _request_auths (list): set to override the auth_settings for an a single - request; this effectively ignores the authentication - in the spec for a single request. - Default is None - async_req (bool): execute request asynchronously - - Returns: - PaymentChannelList - If the method is called asynchronously, returns the request - thread. - """ - kwargs['async_req'] = kwargs.get( - 'async_req', False - ) - kwargs['_return_http_data_only'] = kwargs.get( - '_return_http_data_only', True - ) - kwargs['_preload_content'] = kwargs.get( - '_preload_content', True - ) - kwargs['_request_timeout'] = kwargs.get( - '_request_timeout', None - ) - kwargs['_check_input_type'] = kwargs.get( - '_check_input_type', True - ) - kwargs['_check_return_type'] = kwargs.get( - '_check_return_type', True - ) - kwargs['_spec_property_naming'] = kwargs.get( - '_spec_property_naming', False - ) - kwargs['_content_type'] = kwargs.get( - '_content_type') - kwargs['_host_index'] = kwargs.get('_host_index') - kwargs['_request_auths'] = kwargs.get('_request_auths', None) - if is_activated is not None: - kwargs['is_activated'] = is_activated - if type is not None: - kwargs['type'] = type - return self.get_all_payment_channels_endpoint.call_with_http_info(**kwargs) - def get_all_payment_methods( self, id: Optional[List[str]] = None, diff --git a/xendit/payment_request/model/capture.py b/xendit/payment_request/model/capture.py index 3aff9acb..c4e99f94 100644 --- a/xendit/payment_request/model/capture.py +++ b/xendit/payment_request/model/capture.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -27,7 +27,6 @@ from xendit.payment_request.model.payment_method import PaymentMethod globals()['PaymentMethod'] = PaymentMethod - def lazy_import(): pass @@ -264,10 +263,10 @@ def __init__(self, captured_amount: float, status: str, payment_method: PaymentMethod, - failure_code: str, - customer_id: str, - metadata: dict, - channel_properties: dict, + failure_code: str | None, + customer_id: str | None, + metadata: dict | None, + channel_properties: dict | None, created: str, updated: str, *args, **kwargs diff --git a/xendit/payment_request/model/capture_list.py b/xendit/payment_request/model/capture_list.py index 917d7323..8ebc3bc9 100644 --- a/xendit/payment_request/model/capture_list.py +++ b/xendit/payment_request/model/capture_list.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -27,7 +27,6 @@ from xendit.payment_request.model.capture import Capture globals()['Capture'] = Capture - def lazy_import(): pass diff --git a/xendit/payment_request/model/capture_list_response.py b/xendit/payment_request/model/capture_list_response.py index 2ea72a90..74712174 100644 --- a/xendit/payment_request/model/capture_list_response.py +++ b/xendit/payment_request/model/capture_list_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -27,7 +27,6 @@ from xendit.payment_request.model.capture_list import CaptureList globals()['CaptureList'] = CaptureList - def lazy_import(): pass diff --git a/xendit/payment_request/model/capture_parameters.py b/xendit/payment_request/model/capture_parameters.py index 4f4f3fd1..a757aa88 100644 --- a/xendit/payment_request/model/capture_parameters.py +++ b/xendit/payment_request/model/capture_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/card.py b/xendit/payment_request/model/card.py index 38346002..5e20d1a9 100644 --- a/xendit/payment_request/model/card.py +++ b/xendit/payment_request/model/card.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -33,7 +33,6 @@ globals()['CardVerificationResults'] = CardVerificationResults globals()['PaymentRequestCurrency'] = PaymentRequestCurrency - def lazy_import(): pass diff --git a/xendit/payment_request/model/card_channel_properties.py b/xendit/payment_request/model/card_channel_properties.py index 03454eab..a1546eea 100644 --- a/xendit/payment_request/model/card_channel_properties.py +++ b/xendit/payment_request/model/card_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/card_information.py b/xendit/payment_request/model/card_information.py index 47c01a7b..c4c45ba1 100644 --- a/xendit/payment_request/model/card_information.py +++ b/xendit/payment_request/model/card_information.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/card_verification_results.py b/xendit/payment_request/model/card_verification_results.py index 920a0532..34d1420a 100644 --- a/xendit/payment_request/model/card_verification_results.py +++ b/xendit/payment_request/model/card_verification_results.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -27,7 +27,6 @@ from xendit.payment_request.model.card_verification_results_three_d_secure import CardVerificationResultsThreeDSecure globals()['CardVerificationResultsThreeDSecure'] = CardVerificationResultsThreeDSecure - def lazy_import(): pass diff --git a/xendit/payment_request/model/card_verification_results_three_d_secure.py b/xendit/payment_request/model/card_verification_results_three_d_secure.py index e5196392..55501667 100644 --- a/xendit/payment_request/model/card_verification_results_three_d_secure.py +++ b/xendit/payment_request/model/card_verification_results_three_d_secure.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/direct_debit.py b/xendit/payment_request/model/direct_debit.py index 962d3916..b89257aa 100644 --- a/xendit/payment_request/model/direct_debit.py +++ b/xendit/payment_request/model/direct_debit.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -39,7 +39,6 @@ globals()['DirectDebitParameters'] = DirectDebitParameters globals()['DirectDebitType'] = DirectDebitType - def lazy_import(): pass diff --git a/xendit/payment_request/model/direct_debit_all_of.py b/xendit/payment_request/model/direct_debit_all_of.py index 4b04dcbe..28f04927 100644 --- a/xendit/payment_request/model/direct_debit_all_of.py +++ b/xendit/payment_request/model/direct_debit_all_of.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -31,7 +31,6 @@ globals()['DirectDebitDebitCard'] = DirectDebitDebitCard globals()['DirectDebitType'] = DirectDebitType - def lazy_import(): pass diff --git a/xendit/payment_request/model/direct_debit_bank_account.py b/xendit/payment_request/model/direct_debit_bank_account.py index a94101ae..142c80ed 100644 --- a/xendit/payment_request/model/direct_debit_bank_account.py +++ b/xendit/payment_request/model/direct_debit_bank_account.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/direct_debit_channel_code.py b/xendit/payment_request/model/direct_debit_channel_code.py index 61e5c20b..9f8b4b61 100644 --- a/xendit/payment_request/model/direct_debit_channel_code.py +++ b/xendit/payment_request/model/direct_debit_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/direct_debit_channel_properties.py b/xendit/payment_request/model/direct_debit_channel_properties.py index cbc865d5..ae921727 100644 --- a/xendit/payment_request/model/direct_debit_channel_properties.py +++ b/xendit/payment_request/model/direct_debit_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -31,7 +31,6 @@ globals()['DirectDebitChannelPropertiesBankRedirect'] = DirectDebitChannelPropertiesBankRedirect globals()['DirectDebitChannelPropertiesDebitCard'] = DirectDebitChannelPropertiesDebitCard - def lazy_import(): pass diff --git a/xendit/payment_request/model/direct_debit_channel_properties_bank_account.py b/xendit/payment_request/model/direct_debit_channel_properties_bank_account.py index ac8b1a77..6a2550be 100644 --- a/xendit/payment_request/model/direct_debit_channel_properties_bank_account.py +++ b/xendit/payment_request/model/direct_debit_channel_properties_bank_account.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/direct_debit_channel_properties_bank_redirect.py b/xendit/payment_request/model/direct_debit_channel_properties_bank_redirect.py index e391fced..57f33885 100644 --- a/xendit/payment_request/model/direct_debit_channel_properties_bank_redirect.py +++ b/xendit/payment_request/model/direct_debit_channel_properties_bank_redirect.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/direct_debit_channel_properties_debit_card.py b/xendit/payment_request/model/direct_debit_channel_properties_debit_card.py index 5d49548f..54a08d0c 100644 --- a/xendit/payment_request/model/direct_debit_channel_properties_debit_card.py +++ b/xendit/payment_request/model/direct_debit_channel_properties_debit_card.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/direct_debit_debit_card.py b/xendit/payment_request/model/direct_debit_debit_card.py index ce4186f9..47763006 100644 --- a/xendit/payment_request/model/direct_debit_debit_card.py +++ b/xendit/payment_request/model/direct_debit_debit_card.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/direct_debit_parameters.py b/xendit/payment_request/model/direct_debit_parameters.py index bd13b4a9..7cfba9f4 100644 --- a/xendit/payment_request/model/direct_debit_parameters.py +++ b/xendit/payment_request/model/direct_debit_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -31,7 +31,6 @@ globals()['DirectDebitChannelProperties'] = DirectDebitChannelProperties globals()['DirectDebitType'] = DirectDebitType - def lazy_import(): pass @@ -207,7 +206,7 @@ def _from_openapi_data(cls, channel_code, channel_properties, *args, **kwargs): @convert_js_args_to_python_args def __init__(self, channel_code: DirectDebitChannelCode, - channel_properties: DirectDebitChannelProperties, + channel_properties: DirectDebitChannelProperties | None, type: DirectDebitType | None = None, *args, **kwargs ): # noqa: E501 diff --git a/xendit/payment_request/model/direct_debit_type.py b/xendit/payment_request/model/direct_debit_type.py index c1fbc1eb..471aeaeb 100644 --- a/xendit/payment_request/model/direct_debit_type.py +++ b/xendit/payment_request/model/direct_debit_type.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/e_wallet.py b/xendit/payment_request/model/e_wallet.py index 018710e3..26f3a68b 100644 --- a/xendit/payment_request/model/e_wallet.py +++ b/xendit/payment_request/model/e_wallet.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -35,7 +35,6 @@ globals()['EWalletChannelProperties'] = EWalletChannelProperties globals()['EWalletParameters'] = EWalletParameters - def lazy_import(): pass diff --git a/xendit/payment_request/model/e_wallet_account.py b/xendit/payment_request/model/e_wallet_account.py index 290d93a7..3604c2d1 100644 --- a/xendit/payment_request/model/e_wallet_account.py +++ b/xendit/payment_request/model/e_wallet_account.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/e_wallet_all_of.py b/xendit/payment_request/model/e_wallet_all_of.py index bad4519b..b29619dc 100644 --- a/xendit/payment_request/model/e_wallet_all_of.py +++ b/xendit/payment_request/model/e_wallet_all_of.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -27,7 +27,6 @@ from xendit.payment_request.model.e_wallet_account import EWalletAccount globals()['EWalletAccount'] = EWalletAccount - def lazy_import(): pass diff --git a/xendit/payment_request/model/e_wallet_channel_code.py b/xendit/payment_request/model/e_wallet_channel_code.py index 2375f155..bb9f3750 100644 --- a/xendit/payment_request/model/e_wallet_channel_code.py +++ b/xendit/payment_request/model/e_wallet_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/e_wallet_channel_properties.py b/xendit/payment_request/model/e_wallet_channel_properties.py index 6647fed9..b3bcef12 100644 --- a/xendit/payment_request/model/e_wallet_channel_properties.py +++ b/xendit/payment_request/model/e_wallet_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass @@ -99,7 +98,7 @@ def openapi_types(): 'failure_return_url': (str, none_type), # noqa: E501 'cancel_return_url': (str, none_type), # noqa: E501 'redeem_points': (str, none_type), # noqa: E501 - 'mobilenumber': (str, none_type), # noqa: E501 + 'mobile_number': (str, none_type), # noqa: E501 'cashtag': (str, none_type), # noqa: E501 } @@ -113,7 +112,7 @@ def discriminator(): 'failure_return_url': 'failure_return_url', # noqa: E501 'cancel_return_url': 'cancel_return_url', # noqa: E501 'redeem_points': 'redeem_points', # noqa: E501 - 'mobilenumber': 'mobile:number', # noqa: E501 + 'mobile_number': 'mobile_number', # noqa: E501 'cashtag': 'cashtag', # noqa: E501 } @@ -162,7 +161,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 failure_return_url (str): URL where the end-customer is redirected if the authorization failed. [optional] # noqa: E501 cancel_return_url (str): URL where the end-customer is redirected if the authorization cancelled. [optional] # noqa: E501 redeem_points (str): REDEEM_NONE will not use any point, REDEEM_ALL will use all available points before cash balance is used. For OVO and ShopeePay tokenized payment use only.. [optional] # noqa: E501 - mobilenumber (str): [optional] # noqa: E501 + mobile_number (str): [optional] # noqa: E501 cashtag (str): [optional] # noqa: E501 """ @@ -222,7 +221,7 @@ def __init__(self, failure_return_url: str | None = None, cancel_return_url: str | None = None, redeem_points: str | None = None, - mobilenumber: str | None = None, + mobile_number: str | None = None, cashtag: str | None = None, *args, **kwargs ): # noqa: E501 @@ -264,7 +263,7 @@ def __init__(self, failure_return_url (str): URL where the end-customer is redirected if the authorization failed. [optional] # noqa: E501 cancel_return_url (str): URL where the end-customer is redirected if the authorization cancelled. [optional] # noqa: E501 redeem_points (str): REDEEM_NONE will not use any point, REDEEM_ALL will use all available points before cash balance is used. For OVO and ShopeePay tokenized payment use only.. [optional] # noqa: E501 - mobilenumber (str): [optional] # noqa: E501 + mobile_number (str): [optional] # noqa: E501 cashtag (str): [optional] # noqa: E501 """ @@ -305,8 +304,8 @@ def __init__(self, self.cancel_return_url = cancel_return_url if redeem_points is not None: self.redeem_points = redeem_points - if mobilenumber is not None: - self.mobilenumber = mobilenumber + if mobile_number is not None: + self.mobile_number = mobile_number if cashtag is not None: self.cashtag = cashtag for var_name, var_value in kwargs.items(): diff --git a/xendit/payment_request/model/e_wallet_parameters.py b/xendit/payment_request/model/e_wallet_parameters.py index 7432a73a..5d8d9bba 100644 --- a/xendit/payment_request/model/e_wallet_parameters.py +++ b/xendit/payment_request/model/e_wallet_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -29,7 +29,6 @@ globals()['EWalletChannelCode'] = EWalletChannelCode globals()['EWalletChannelProperties'] = EWalletChannelProperties - def lazy_import(): pass diff --git a/xendit/payment_request/model/error.py b/xendit/payment_request/model/error.py index 9f6150d4..c484c211 100644 --- a/xendit/payment_request/model/error.py +++ b/xendit/payment_request/model/error.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/over_the_counter.py b/xendit/payment_request/model/over_the_counter.py index 1bcb75e8..2c26e12a 100644 --- a/xendit/payment_request/model/over_the_counter.py +++ b/xendit/payment_request/model/over_the_counter.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -33,7 +33,6 @@ globals()['OverTheCounterParameters'] = OverTheCounterParameters globals()['PaymentRequestCurrency'] = PaymentRequestCurrency - def lazy_import(): pass diff --git a/xendit/payment_request/model/over_the_counter_channel_code.py b/xendit/payment_request/model/over_the_counter_channel_code.py index 53a16433..9f7bc506 100644 --- a/xendit/payment_request/model/over_the_counter_channel_code.py +++ b/xendit/payment_request/model/over_the_counter_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/over_the_counter_channel_properties.py b/xendit/payment_request/model/over_the_counter_channel_properties.py index 8a277fa8..a9f2539e 100644 --- a/xendit/payment_request/model/over_the_counter_channel_properties.py +++ b/xendit/payment_request/model/over_the_counter_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/over_the_counter_parameters.py b/xendit/payment_request/model/over_the_counter_parameters.py index 1c581acc..50e5d10d 100644 --- a/xendit/payment_request/model/over_the_counter_parameters.py +++ b/xendit/payment_request/model/over_the_counter_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -31,7 +31,6 @@ globals()['OverTheCounterChannelProperties'] = OverTheCounterChannelProperties globals()['PaymentRequestCurrency'] = PaymentRequestCurrency - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_method.py b/xendit/payment_request/model/payment_method.py index adfa6ccf..c4ee5c52 100644 --- a/xendit/payment_request/model/payment_method.py +++ b/xendit/payment_request/model/payment_method.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -43,7 +43,6 @@ globals()['QRCode'] = QRCode globals()['VirtualAccount'] = VirtualAccount - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_method_parameters.py b/xendit/payment_request/model/payment_method_parameters.py index ea58ca15..5ed7838f 100644 --- a/xendit/payment_request/model/payment_method_parameters.py +++ b/xendit/payment_request/model/payment_method_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -39,7 +39,6 @@ globals()['QRCodeParameters'] = QRCodeParameters globals()['VirtualAccountParameters'] = VirtualAccountParameters - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_method_reusability.py b/xendit/payment_request/model/payment_method_reusability.py index 4c9b81e1..8ba5628f 100644 --- a/xendit/payment_request/model/payment_method_reusability.py +++ b/xendit/payment_request/model/payment_method_reusability.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_method_status.py b/xendit/payment_request/model/payment_method_status.py index 4661773a..2736d1b6 100644 --- a/xendit/payment_request/model/payment_method_status.py +++ b/xendit/payment_request/model/payment_method_status.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_method_type.py b/xendit/payment_request/model/payment_method_type.py index 6543eb90..6f5e6707 100644 --- a/xendit/payment_request/model/payment_method_type.py +++ b/xendit/payment_request/model/payment_method_type.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request.py b/xendit/payment_request/model/payment_request.py index a7f00525..6825bb85 100644 --- a/xendit/payment_request/model/payment_request.py +++ b/xendit/payment_request/model/payment_request.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -45,7 +45,6 @@ globals()['PaymentRequestShippingInformation'] = PaymentRequestShippingInformation globals()['PaymentRequestStatus'] = PaymentRequestStatus - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_action.py b/xendit/payment_request/model/payment_request_action.py index cdeac356..ba60db2b 100644 --- a/xendit/payment_request/model/payment_request_action.py +++ b/xendit/payment_request/model/payment_request_action.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass @@ -222,9 +221,9 @@ def _from_openapi_data(cls, action, url_type, method, url, qr_code, *args, **kwa def __init__(self, action: str, url_type: str, - method: str, - url: str, - qr_code: str, + method: str | None, + url: str | None, + qr_code: str | None, *args, **kwargs ): # noqa: E501 """PaymentRequestAction - a model defined in OpenAPI diff --git a/xendit/payment_request/model/payment_request_auth_parameters.py b/xendit/payment_request/model/payment_request_auth_parameters.py index 11a34994..89fdbd0a 100644 --- a/xendit/payment_request/model/payment_request_auth_parameters.py +++ b/xendit/payment_request/model/payment_request_auth_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_basket.py b/xendit/payment_request/model/payment_request_basket.py index 6a663db8..edc024cd 100644 --- a/xendit/payment_request/model/payment_request_basket.py +++ b/xendit/payment_request/model/payment_request_basket.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -27,7 +27,6 @@ from xendit.payment_request.model.payment_request_basket_item import PaymentRequestBasketItem globals()['PaymentRequestBasketItem'] = PaymentRequestBasketItem - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_basket_item.py b/xendit/payment_request/model/payment_request_basket_item.py index ee3abb5b..ceb38b7a 100644 --- a/xendit/payment_request/model/payment_request_basket_item.py +++ b/xendit/payment_request/model/payment_request_basket_item.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_capture_method.py b/xendit/payment_request/model/payment_request_capture_method.py index 202d13f2..942efc98 100644 --- a/xendit/payment_request/model/payment_request_capture_method.py +++ b/xendit/payment_request/model/payment_request_capture_method.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_card_verification_results.py b/xendit/payment_request/model/payment_request_card_verification_results.py index e460ee67..d3ef033f 100644 --- a/xendit/payment_request/model/payment_request_card_verification_results.py +++ b/xendit/payment_request/model/payment_request_card_verification_results.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -27,7 +27,6 @@ from xendit.payment_request.model.payment_request_card_verification_results_three_dee_secure import PaymentRequestCardVerificationResultsThreeDeeSecure globals()['PaymentRequestCardVerificationResultsThreeDeeSecure'] = PaymentRequestCardVerificationResultsThreeDeeSecure - def lazy_import(): pass @@ -201,7 +200,7 @@ def _from_openapi_data(cls, three_d_secure, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, - three_d_secure: PaymentRequestCardVerificationResultsThreeDeeSecure, + three_d_secure: PaymentRequestCardVerificationResultsThreeDeeSecure | None, cvv_result: str | None = None, address_verification_result: str | None = None, *args, **kwargs diff --git a/xendit/payment_request/model/payment_request_card_verification_results_three_dee_secure.py b/xendit/payment_request/model/payment_request_card_verification_results_three_dee_secure.py index 89ce927a..168c43bc 100644 --- a/xendit/payment_request/model/payment_request_card_verification_results_three_dee_secure.py +++ b/xendit/payment_request/model/payment_request_card_verification_results_three_dee_secure.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_channel_properties.py b/xendit/payment_request/model/payment_request_channel_properties.py index 2d1af100..b80db562 100644 --- a/xendit/payment_request/model/payment_request_channel_properties.py +++ b/xendit/payment_request/model/payment_request_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_country.py b/xendit/payment_request/model/payment_request_country.py index 0d4dbf20..d38e4db1 100644 --- a/xendit/payment_request/model/payment_request_country.py +++ b/xendit/payment_request/model/payment_request_country.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_currency.py b/xendit/payment_request/model/payment_request_currency.py index ec5a9727..dcef1f6e 100644 --- a/xendit/payment_request/model/payment_request_currency.py +++ b/xendit/payment_request/model/payment_request_currency.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_initiator.py b/xendit/payment_request/model/payment_request_initiator.py index d2f6daf7..b83fca13 100644 --- a/xendit/payment_request/model/payment_request_initiator.py +++ b/xendit/payment_request/model/payment_request_initiator.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_list_response.py b/xendit/payment_request/model/payment_request_list_response.py index 9480dd12..b2c1ef05 100644 --- a/xendit/payment_request/model/payment_request_list_response.py +++ b/xendit/payment_request/model/payment_request_list_response.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -27,7 +27,6 @@ from xendit.payment_request.model.payment_request import PaymentRequest globals()['PaymentRequest'] = PaymentRequest - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_parameters.py b/xendit/payment_request/model/payment_request_parameters.py index 6afcdb07..8baff99d 100644 --- a/xendit/payment_request/model/payment_request_parameters.py +++ b/xendit/payment_request/model/payment_request_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -39,7 +39,6 @@ globals()['PaymentRequestParametersChannelProperties'] = PaymentRequestParametersChannelProperties globals()['PaymentRequestShippingInformation'] = PaymentRequestShippingInformation - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_parameters_channel_properties.py b/xendit/payment_request/model/payment_request_parameters_channel_properties.py index 5930b7ec..d6ba6347 100644 --- a/xendit/payment_request/model/payment_request_parameters_channel_properties.py +++ b/xendit/payment_request/model/payment_request_parameters_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -29,7 +29,6 @@ globals()['PaymentRequestChannelProperties'] = PaymentRequestChannelProperties globals()['PaymentRequestParametersChannelPropertiesAllOf'] = PaymentRequestParametersChannelPropertiesAllOf - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_parameters_channel_properties_all_of.py b/xendit/payment_request/model/payment_request_parameters_channel_properties_all_of.py index d0dfe67f..8d7dd19c 100644 --- a/xendit/payment_request/model/payment_request_parameters_channel_properties_all_of.py +++ b/xendit/payment_request/model/payment_request_parameters_channel_properties_all_of.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_shipping_information.py b/xendit/payment_request/model/payment_request_shipping_information.py index b0535f5f..8017d48c 100644 --- a/xendit/payment_request/model/payment_request_shipping_information.py +++ b/xendit/payment_request/model/payment_request_shipping_information.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/payment_request_status.py b/xendit/payment_request/model/payment_request_status.py index c2ff324c..caee3aeb 100644 --- a/xendit/payment_request/model/payment_request_status.py +++ b/xendit/payment_request/model/payment_request_status.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/qr_code.py b/xendit/payment_request/model/qr_code.py index b0480599..e6d9e1f0 100644 --- a/xendit/payment_request/model/qr_code.py +++ b/xendit/payment_request/model/qr_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -31,7 +31,6 @@ globals()['QRCodeChannelProperties'] = QRCodeChannelProperties globals()['QRCodeParameters'] = QRCodeParameters - def lazy_import(): pass diff --git a/xendit/payment_request/model/qr_code_channel_code.py b/xendit/payment_request/model/qr_code_channel_code.py index f4841f5c..58828be0 100644 --- a/xendit/payment_request/model/qr_code_channel_code.py +++ b/xendit/payment_request/model/qr_code_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/qr_code_channel_properties.py b/xendit/payment_request/model/qr_code_channel_properties.py index 52735beb..d966a6f9 100644 --- a/xendit/payment_request/model/qr_code_channel_properties.py +++ b/xendit/payment_request/model/qr_code_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/qr_code_parameters.py b/xendit/payment_request/model/qr_code_parameters.py index 5cbb40c6..e8680620 100644 --- a/xendit/payment_request/model/qr_code_parameters.py +++ b/xendit/payment_request/model/qr_code_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -29,7 +29,6 @@ globals()['QRCodeChannelCode'] = QRCodeChannelCode globals()['QRCodeChannelProperties'] = QRCodeChannelProperties - def lazy_import(): pass diff --git a/xendit/payment_request/model/virtual_account.py b/xendit/payment_request/model/virtual_account.py index fe8a3035..f7e65dcc 100644 --- a/xendit/payment_request/model/virtual_account.py +++ b/xendit/payment_request/model/virtual_account.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -37,7 +37,6 @@ globals()['VirtualAccountChannelProperties'] = VirtualAccountChannelProperties globals()['VirtualAccountParameters'] = VirtualAccountParameters - def lazy_import(): pass diff --git a/xendit/payment_request/model/virtual_account_all_of.py b/xendit/payment_request/model/virtual_account_all_of.py index 1c2e997c..85b2435f 100644 --- a/xendit/payment_request/model/virtual_account_all_of.py +++ b/xendit/payment_request/model/virtual_account_all_of.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -27,7 +27,6 @@ from xendit.payment_request.model.virtual_account_alternative_display import VirtualAccountAlternativeDisplay globals()['VirtualAccountAlternativeDisplay'] = VirtualAccountAlternativeDisplay - def lazy_import(): pass diff --git a/xendit/payment_request/model/virtual_account_alternative_display.py b/xendit/payment_request/model/virtual_account_alternative_display.py index b9523b57..b934522b 100644 --- a/xendit/payment_request/model/virtual_account_alternative_display.py +++ b/xendit/payment_request/model/virtual_account_alternative_display.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/virtual_account_channel_code.py b/xendit/payment_request/model/virtual_account_channel_code.py index 51f99153..3484b326 100644 --- a/xendit/payment_request/model/virtual_account_channel_code.py +++ b/xendit/payment_request/model/virtual_account_channel_code.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/virtual_account_channel_properties.py b/xendit/payment_request/model/virtual_account_channel_properties.py index 41af5ffd..9e0ed112 100644 --- a/xendit/payment_request/model/virtual_account_channel_properties.py +++ b/xendit/payment_request/model/virtual_account_channel_properties.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payment_request/model/virtual_account_parameters.py b/xendit/payment_request/model/virtual_account_parameters.py index 213723d3..b54eff85 100644 --- a/xendit/payment_request/model/virtual_account_parameters.py +++ b/xendit/payment_request/model/virtual_account_parameters.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 1.44.0 + The version of the XENDIT API: 1.44.1 """ @@ -31,7 +31,6 @@ globals()['VirtualAccountChannelCode'] = VirtualAccountChannelCode globals()['VirtualAccountChannelProperties'] = VirtualAccountChannelProperties - def lazy_import(): pass diff --git a/xendit/payment_request/payment_request_api.py b/xendit/payment_request/payment_request_api.py index 4d179046..10186bff 100644 --- a/xendit/payment_request/payment_request_api.py +++ b/xendit/payment_request/payment_request_api.py @@ -3,7 +3,7 @@ This API is used for Payment Requests # noqa: E501 - The version of the OpenAPI document: 1.44.0 + The version of the OpenAPI document: 1.44.1 """ import re # noqa: F401 diff --git a/xendit/payout/model/channel.py b/xendit/payout/model/channel.py index aabf0371..5f9b7fe9 100644 --- a/xendit/payout/model/channel.py +++ b/xendit/payout/model/channel.py @@ -29,7 +29,6 @@ globals()['ChannelAmountLimits'] = ChannelAmountLimits globals()['ChannelCategory'] = ChannelCategory - def lazy_import(): pass diff --git a/xendit/payout/model/channel_account_type.py b/xendit/payout/model/channel_account_type.py index 816d3fb4..c0aa4efd 100644 --- a/xendit/payout/model/channel_account_type.py +++ b/xendit/payout/model/channel_account_type.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payout/model/channel_amount_limits.py b/xendit/payout/model/channel_amount_limits.py index 5e7cd357..b69f23f7 100644 --- a/xendit/payout/model/channel_amount_limits.py +++ b/xendit/payout/model/channel_amount_limits.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payout/model/channel_category.py b/xendit/payout/model/channel_category.py index ab1017c7..5b80071f 100644 --- a/xendit/payout/model/channel_category.py +++ b/xendit/payout/model/channel_category.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payout/model/create_payout_request.py b/xendit/payout/model/create_payout_request.py index 600b8b20..eb3847a1 100644 --- a/xendit/payout/model/create_payout_request.py +++ b/xendit/payout/model/create_payout_request.py @@ -29,7 +29,6 @@ globals()['DigitalPayoutChannelProperties'] = DigitalPayoutChannelProperties globals()['ReceiptNotification'] = ReceiptNotification - def lazy_import(): pass diff --git a/xendit/payout/model/digital_payout_channel_properties.py b/xendit/payout/model/digital_payout_channel_properties.py index d288588f..fb634640 100644 --- a/xendit/payout/model/digital_payout_channel_properties.py +++ b/xendit/payout/model/digital_payout_channel_properties.py @@ -27,7 +27,6 @@ from xendit.payout.model.channel_account_type import ChannelAccountType globals()['ChannelAccountType'] = ChannelAccountType - def lazy_import(): pass diff --git a/xendit/payout/model/error.py b/xendit/payout/model/error.py index 7349cb5f..690ceec2 100644 --- a/xendit/payout/model/error.py +++ b/xendit/payout/model/error.py @@ -27,7 +27,6 @@ from xendit.payout.model.error_errors_inner import ErrorErrorsInner globals()['ErrorErrorsInner'] = ErrorErrorsInner - def lazy_import(): pass diff --git a/xendit/payout/model/error_errors_inner.py b/xendit/payout/model/error_errors_inner.py index a20d52e8..0af1b944 100644 --- a/xendit/payout/model/error_errors_inner.py +++ b/xendit/payout/model/error_errors_inner.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payout/model/get_payouts200_response.py b/xendit/payout/model/get_payouts200_response.py index 54e6b9d8..d7b990ab 100644 --- a/xendit/payout/model/get_payouts200_response.py +++ b/xendit/payout/model/get_payouts200_response.py @@ -29,7 +29,6 @@ globals()['GetPayouts200ResponseDataInner'] = GetPayouts200ResponseDataInner globals()['GetPayouts200ResponseLinks'] = GetPayouts200ResponseLinks - def lazy_import(): pass diff --git a/xendit/payout/model/get_payouts200_response_data_inner.py b/xendit/payout/model/get_payouts200_response_data_inner.py index 228221b9..75d1abb6 100644 --- a/xendit/payout/model/get_payouts200_response_data_inner.py +++ b/xendit/payout/model/get_payouts200_response_data_inner.py @@ -31,7 +31,6 @@ globals()['Payout'] = Payout globals()['ReceiptNotification'] = ReceiptNotification - def lazy_import(): pass diff --git a/xendit/payout/model/get_payouts200_response_links.py b/xendit/payout/model/get_payouts200_response_links.py index 4e2eb39b..266d1229 100644 --- a/xendit/payout/model/get_payouts200_response_links.py +++ b/xendit/payout/model/get_payouts200_response_links.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payout/model/payout.py b/xendit/payout/model/payout.py index ac7b9dd9..2d4779e9 100644 --- a/xendit/payout/model/payout.py +++ b/xendit/payout/model/payout.py @@ -33,7 +33,6 @@ globals()['PayoutAllOf'] = PayoutAllOf globals()['ReceiptNotification'] = ReceiptNotification - def lazy_import(): pass diff --git a/xendit/payout/model/payout_all_of.py b/xendit/payout/model/payout_all_of.py index 09909cec..fc90d617 100644 --- a/xendit/payout/model/payout_all_of.py +++ b/xendit/payout/model/payout_all_of.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/payout/model/receipt_notification.py b/xendit/payout/model/receipt_notification.py index 52c9b6ed..9ede4bcb 100644 --- a/xendit/payout/model/receipt_notification.py +++ b/xendit/payout/model/receipt_notification.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/refund/model/create_refund.py b/xendit/refund/model/create_refund.py index fe978efd..d085db15 100644 --- a/xendit/refund/model/create_refund.py +++ b/xendit/refund/model/create_refund.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/refund/model/create_refund400_response.py b/xendit/refund/model/create_refund400_response.py index b81d50ab..1557a0d3 100644 --- a/xendit/refund/model/create_refund400_response.py +++ b/xendit/refund/model/create_refund400_response.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/refund/model/create_refund403_response.py b/xendit/refund/model/create_refund403_response.py index b6eb8773..31eb9a5b 100644 --- a/xendit/refund/model/create_refund403_response.py +++ b/xendit/refund/model/create_refund403_response.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/refund/model/create_refund404_response.py b/xendit/refund/model/create_refund404_response.py index cb9f9a49..8bf87031 100644 --- a/xendit/refund/model/create_refund404_response.py +++ b/xendit/refund/model/create_refund404_response.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/refund/model/create_refund409_response.py b/xendit/refund/model/create_refund409_response.py index 4c2e69cb..6c27261b 100644 --- a/xendit/refund/model/create_refund409_response.py +++ b/xendit/refund/model/create_refund409_response.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/refund/model/create_refund503_response.py b/xendit/refund/model/create_refund503_response.py index 28c5822b..1a57d339 100644 --- a/xendit/refund/model/create_refund503_response.py +++ b/xendit/refund/model/create_refund503_response.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/refund/model/create_refund_default_response.py b/xendit/refund/model/create_refund_default_response.py index 547af60c..3dadc869 100644 --- a/xendit/refund/model/create_refund_default_response.py +++ b/xendit/refund/model/create_refund_default_response.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/refund/model/refund.py b/xendit/refund/model/refund.py index 642e019a..c29e3ad2 100644 --- a/xendit/refund/model/refund.py +++ b/xendit/refund/model/refund.py @@ -25,7 +25,6 @@ from xendit.exceptions import ApiAttributeError - def lazy_import(): pass diff --git a/xendit/refund/model/refund_list.py b/xendit/refund/model/refund_list.py index 7cd8d94d..562352eb 100644 --- a/xendit/refund/model/refund_list.py +++ b/xendit/refund/model/refund_list.py @@ -27,7 +27,6 @@ from xendit.refund.model.refund import Refund globals()['Refund'] = Refund - def lazy_import(): pass diff --git a/xendit/rest.py b/xendit/rest.py index 2e05ff4a..d4203718 100644 --- a/xendit/rest.py +++ b/xendit/rest.py @@ -1,5 +1,5 @@ """ - The version of the XENDIT API: 2.87.2 + The version of the XENDIT API: 1.44.1 """