vortex-sdk 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. vortex/__init__.py +265 -0
  2. vortex/api/__init__.py +24 -0
  3. vortex/api/billing_api.py +34608 -0
  4. vortex/api/catalog_api.py +708 -0
  5. vortex/api/checkout_api.py +372 -0
  6. vortex/api/credit_notes_api.py +1688 -0
  7. vortex/api/customer_balance_api.py +1747 -0
  8. vortex/api/customers_api.py +387 -0
  9. vortex/api/discounts_api.py +2623 -0
  10. vortex/api/entitlements_api.py +1646 -0
  11. vortex/api/hosted_api.py +2855 -0
  12. vortex/api/invoices_api.py +2402 -0
  13. vortex/api/payables_api.py +1380 -0
  14. vortex/api/payment_methods_api.py +2069 -0
  15. vortex/api/payment_requests_api.py +1877 -0
  16. vortex/api/payments_api.py +694 -0
  17. vortex/api/payments_readiness_api.py +2311 -0
  18. vortex/api/public_api.py +6931 -0
  19. vortex/api/quotes_api.py +6817 -0
  20. vortex/api/receipts_api.py +1111 -0
  21. vortex/api/subscriptions_api.py +1059 -0
  22. vortex/api/tax_api.py +1397 -0
  23. vortex/api/webhooks_api.py +4931 -0
  24. vortex/api_client.py +804 -0
  25. vortex/api_response.py +21 -0
  26. vortex/configuration.py +658 -0
  27. vortex/exceptions.py +218 -0
  28. vortex/models/__init__.py +104 -0
  29. vortex/models/api_error.py +103 -0
  30. vortex/models/api_error_error.py +114 -0
  31. vortex/models/api_write_envelope.py +101 -0
  32. vortex/models/apply_coupon_request.py +97 -0
  33. vortex/models/billing_order_form_sign_request.py +103 -0
  34. vortex/models/billing_order_form_signature_request_request.py +86 -0
  35. vortex/models/billing_order_form_void_request.py +86 -0
  36. vortex/models/billing_order_forms_expire_due_request.py +90 -0
  37. vortex/models/billing_order_update_request.py +99 -0
  38. vortex/models/billing_orders_execute_due_request.py +90 -0
  39. vortex/models/billing_quote_create_request.py +119 -0
  40. vortex/models/billing_quote_line_input.py +93 -0
  41. vortex/models/billing_quote_version_approve_request.py +87 -0
  42. vortex/models/billing_quote_version_create_request.py +103 -0
  43. vortex/models/billing_quote_version_update_request.py +102 -0
  44. vortex/models/billing_quote_version_void_request.py +96 -0
  45. vortex/models/checkout_session_line_item_request.py +91 -0
  46. vortex/models/coupon_targets.py +89 -0
  47. vortex/models/create_checkout_session_request.py +140 -0
  48. vortex/models/create_coupon_request.py +132 -0
  49. vortex/models/create_deposit_balance_payable_request.py +172 -0
  50. vortex/models/create_installment_payable_request.py +170 -0
  51. vortex/models/create_payable_request.py +158 -0
  52. vortex/models/create_recurring_payable_request.py +181 -0
  53. vortex/models/create_recurring_payable_request_cadence.py +96 -0
  54. vortex/models/credit_note_create_line.py +105 -0
  55. vortex/models/credit_note_create_request.py +112 -0
  56. vortex/models/credit_note_reason.py +39 -0
  57. vortex/models/credit_note_refund_reconcile_request.py +86 -0
  58. vortex/models/credit_note_refund_request.py +94 -0
  59. vortex/models/customer_balance_targets.py +102 -0
  60. vortex/models/customer_default_payment_method_request.py +88 -0
  61. vortex/models/customer_payment_method_archive_request.py +88 -0
  62. vortex/models/customer_payment_method_attach_request.py +94 -0
  63. vortex/models/customer_payment_method_setup_request.py +100 -0
  64. vortex/models/customer_upsert_request.py +96 -0
  65. vortex/models/expire_customer_balance_request.py +98 -0
  66. vortex/models/grant_customer_balance_from_payment_request.py +103 -0
  67. vortex/models/grant_customer_balance_request.py +106 -0
  68. vortex/models/grant_entitlement_request.py +106 -0
  69. vortex/models/invoice_collect_request.py +86 -0
  70. vortex/models/invoice_create_request.py +92 -0
  71. vortex/models/invoice_finalize_request.py +86 -0
  72. vortex/models/invoice_mark_uncollectible_request.py +90 -0
  73. vortex/models/invoice_tax.py +142 -0
  74. vortex/models/invoice_void_request.py +88 -0
  75. vortex/models/merchant_account_create_request.py +183 -0
  76. vortex/models/merchant_address.py +96 -0
  77. vortex/models/merchant_associated_identity.py +114 -0
  78. vortex/models/merchant_onboarding_link_request.py +95 -0
  79. vortex/models/merchant_profile_date.py +90 -0
  80. vortex/models/merchant_settlement_bank_account.py +94 -0
  81. vortex/models/merchant_tax_profile_request.py +125 -0
  82. vortex/models/merchant_tax_profile_request_registrations_inner.py +88 -0
  83. vortex/models/merchant_underwriting_data.py +127 -0
  84. vortex/models/merchant_underwriting_data_card_volume_distribution.py +90 -0
  85. vortex/models/merchant_underwriting_data_volume_distribution_by_business_type.py +90 -0
  86. vortex/models/open_api_invoice_tax_response.py +92 -0
  87. vortex/models/open_api_invoice_tax_response_all_of_data.py +92 -0
  88. vortex/models/payment_request_collect_request.py +86 -0
  89. vortex/models/payment_request_create_request.py +100 -0
  90. vortex/models/payment_request_link_create_request.py +89 -0
  91. vortex/models/price_create_request.py +122 -0
  92. vortex/models/product_create_request.py +92 -0
  93. vortex/models/reverse_customer_balance_request.py +98 -0
  94. vortex/models/revoke_entitlement_request.py +106 -0
  95. vortex/models/subscription_change_request.py +111 -0
  96. vortex/models/subscription_create_request.py +122 -0
  97. vortex/models/subscription_item_change_preview_request.py +100 -0
  98. vortex/models/subscription_item_change_request_item.py +91 -0
  99. vortex/models/tax_address.py +96 -0
  100. vortex/models/tax_behavior.py +36 -0
  101. vortex/models/tax_behavior_policy.py +100 -0
  102. vortex/models/tax_behavior_policy_request.py +89 -0
  103. vortex/models/tax_failure.py +104 -0
  104. vortex/models/tax_finalize_request.py +98 -0
  105. vortex/models/tax_jurisdiction_evidence.py +94 -0
  106. vortex/models/tax_line_evidence.py +103 -0
  107. vortex/models/tax_quote_request.py +98 -0
  108. vortex/models/terminate_applied_coupon_request.py +87 -0
  109. vortex/models/terminate_coupon_request.py +87 -0
  110. vortex/models/webhook_deliveries_dispatch_request.py +91 -0
  111. vortex/models/webhook_deliveries_redrive_request.py +107 -0
  112. vortex/models/webhook_delivery_replay_request.py +88 -0
  113. vortex/models/webhook_endpoint_create_request.py +91 -0
  114. vortex/models/webhook_endpoint_secret_rotate_request.py +87 -0
  115. vortex/models/webhook_endpoint_test_request.py +88 -0
  116. vortex/models/webhook_endpoint_update_request.py +103 -0
  117. vortex/models/webhook_event_resend_request.py +86 -0
  118. vortex/rest.py +263 -0
  119. vortex_sdk-0.2.0.dist-info/METADATA +34 -0
  120. vortex_sdk-0.2.0.dist-info/RECORD +123 -0
  121. vortex_sdk-0.2.0.dist-info/WHEEL +5 -0
  122. vortex_sdk-0.2.0.dist-info/licenses/LICENSE +21 -0
  123. vortex_sdk-0.2.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,183 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Vortex Payments API
5
+
6
+ Public Vortex Payments API for customers, subscriptions, invoices, payment requests, checkout, receipts, webhooks, tax.
7
+
8
+ The version of the OpenAPI document: 2026-08
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List, Optional, Union
22
+ from vortex.models.merchant_address import MerchantAddress
23
+ from vortex.models.merchant_associated_identity import MerchantAssociatedIdentity
24
+ from vortex.models.merchant_profile_date import MerchantProfileDate
25
+ from vortex.models.merchant_settlement_bank_account import MerchantSettlementBankAccount
26
+ from vortex.models.merchant_underwriting_data import MerchantUnderwritingData
27
+ from typing import Optional, Set
28
+ from typing_extensions import Self
29
+ from pydantic_core import to_jsonable_python
30
+
31
+ class MerchantAccountCreateRequest(BaseModel):
32
+ """
33
+ MerchantAccountCreateRequest
34
+ """ # noqa: E501
35
+ environment: StrictStr
36
+ external_merchant_ref: Optional[StrictStr] = Field(default=None, description="Your stable reference for this merchant. Optional; generated when omitted.", alias="externalMerchantRef")
37
+ display_name: StrictStr = Field(alias="displayName")
38
+ legal_entity_type: StrictStr = Field(alias="legalEntityType")
39
+ country: StrictStr
40
+ merchant_mode: StrictStr = Field(alias="merchantMode")
41
+ default_currency: StrictStr = Field(alias="defaultCurrency")
42
+ tenant_id: Optional[StrictStr] = Field(default=None, description="Must match the caller's organization when present; rejected otherwise.", alias="tenantId")
43
+ doing_business_as: Optional[StrictStr] = Field(default=None, alias="doingBusinessAs")
44
+ business_phone: Optional[StrictStr] = Field(default=None, alias="businessPhone")
45
+ business_tax_id: Optional[StrictStr] = Field(default=None, alias="businessTaxId")
46
+ phone: Optional[StrictStr] = None
47
+ tax_id: Optional[StrictStr] = Field(default=None, alias="taxId")
48
+ email: Optional[StrictStr] = None
49
+ first_name: Optional[StrictStr] = Field(default=None, alias="firstName")
50
+ last_name: Optional[StrictStr] = Field(default=None, alias="lastName")
51
+ mcc: Optional[StrictStr] = None
52
+ url: Optional[StrictStr] = None
53
+ max_transaction_amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="maxTransactionAmount")
54
+ ach_max_transaction_amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="achMaxTransactionAmount")
55
+ annual_card_volume: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="annualCardVolume")
56
+ principal_percentage_ownership: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="principalPercentageOwnership")
57
+ has_accepted_credit_cards_previously: Optional[StrictBool] = Field(default=None, alias="hasAcceptedCreditCardsPreviously")
58
+ date_of_birth: Optional[MerchantProfileDate] = Field(default=None, alias="dateOfBirth")
59
+ incorporation_date: Optional[MerchantProfileDate] = Field(default=None, alias="incorporationDate")
60
+ business_address: Optional[MerchantAddress] = Field(default=None, alias="businessAddress")
61
+ personal_address: Optional[MerchantAddress] = Field(default=None, alias="personalAddress")
62
+ settlement_bank_account: Optional[MerchantSettlementBankAccount] = Field(default=None, alias="settlementBankAccount")
63
+ associated_identities: Optional[List[MerchantAssociatedIdentity]] = Field(default=None, alias="associatedIdentities")
64
+ underwriting: Optional[MerchantUnderwritingData] = None
65
+ metadata: Optional[Dict[str, StrictStr]] = None
66
+ __properties: ClassVar[List[str]] = ["environment", "externalMerchantRef", "displayName", "legalEntityType", "country", "merchantMode", "defaultCurrency", "tenantId", "doingBusinessAs", "businessPhone", "businessTaxId", "phone", "taxId", "email", "firstName", "lastName", "mcc", "url", "maxTransactionAmount", "achMaxTransactionAmount", "annualCardVolume", "principalPercentageOwnership", "hasAcceptedCreditCardsPreviously", "dateOfBirth", "incorporationDate", "businessAddress", "personalAddress", "settlementBankAccount", "associatedIdentities", "underwriting", "metadata"]
67
+
68
+ @field_validator('environment')
69
+ def environment_validate_enum(cls, value):
70
+ """Validates the enum"""
71
+ if value not in set(['sandbox', 'production']):
72
+ raise ValueError("must be one of enum values ('sandbox', 'production')")
73
+ return value
74
+
75
+ model_config = ConfigDict(
76
+ validate_by_name=True,
77
+ validate_by_alias=True,
78
+ validate_assignment=True,
79
+ protected_namespaces=(),
80
+ )
81
+
82
+
83
+ def to_str(self) -> str:
84
+ """Returns the string representation of the model using alias"""
85
+ return pprint.pformat(self.model_dump(by_alias=True))
86
+
87
+ def to_json(self) -> str:
88
+ """Returns the JSON representation of the model using alias"""
89
+ return json.dumps(to_jsonable_python(self.to_dict()))
90
+
91
+ @classmethod
92
+ def from_json(cls, json_str: str) -> Optional[Self]:
93
+ """Create an instance of MerchantAccountCreateRequest from a JSON string"""
94
+ return cls.from_dict(json.loads(json_str))
95
+
96
+ def to_dict(self) -> Dict[str, Any]:
97
+ """Return the dictionary representation of the model using alias.
98
+
99
+ This has the following differences from calling pydantic's
100
+ `self.model_dump(by_alias=True)`:
101
+
102
+ * `None` is only added to the output dict for nullable fields that
103
+ were set at model initialization. Other fields with value `None`
104
+ are ignored.
105
+ """
106
+ excluded_fields: Set[str] = set([
107
+ ])
108
+
109
+ _dict = self.model_dump(
110
+ by_alias=True,
111
+ exclude=excluded_fields,
112
+ exclude_none=True,
113
+ )
114
+ # override the default output from pydantic by calling `to_dict()` of date_of_birth
115
+ if self.date_of_birth:
116
+ _dict['dateOfBirth'] = self.date_of_birth.to_dict()
117
+ # override the default output from pydantic by calling `to_dict()` of incorporation_date
118
+ if self.incorporation_date:
119
+ _dict['incorporationDate'] = self.incorporation_date.to_dict()
120
+ # override the default output from pydantic by calling `to_dict()` of business_address
121
+ if self.business_address:
122
+ _dict['businessAddress'] = self.business_address.to_dict()
123
+ # override the default output from pydantic by calling `to_dict()` of personal_address
124
+ if self.personal_address:
125
+ _dict['personalAddress'] = self.personal_address.to_dict()
126
+ # override the default output from pydantic by calling `to_dict()` of settlement_bank_account
127
+ if self.settlement_bank_account:
128
+ _dict['settlementBankAccount'] = self.settlement_bank_account.to_dict()
129
+ # override the default output from pydantic by calling `to_dict()` of each item in associated_identities (list)
130
+ _items = []
131
+ if self.associated_identities:
132
+ for _item_associated_identities in self.associated_identities:
133
+ if _item_associated_identities:
134
+ _items.append(_item_associated_identities.to_dict())
135
+ _dict['associatedIdentities'] = _items
136
+ # override the default output from pydantic by calling `to_dict()` of underwriting
137
+ if self.underwriting:
138
+ _dict['underwriting'] = self.underwriting.to_dict()
139
+ return _dict
140
+
141
+ @classmethod
142
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
143
+ """Create an instance of MerchantAccountCreateRequest from a dict"""
144
+ if obj is None:
145
+ return None
146
+
147
+ if not isinstance(obj, dict):
148
+ return cls.model_validate(obj)
149
+
150
+ _obj = cls.model_validate({
151
+ "environment": obj.get("environment"),
152
+ "externalMerchantRef": obj.get("externalMerchantRef"),
153
+ "displayName": obj.get("displayName"),
154
+ "legalEntityType": obj.get("legalEntityType"),
155
+ "country": obj.get("country"),
156
+ "merchantMode": obj.get("merchantMode"),
157
+ "defaultCurrency": obj.get("defaultCurrency"),
158
+ "tenantId": obj.get("tenantId"),
159
+ "doingBusinessAs": obj.get("doingBusinessAs"),
160
+ "businessPhone": obj.get("businessPhone"),
161
+ "businessTaxId": obj.get("businessTaxId"),
162
+ "phone": obj.get("phone"),
163
+ "taxId": obj.get("taxId"),
164
+ "email": obj.get("email"),
165
+ "firstName": obj.get("firstName"),
166
+ "lastName": obj.get("lastName"),
167
+ "mcc": obj.get("mcc"),
168
+ "url": obj.get("url"),
169
+ "maxTransactionAmount": obj.get("maxTransactionAmount"),
170
+ "achMaxTransactionAmount": obj.get("achMaxTransactionAmount"),
171
+ "annualCardVolume": obj.get("annualCardVolume"),
172
+ "principalPercentageOwnership": obj.get("principalPercentageOwnership"),
173
+ "hasAcceptedCreditCardsPreviously": obj.get("hasAcceptedCreditCardsPreviously"),
174
+ "dateOfBirth": MerchantProfileDate.from_dict(obj["dateOfBirth"]) if obj.get("dateOfBirth") is not None else None,
175
+ "incorporationDate": MerchantProfileDate.from_dict(obj["incorporationDate"]) if obj.get("incorporationDate") is not None else None,
176
+ "businessAddress": MerchantAddress.from_dict(obj["businessAddress"]) if obj.get("businessAddress") is not None else None,
177
+ "personalAddress": MerchantAddress.from_dict(obj["personalAddress"]) if obj.get("personalAddress") is not None else None,
178
+ "settlementBankAccount": MerchantSettlementBankAccount.from_dict(obj["settlementBankAccount"]) if obj.get("settlementBankAccount") is not None else None,
179
+ "associatedIdentities": [MerchantAssociatedIdentity.from_dict(_item) for _item in obj["associatedIdentities"]] if obj.get("associatedIdentities") is not None else None,
180
+ "underwriting": MerchantUnderwritingData.from_dict(obj["underwriting"]) if obj.get("underwriting") is not None else None,
181
+ "metadata": obj.get("metadata")
182
+ })
183
+ return _obj
@@ -0,0 +1,96 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Vortex Payments API
5
+
6
+ Public Vortex Payments API for customers, subscriptions, invoices, payment requests, checkout, receipts, webhooks, tax.
7
+
8
+ The version of the OpenAPI document: 2026-08
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+ from pydantic_core import to_jsonable_python
25
+
26
+ class MerchantAddress(BaseModel):
27
+ """
28
+ MerchantAddress
29
+ """ # noqa: E501
30
+ line1: StrictStr
31
+ line2: Optional[StrictStr] = None
32
+ city: StrictStr
33
+ region: Optional[StrictStr] = None
34
+ postal_code: StrictStr = Field(alias="postalCode")
35
+ country: StrictStr
36
+ __properties: ClassVar[List[str]] = ["line1", "line2", "city", "region", "postalCode", "country"]
37
+
38
+ model_config = ConfigDict(
39
+ validate_by_name=True,
40
+ validate_by_alias=True,
41
+ validate_assignment=True,
42
+ protected_namespaces=(),
43
+ )
44
+
45
+
46
+ def to_str(self) -> str:
47
+ """Returns the string representation of the model using alias"""
48
+ return pprint.pformat(self.model_dump(by_alias=True))
49
+
50
+ def to_json(self) -> str:
51
+ """Returns the JSON representation of the model using alias"""
52
+ return json.dumps(to_jsonable_python(self.to_dict()))
53
+
54
+ @classmethod
55
+ def from_json(cls, json_str: str) -> Optional[Self]:
56
+ """Create an instance of MerchantAddress from a JSON string"""
57
+ return cls.from_dict(json.loads(json_str))
58
+
59
+ def to_dict(self) -> Dict[str, Any]:
60
+ """Return the dictionary representation of the model using alias.
61
+
62
+ This has the following differences from calling pydantic's
63
+ `self.model_dump(by_alias=True)`:
64
+
65
+ * `None` is only added to the output dict for nullable fields that
66
+ were set at model initialization. Other fields with value `None`
67
+ are ignored.
68
+ """
69
+ excluded_fields: Set[str] = set([
70
+ ])
71
+
72
+ _dict = self.model_dump(
73
+ by_alias=True,
74
+ exclude=excluded_fields,
75
+ exclude_none=True,
76
+ )
77
+ return _dict
78
+
79
+ @classmethod
80
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
81
+ """Create an instance of MerchantAddress from a dict"""
82
+ if obj is None:
83
+ return None
84
+
85
+ if not isinstance(obj, dict):
86
+ return cls.model_validate(obj)
87
+
88
+ _obj = cls.model_validate({
89
+ "line1": obj.get("line1"),
90
+ "line2": obj.get("line2"),
91
+ "city": obj.get("city"),
92
+ "region": obj.get("region"),
93
+ "postalCode": obj.get("postalCode"),
94
+ "country": obj.get("country")
95
+ })
96
+ return _obj
@@ -0,0 +1,114 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Vortex Payments API
5
+
6
+ Public Vortex Payments API for customers, subscriptions, invoices, payment requests, checkout, receipts, webhooks, tax.
7
+
8
+ The version of the OpenAPI document: 2026-08
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional, Union
22
+ from vortex.models.merchant_address import MerchantAddress
23
+ from vortex.models.merchant_profile_date import MerchantProfileDate
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+ from pydantic_core import to_jsonable_python
27
+
28
+ class MerchantAssociatedIdentity(BaseModel):
29
+ """
30
+ MerchantAssociatedIdentity
31
+ """ # noqa: E501
32
+ identity_roles: List[StrictStr] = Field(alias="identityRoles")
33
+ relation_type: Optional[StrictStr] = Field(default=None, alias="relationType")
34
+ first_name: Optional[StrictStr] = Field(default=None, alias="firstName")
35
+ last_name: Optional[StrictStr] = Field(default=None, alias="lastName")
36
+ title: Optional[StrictStr] = None
37
+ email: Optional[StrictStr] = None
38
+ phone: Optional[StrictStr] = None
39
+ tax_id: Optional[StrictStr] = Field(default=None, alias="taxId")
40
+ principal_percentage_ownership: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="principalPercentageOwnership")
41
+ date_of_birth: Optional[MerchantProfileDate] = Field(default=None, alias="dateOfBirth")
42
+ personal_address: Optional[MerchantAddress] = Field(default=None, alias="personalAddress")
43
+ __properties: ClassVar[List[str]] = ["identityRoles", "relationType", "firstName", "lastName", "title", "email", "phone", "taxId", "principalPercentageOwnership", "dateOfBirth", "personalAddress"]
44
+
45
+ model_config = ConfigDict(
46
+ validate_by_name=True,
47
+ validate_by_alias=True,
48
+ validate_assignment=True,
49
+ protected_namespaces=(),
50
+ )
51
+
52
+
53
+ def to_str(self) -> str:
54
+ """Returns the string representation of the model using alias"""
55
+ return pprint.pformat(self.model_dump(by_alias=True))
56
+
57
+ def to_json(self) -> str:
58
+ """Returns the JSON representation of the model using alias"""
59
+ return json.dumps(to_jsonable_python(self.to_dict()))
60
+
61
+ @classmethod
62
+ def from_json(cls, json_str: str) -> Optional[Self]:
63
+ """Create an instance of MerchantAssociatedIdentity from a JSON string"""
64
+ return cls.from_dict(json.loads(json_str))
65
+
66
+ def to_dict(self) -> Dict[str, Any]:
67
+ """Return the dictionary representation of the model using alias.
68
+
69
+ This has the following differences from calling pydantic's
70
+ `self.model_dump(by_alias=True)`:
71
+
72
+ * `None` is only added to the output dict for nullable fields that
73
+ were set at model initialization. Other fields with value `None`
74
+ are ignored.
75
+ """
76
+ excluded_fields: Set[str] = set([
77
+ ])
78
+
79
+ _dict = self.model_dump(
80
+ by_alias=True,
81
+ exclude=excluded_fields,
82
+ exclude_none=True,
83
+ )
84
+ # override the default output from pydantic by calling `to_dict()` of date_of_birth
85
+ if self.date_of_birth:
86
+ _dict['dateOfBirth'] = self.date_of_birth.to_dict()
87
+ # override the default output from pydantic by calling `to_dict()` of personal_address
88
+ if self.personal_address:
89
+ _dict['personalAddress'] = self.personal_address.to_dict()
90
+ return _dict
91
+
92
+ @classmethod
93
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
94
+ """Create an instance of MerchantAssociatedIdentity from a dict"""
95
+ if obj is None:
96
+ return None
97
+
98
+ if not isinstance(obj, dict):
99
+ return cls.model_validate(obj)
100
+
101
+ _obj = cls.model_validate({
102
+ "identityRoles": obj.get("identityRoles"),
103
+ "relationType": obj.get("relationType"),
104
+ "firstName": obj.get("firstName"),
105
+ "lastName": obj.get("lastName"),
106
+ "title": obj.get("title"),
107
+ "email": obj.get("email"),
108
+ "phone": obj.get("phone"),
109
+ "taxId": obj.get("taxId"),
110
+ "principalPercentageOwnership": obj.get("principalPercentageOwnership"),
111
+ "dateOfBirth": MerchantProfileDate.from_dict(obj["dateOfBirth"]) if obj.get("dateOfBirth") is not None else None,
112
+ "personalAddress": MerchantAddress.from_dict(obj["personalAddress"]) if obj.get("personalAddress") is not None else None
113
+ })
114
+ return _obj
@@ -0,0 +1,95 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Vortex Payments API
5
+
6
+ Public Vortex Payments API for customers, subscriptions, invoices, payment requests, checkout, receipts, webhooks, tax.
7
+
8
+ The version of the OpenAPI document: 2026-08
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+ from pydantic_core import to_jsonable_python
25
+
26
+ class MerchantOnboardingLinkRequest(BaseModel):
27
+ """
28
+ MerchantOnboardingLinkRequest
29
+ """ # noqa: E501
30
+ environment: StrictStr
31
+ created_by_ref: StrictStr = Field(alias="createdByRef")
32
+ __properties: ClassVar[List[str]] = ["environment", "createdByRef"]
33
+
34
+ @field_validator('environment')
35
+ def environment_validate_enum(cls, value):
36
+ """Validates the enum"""
37
+ if value not in set(['sandbox', 'production']):
38
+ raise ValueError("must be one of enum values ('sandbox', 'production')")
39
+ return value
40
+
41
+ model_config = ConfigDict(
42
+ validate_by_name=True,
43
+ validate_by_alias=True,
44
+ validate_assignment=True,
45
+ protected_namespaces=(),
46
+ )
47
+
48
+
49
+ def to_str(self) -> str:
50
+ """Returns the string representation of the model using alias"""
51
+ return pprint.pformat(self.model_dump(by_alias=True))
52
+
53
+ def to_json(self) -> str:
54
+ """Returns the JSON representation of the model using alias"""
55
+ return json.dumps(to_jsonable_python(self.to_dict()))
56
+
57
+ @classmethod
58
+ def from_json(cls, json_str: str) -> Optional[Self]:
59
+ """Create an instance of MerchantOnboardingLinkRequest from a JSON string"""
60
+ return cls.from_dict(json.loads(json_str))
61
+
62
+ def to_dict(self) -> Dict[str, Any]:
63
+ """Return the dictionary representation of the model using alias.
64
+
65
+ This has the following differences from calling pydantic's
66
+ `self.model_dump(by_alias=True)`:
67
+
68
+ * `None` is only added to the output dict for nullable fields that
69
+ were set at model initialization. Other fields with value `None`
70
+ are ignored.
71
+ """
72
+ excluded_fields: Set[str] = set([
73
+ ])
74
+
75
+ _dict = self.model_dump(
76
+ by_alias=True,
77
+ exclude=excluded_fields,
78
+ exclude_none=True,
79
+ )
80
+ return _dict
81
+
82
+ @classmethod
83
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
84
+ """Create an instance of MerchantOnboardingLinkRequest from a dict"""
85
+ if obj is None:
86
+ return None
87
+
88
+ if not isinstance(obj, dict):
89
+ return cls.model_validate(obj)
90
+
91
+ _obj = cls.model_validate({
92
+ "environment": obj.get("environment"),
93
+ "createdByRef": obj.get("createdByRef")
94
+ })
95
+ return _obj
@@ -0,0 +1,90 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Vortex Payments API
5
+
6
+ Public Vortex Payments API for customers, subscriptions, invoices, payment requests, checkout, receipts, webhooks, tax.
7
+
8
+ The version of the OpenAPI document: 2026-08
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt
21
+ from typing import Any, ClassVar, Dict, List, Union
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+ from pydantic_core import to_jsonable_python
25
+
26
+ class MerchantProfileDate(BaseModel):
27
+ """
28
+ MerchantProfileDate
29
+ """ # noqa: E501
30
+ day: Union[StrictFloat, StrictInt]
31
+ month: Union[StrictFloat, StrictInt]
32
+ year: Union[StrictFloat, StrictInt]
33
+ __properties: ClassVar[List[str]] = ["day", "month", "year"]
34
+
35
+ model_config = ConfigDict(
36
+ validate_by_name=True,
37
+ validate_by_alias=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ return json.dumps(to_jsonable_python(self.to_dict()))
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of MerchantProfileDate from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([
67
+ ])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of MerchantProfileDate from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate({
86
+ "day": obj.get("day"),
87
+ "month": obj.get("month"),
88
+ "year": obj.get("year")
89
+ })
90
+ return _obj
@@ -0,0 +1,94 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Vortex Payments API
5
+
6
+ Public Vortex Payments API for customers, subscriptions, invoices, payment requests, checkout, receipts, webhooks, tax.
7
+
8
+ The version of the OpenAPI document: 2026-08
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from __future__ import annotations
16
+ import pprint
17
+ import re # noqa: F401
18
+ import json
19
+
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
21
+ from typing import Any, ClassVar, Dict, List, Optional
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+ from pydantic_core import to_jsonable_python
25
+
26
+ class MerchantSettlementBankAccount(BaseModel):
27
+ """
28
+ MerchantSettlementBankAccount
29
+ """ # noqa: E501
30
+ name: StrictStr
31
+ account_number: StrictStr = Field(alias="accountNumber")
32
+ bank_code: StrictStr = Field(alias="bankCode")
33
+ account_type: StrictStr = Field(alias="accountType")
34
+ attempt_validation_check: Optional[StrictBool] = Field(default=None, alias="attemptValidationCheck")
35
+ __properties: ClassVar[List[str]] = ["name", "accountNumber", "bankCode", "accountType", "attemptValidationCheck"]
36
+
37
+ model_config = ConfigDict(
38
+ validate_by_name=True,
39
+ validate_by_alias=True,
40
+ validate_assignment=True,
41
+ protected_namespaces=(),
42
+ )
43
+
44
+
45
+ def to_str(self) -> str:
46
+ """Returns the string representation of the model using alias"""
47
+ return pprint.pformat(self.model_dump(by_alias=True))
48
+
49
+ def to_json(self) -> str:
50
+ """Returns the JSON representation of the model using alias"""
51
+ return json.dumps(to_jsonable_python(self.to_dict()))
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of MerchantSettlementBankAccount from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ """
68
+ excluded_fields: Set[str] = set([
69
+ ])
70
+
71
+ _dict = self.model_dump(
72
+ by_alias=True,
73
+ exclude=excluded_fields,
74
+ exclude_none=True,
75
+ )
76
+ return _dict
77
+
78
+ @classmethod
79
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
80
+ """Create an instance of MerchantSettlementBankAccount from a dict"""
81
+ if obj is None:
82
+ return None
83
+
84
+ if not isinstance(obj, dict):
85
+ return cls.model_validate(obj)
86
+
87
+ _obj = cls.model_validate({
88
+ "name": obj.get("name"),
89
+ "accountNumber": obj.get("accountNumber"),
90
+ "bankCode": obj.get("bankCode"),
91
+ "accountType": obj.get("accountType"),
92
+ "attemptValidationCheck": obj.get("attemptValidationCheck")
93
+ })
94
+ return _obj