pluggy-sdk 1.0.0.post20__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 (213) hide show
  1. pluggy_sdk/__init__.py +220 -0
  2. pluggy_sdk/api/__init__.py +30 -0
  3. pluggy_sdk/api/account_api.py +588 -0
  4. pluggy_sdk/api/acquirer_anticipation_api.py +664 -0
  5. pluggy_sdk/api/acquirer_receivable_api.py +664 -0
  6. pluggy_sdk/api/acquirer_sale_api.py +664 -0
  7. pluggy_sdk/api/auth_api.py +605 -0
  8. pluggy_sdk/api/benefit_api.py +567 -0
  9. pluggy_sdk/api/bill_api.py +567 -0
  10. pluggy_sdk/api/bulk_payment_api.py +1127 -0
  11. pluggy_sdk/api/category_api.py +1096 -0
  12. pluggy_sdk/api/connector_api.py +979 -0
  13. pluggy_sdk/api/consent_api.py +576 -0
  14. pluggy_sdk/api/identity_api.py +581 -0
  15. pluggy_sdk/api/income_report_api.py +311 -0
  16. pluggy_sdk/api/investment_api.py +918 -0
  17. pluggy_sdk/api/items_api.py +1456 -0
  18. pluggy_sdk/api/loan_api.py +567 -0
  19. pluggy_sdk/api/payment_customer_api.py +1414 -0
  20. pluggy_sdk/api/payment_intent_api.py +842 -0
  21. pluggy_sdk/api/payment_receipts_api.py +842 -0
  22. pluggy_sdk/api/payment_recipient_api.py +1997 -0
  23. pluggy_sdk/api/payment_request_api.py +2739 -0
  24. pluggy_sdk/api/payment_schedule_api.py +823 -0
  25. pluggy_sdk/api/payroll_loan_api.py +561 -0
  26. pluggy_sdk/api/portfolio_yield_api.py +580 -0
  27. pluggy_sdk/api/smart_account_api.py +1704 -0
  28. pluggy_sdk/api/smart_account_transfer_api.py +610 -0
  29. pluggy_sdk/api/smart_transfer_api.py +1406 -0
  30. pluggy_sdk/api/transaction_api.py +963 -0
  31. pluggy_sdk/api/webhook_api.py +1406 -0
  32. pluggy_sdk/api_client.py +798 -0
  33. pluggy_sdk/api_response.py +21 -0
  34. pluggy_sdk/configuration.py +480 -0
  35. pluggy_sdk/exceptions.py +200 -0
  36. pluggy_sdk/models/__init__.py +178 -0
  37. pluggy_sdk/models/account.py +134 -0
  38. pluggy_sdk/models/accounts_list200_response.py +102 -0
  39. pluggy_sdk/models/acquirer_anticipation.py +117 -0
  40. pluggy_sdk/models/acquirer_anticipation_data.py +101 -0
  41. pluggy_sdk/models/acquirer_data.py +113 -0
  42. pluggy_sdk/models/acquirer_receivable.py +143 -0
  43. pluggy_sdk/models/acquirer_receivable_data.py +108 -0
  44. pluggy_sdk/models/acquirer_receivable_data_establishment.py +96 -0
  45. pluggy_sdk/models/acquirer_receivable_destination_account.py +92 -0
  46. pluggy_sdk/models/acquirer_receivable_related_sale.py +99 -0
  47. pluggy_sdk/models/acquirer_sale.py +171 -0
  48. pluggy_sdk/models/acquirer_sale_data.py +150 -0
  49. pluggy_sdk/models/acquirer_sale_installment.py +93 -0
  50. pluggy_sdk/models/acquirer_sale_installment_data.py +95 -0
  51. pluggy_sdk/models/address.py +110 -0
  52. pluggy_sdk/models/aggregated_portfolio.py +120 -0
  53. pluggy_sdk/models/aggregated_portfolio_response.py +102 -0
  54. pluggy_sdk/models/asset_distribution.py +88 -0
  55. pluggy_sdk/models/auth_request.py +90 -0
  56. pluggy_sdk/models/auth_response.py +88 -0
  57. pluggy_sdk/models/bank_data.py +92 -0
  58. pluggy_sdk/models/benefit_loan.py +121 -0
  59. pluggy_sdk/models/benefit_loan_client.py +102 -0
  60. pluggy_sdk/models/benefit_response.py +118 -0
  61. pluggy_sdk/models/benefit_response_paying_institution.py +94 -0
  62. pluggy_sdk/models/benefits_list200_response.py +102 -0
  63. pluggy_sdk/models/bill.py +109 -0
  64. pluggy_sdk/models/bill_finance_charge.py +103 -0
  65. pluggy_sdk/models/bills_list200_response.py +102 -0
  66. pluggy_sdk/models/boleto.py +121 -0
  67. pluggy_sdk/models/boleto_payer.py +90 -0
  68. pluggy_sdk/models/boleto_recipient.py +90 -0
  69. pluggy_sdk/models/bulk_payment.py +128 -0
  70. pluggy_sdk/models/bulk_payments_list200_response.py +102 -0
  71. pluggy_sdk/models/category.py +96 -0
  72. pluggy_sdk/models/client_category_rule.py +94 -0
  73. pluggy_sdk/models/company.py +90 -0
  74. pluggy_sdk/models/connect_token_request.py +94 -0
  75. pluggy_sdk/models/connect_token_response.py +88 -0
  76. pluggy_sdk/models/connector.py +145 -0
  77. pluggy_sdk/models/connector_credential.py +121 -0
  78. pluggy_sdk/models/connector_health.py +96 -0
  79. pluggy_sdk/models/connector_health_details.py +90 -0
  80. pluggy_sdk/models/connector_list_response.py +102 -0
  81. pluggy_sdk/models/connector_user_action.py +93 -0
  82. pluggy_sdk/models/consent.py +120 -0
  83. pluggy_sdk/models/create_boleto_payment_request.py +98 -0
  84. pluggy_sdk/models/create_bulk_payment.py +96 -0
  85. pluggy_sdk/models/create_client_category_rule.py +92 -0
  86. pluggy_sdk/models/create_item.py +113 -0
  87. pluggy_sdk/models/create_item_parameters.py +144 -0
  88. pluggy_sdk/models/create_or_update_payment_customer.py +105 -0
  89. pluggy_sdk/models/create_payment_customer_request_body.py +103 -0
  90. pluggy_sdk/models/create_payment_intent.py +110 -0
  91. pluggy_sdk/models/create_payment_recipient.py +104 -0
  92. pluggy_sdk/models/create_payment_request.py +110 -0
  93. pluggy_sdk/models/create_pix_qr_payment_request.py +96 -0
  94. pluggy_sdk/models/create_smart_account_request.py +102 -0
  95. pluggy_sdk/models/create_smart_account_transfer_request.py +92 -0
  96. pluggy_sdk/models/create_smart_transfer_payment.py +96 -0
  97. pluggy_sdk/models/create_smart_transfer_preauthorization.py +104 -0
  98. pluggy_sdk/models/create_webhook.py +99 -0
  99. pluggy_sdk/models/credential_select_option.py +90 -0
  100. pluggy_sdk/models/credit_card_metadata.py +101 -0
  101. pluggy_sdk/models/credit_data.py +127 -0
  102. pluggy_sdk/models/custom.py +100 -0
  103. pluggy_sdk/models/daily.py +101 -0
  104. pluggy_sdk/models/document.py +100 -0
  105. pluggy_sdk/models/email.py +100 -0
  106. pluggy_sdk/models/global_error_response.py +94 -0
  107. pluggy_sdk/models/i_count_response.py +88 -0
  108. pluggy_sdk/models/identity_relation.py +102 -0
  109. pluggy_sdk/models/identity_response.py +149 -0
  110. pluggy_sdk/models/income_report.py +90 -0
  111. pluggy_sdk/models/income_reports_response.py +102 -0
  112. pluggy_sdk/models/investment.py +192 -0
  113. pluggy_sdk/models/investment_expenses.py +108 -0
  114. pluggy_sdk/models/investment_metadata.py +100 -0
  115. pluggy_sdk/models/investment_transaction.py +124 -0
  116. pluggy_sdk/models/investments_list200_response.py +102 -0
  117. pluggy_sdk/models/item.py +150 -0
  118. pluggy_sdk/models/item_creation_error_response.py +102 -0
  119. pluggy_sdk/models/item_error.py +94 -0
  120. pluggy_sdk/models/item_options.py +90 -0
  121. pluggy_sdk/models/loan.py +199 -0
  122. pluggy_sdk/models/loan_contracted_fee.py +118 -0
  123. pluggy_sdk/models/loan_contracted_finance_charge.py +92 -0
  124. pluggy_sdk/models/loan_installment_balloon_payment.py +95 -0
  125. pluggy_sdk/models/loan_installment_balloon_payment_amount.py +90 -0
  126. pluggy_sdk/models/loan_installments.py +130 -0
  127. pluggy_sdk/models/loan_interest_rate.py +136 -0
  128. pluggy_sdk/models/loan_payment_release.py +103 -0
  129. pluggy_sdk/models/loan_payment_release_over_parcel.py +106 -0
  130. pluggy_sdk/models/loan_payment_release_over_parcel_charge.py +92 -0
  131. pluggy_sdk/models/loan_payment_release_over_parcel_fee.py +92 -0
  132. pluggy_sdk/models/loan_payments.py +98 -0
  133. pluggy_sdk/models/loan_warranty.py +94 -0
  134. pluggy_sdk/models/loans_list200_response.py +102 -0
  135. pluggy_sdk/models/merchant.py +96 -0
  136. pluggy_sdk/models/monthly.py +103 -0
  137. pluggy_sdk/models/monthly_portfolio.py +100 -0
  138. pluggy_sdk/models/monthly_portfolio_response.py +102 -0
  139. pluggy_sdk/models/not_authenticated_response.py +90 -0
  140. pluggy_sdk/models/page_response_acquirer_anticipations.py +102 -0
  141. pluggy_sdk/models/page_response_acquirer_receivables.py +102 -0
  142. pluggy_sdk/models/page_response_acquirer_sales.py +102 -0
  143. pluggy_sdk/models/page_response_category_rules.py +102 -0
  144. pluggy_sdk/models/page_response_consents.py +102 -0
  145. pluggy_sdk/models/page_response_investment_transactions.py +102 -0
  146. pluggy_sdk/models/page_response_transactions.py +102 -0
  147. pluggy_sdk/models/parameter_validation_error.py +92 -0
  148. pluggy_sdk/models/parameter_validation_response.py +98 -0
  149. pluggy_sdk/models/payment_customer.py +105 -0
  150. pluggy_sdk/models/payment_customers_list200_response.py +102 -0
  151. pluggy_sdk/models/payment_data.py +105 -0
  152. pluggy_sdk/models/payment_data_participant.py +102 -0
  153. pluggy_sdk/models/payment_institution.py +101 -0
  154. pluggy_sdk/models/payment_intent.py +145 -0
  155. pluggy_sdk/models/payment_intent_parameter.py +90 -0
  156. pluggy_sdk/models/payment_intents_list200_response.py +102 -0
  157. pluggy_sdk/models/payment_receipt.py +120 -0
  158. pluggy_sdk/models/payment_receipt_bank_account.py +92 -0
  159. pluggy_sdk/models/payment_receipt_person.py +96 -0
  160. pluggy_sdk/models/payment_recipient.py +110 -0
  161. pluggy_sdk/models/payment_recipient_account.py +92 -0
  162. pluggy_sdk/models/payment_recipients_institution_list200_response.py +102 -0
  163. pluggy_sdk/models/payment_recipients_list200_response.py +102 -0
  164. pluggy_sdk/models/payment_request.py +132 -0
  165. pluggy_sdk/models/payment_request_callback_urls.py +92 -0
  166. pluggy_sdk/models/payment_request_receipt_list200_response.py +102 -0
  167. pluggy_sdk/models/payment_request_schedule.py +183 -0
  168. pluggy_sdk/models/payment_requests_list200_response.py +102 -0
  169. pluggy_sdk/models/payment_schedules_list200_response.py +102 -0
  170. pluggy_sdk/models/payroll_loan.py +121 -0
  171. pluggy_sdk/models/payroll_loan_client.py +102 -0
  172. pluggy_sdk/models/payroll_loan_response.py +125 -0
  173. pluggy_sdk/models/payroll_loan_response_client.py +102 -0
  174. pluggy_sdk/models/payroll_loans_list200_response.py +102 -0
  175. pluggy_sdk/models/percentage_over_index.py +90 -0
  176. pluggy_sdk/models/phone_number.py +100 -0
  177. pluggy_sdk/models/pix_data.py +90 -0
  178. pluggy_sdk/models/schedule_payment.py +102 -0
  179. pluggy_sdk/models/schedule_type_custom.py +100 -0
  180. pluggy_sdk/models/schedule_type_daily.py +101 -0
  181. pluggy_sdk/models/schedule_type_monthly.py +103 -0
  182. pluggy_sdk/models/schedule_type_single.py +98 -0
  183. pluggy_sdk/models/schedule_type_weekly.py +110 -0
  184. pluggy_sdk/models/single.py +98 -0
  185. pluggy_sdk/models/smart_account.py +107 -0
  186. pluggy_sdk/models/smart_account_address.py +112 -0
  187. pluggy_sdk/models/smart_account_balance.py +95 -0
  188. pluggy_sdk/models/smart_account_transfer.py +123 -0
  189. pluggy_sdk/models/smart_accounts_list200_response.py +102 -0
  190. pluggy_sdk/models/smart_tranfers_preauthorizations_list200_response.py +102 -0
  191. pluggy_sdk/models/smart_transfer_callback_urls.py +90 -0
  192. pluggy_sdk/models/smart_transfer_payment.py +116 -0
  193. pluggy_sdk/models/smart_transfer_preauthorization.py +128 -0
  194. pluggy_sdk/models/smart_transfer_preauthorization_parameter.py +90 -0
  195. pluggy_sdk/models/status_detail.py +142 -0
  196. pluggy_sdk/models/status_detail_product.py +101 -0
  197. pluggy_sdk/models/status_detail_product_warning.py +92 -0
  198. pluggy_sdk/models/transaction.py +145 -0
  199. pluggy_sdk/models/update_item.py +109 -0
  200. pluggy_sdk/models/update_item_parameters.py +144 -0
  201. pluggy_sdk/models/update_payment_recipient.py +102 -0
  202. pluggy_sdk/models/update_payment_request.py +102 -0
  203. pluggy_sdk/models/update_transaction.py +88 -0
  204. pluggy_sdk/models/webhook.py +106 -0
  205. pluggy_sdk/models/webhook_creation_error_response.py +90 -0
  206. pluggy_sdk/models/webhooks_list200_response.py +102 -0
  207. pluggy_sdk/models/weekly.py +110 -0
  208. pluggy_sdk/py.typed +0 -0
  209. pluggy_sdk/rest.py +258 -0
  210. pluggy_sdk-1.0.0.post20.dist-info/METADATA +388 -0
  211. pluggy_sdk-1.0.0.post20.dist-info/RECORD +213 -0
  212. pluggy_sdk-1.0.0.post20.dist-info/WHEEL +5 -0
  213. pluggy_sdk-1.0.0.post20.dist-info/top_level.txt +1 -0
@@ -0,0 +1,105 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pluggy API
5
+
6
+ Pluggy's main API to review data and execute connectors
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: hello@pluggy.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class CreateOrUpdatePaymentCustomer(BaseModel):
27
+ """
28
+ Response with information related to a payment customer
29
+ """ # noqa: E501
30
+ id: StrictStr = Field(description="Primary identifier")
31
+ type: StrictStr = Field(description="Customer type")
32
+ name: StrictStr = Field(description="Customer name")
33
+ email: StrictStr = Field(description="Customer email")
34
+ cpf: Optional[StrictStr] = Field(default=None, description="Customer CPF")
35
+ cnpj: Optional[StrictStr] = Field(default=None, description="Customer CNPJ, if type is `BUSINESS`")
36
+ __properties: ClassVar[List[str]] = ["id", "type", "name", "email", "cpf", "cnpj"]
37
+
38
+ @field_validator('type')
39
+ def type_validate_enum(cls, value):
40
+ """Validates the enum"""
41
+ if value not in set(['INDIVIDUAL', 'BUSINESS']):
42
+ raise ValueError("must be one of enum values ('INDIVIDUAL', 'BUSINESS')")
43
+ return value
44
+
45
+ model_config = ConfigDict(
46
+ populate_by_name=True,
47
+ validate_assignment=True,
48
+ protected_namespaces=(),
49
+ )
50
+
51
+
52
+ def to_str(self) -> str:
53
+ """Returns the string representation of the model using alias"""
54
+ return pprint.pformat(self.model_dump(by_alias=True))
55
+
56
+ def to_json(self) -> str:
57
+ """Returns the JSON representation of the model using alias"""
58
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
59
+ return json.dumps(self.to_dict())
60
+
61
+ @classmethod
62
+ def from_json(cls, json_str: str) -> Optional[Self]:
63
+ """Create an instance of CreateOrUpdatePaymentCustomer 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
+ return _dict
85
+
86
+ @classmethod
87
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
88
+ """Create an instance of CreateOrUpdatePaymentCustomer from a dict"""
89
+ if obj is None:
90
+ return None
91
+
92
+ if not isinstance(obj, dict):
93
+ return cls.model_validate(obj)
94
+
95
+ _obj = cls.model_validate({
96
+ "id": obj.get("id"),
97
+ "type": obj.get("type"),
98
+ "name": obj.get("name"),
99
+ "email": obj.get("email"),
100
+ "cpf": obj.get("cpf"),
101
+ "cnpj": obj.get("cnpj")
102
+ })
103
+ return _obj
104
+
105
+
@@ -0,0 +1,103 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pluggy API
5
+
6
+ Pluggy's main API to review data and execute connectors
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: hello@pluggy.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from typing import Optional, Set
24
+ from typing_extensions import Self
25
+
26
+ class CreatePaymentCustomerRequestBody(BaseModel):
27
+ """
28
+ Response with information related to a payment customer
29
+ """ # noqa: E501
30
+ type: StrictStr = Field(description="Customer type")
31
+ name: StrictStr = Field(description="Customer name")
32
+ email: StrictStr = Field(description="Customer email")
33
+ cpf: Optional[StrictStr] = Field(default=None, description="Customer CPF")
34
+ cnpj: Optional[StrictStr] = Field(default=None, description="Customer CNPJ, if type is `BUSINESS`")
35
+ __properties: ClassVar[List[str]] = ["type", "name", "email", "cpf", "cnpj"]
36
+
37
+ @field_validator('type')
38
+ def type_validate_enum(cls, value):
39
+ """Validates the enum"""
40
+ if value not in set(['INDIVIDUAL', 'BUSINESS']):
41
+ raise ValueError("must be one of enum values ('INDIVIDUAL', 'BUSINESS')")
42
+ return value
43
+
44
+ model_config = ConfigDict(
45
+ populate_by_name=True,
46
+ validate_assignment=True,
47
+ protected_namespaces=(),
48
+ )
49
+
50
+
51
+ def to_str(self) -> str:
52
+ """Returns the string representation of the model using alias"""
53
+ return pprint.pformat(self.model_dump(by_alias=True))
54
+
55
+ def to_json(self) -> str:
56
+ """Returns the JSON representation of the model using alias"""
57
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
58
+ return json.dumps(self.to_dict())
59
+
60
+ @classmethod
61
+ def from_json(cls, json_str: str) -> Optional[Self]:
62
+ """Create an instance of CreatePaymentCustomerRequestBody from a JSON string"""
63
+ return cls.from_dict(json.loads(json_str))
64
+
65
+ def to_dict(self) -> Dict[str, Any]:
66
+ """Return the dictionary representation of the model using alias.
67
+
68
+ This has the following differences from calling pydantic's
69
+ `self.model_dump(by_alias=True)`:
70
+
71
+ * `None` is only added to the output dict for nullable fields that
72
+ were set at model initialization. Other fields with value `None`
73
+ are ignored.
74
+ """
75
+ excluded_fields: Set[str] = set([
76
+ ])
77
+
78
+ _dict = self.model_dump(
79
+ by_alias=True,
80
+ exclude=excluded_fields,
81
+ exclude_none=True,
82
+ )
83
+ return _dict
84
+
85
+ @classmethod
86
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
+ """Create an instance of CreatePaymentCustomerRequestBody from a dict"""
88
+ if obj is None:
89
+ return None
90
+
91
+ if not isinstance(obj, dict):
92
+ return cls.model_validate(obj)
93
+
94
+ _obj = cls.model_validate({
95
+ "type": obj.get("type"),
96
+ "name": obj.get("name"),
97
+ "email": obj.get("email"),
98
+ "cpf": obj.get("cpf"),
99
+ "cnpj": obj.get("cnpj")
100
+ })
101
+ return _obj
102
+
103
+
@@ -0,0 +1,110 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pluggy API
5
+
6
+ Pluggy's main API to review data and execute connectors
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: hello@pluggy.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator
22
+ from typing import Any, ClassVar, Dict, List, Optional, Union
23
+ from pluggy_sdk.models.payment_intent_parameter import PaymentIntentParameter
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class CreatePaymentIntent(BaseModel):
28
+ """
29
+ Request with information to create a payment intent
30
+ """ # noqa: E501
31
+ payment_request_id: Optional[StrictStr] = Field(default=None, description="Primary identifier of the payment request associated to the payment intent", alias="paymentRequestId")
32
+ bulk_payment_id: Optional[StrictStr] = Field(default=None, description="Primary identifier of the bulk payment associated to the payment intent", alias="bulkPaymentId")
33
+ parameters: Optional[PaymentIntentParameter] = None
34
+ connector_id: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Primary identifier of the connector associated to the payment intent", alias="connectorId")
35
+ payment_method: Optional[StrictStr] = Field(default=None, description="Payment method can be PIS (Payment Initiation) or PIX (PIX QR flow), if PIX selected `bulkPaymentId` or a `paymentRequest` with smartAccountId attached will be accepted", alias="paymentMethod")
36
+ __properties: ClassVar[List[str]] = ["paymentRequestId", "bulkPaymentId", "parameters", "connectorId", "paymentMethod"]
37
+
38
+ @field_validator('payment_method')
39
+ def payment_method_validate_enum(cls, value):
40
+ """Validates the enum"""
41
+ if value is None:
42
+ return value
43
+
44
+ if value not in set(['PIS', 'PIX']):
45
+ raise ValueError("must be one of enum values ('PIS', 'PIX')")
46
+ return value
47
+
48
+ model_config = ConfigDict(
49
+ populate_by_name=True,
50
+ validate_assignment=True,
51
+ protected_namespaces=(),
52
+ )
53
+
54
+
55
+ def to_str(self) -> str:
56
+ """Returns the string representation of the model using alias"""
57
+ return pprint.pformat(self.model_dump(by_alias=True))
58
+
59
+ def to_json(self) -> str:
60
+ """Returns the JSON representation of the model using alias"""
61
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
62
+ return json.dumps(self.to_dict())
63
+
64
+ @classmethod
65
+ def from_json(cls, json_str: str) -> Optional[Self]:
66
+ """Create an instance of CreatePaymentIntent from a JSON string"""
67
+ return cls.from_dict(json.loads(json_str))
68
+
69
+ def to_dict(self) -> Dict[str, Any]:
70
+ """Return the dictionary representation of the model using alias.
71
+
72
+ This has the following differences from calling pydantic's
73
+ `self.model_dump(by_alias=True)`:
74
+
75
+ * `None` is only added to the output dict for nullable fields that
76
+ were set at model initialization. Other fields with value `None`
77
+ are ignored.
78
+ """
79
+ excluded_fields: Set[str] = set([
80
+ ])
81
+
82
+ _dict = self.model_dump(
83
+ by_alias=True,
84
+ exclude=excluded_fields,
85
+ exclude_none=True,
86
+ )
87
+ # override the default output from pydantic by calling `to_dict()` of parameters
88
+ if self.parameters:
89
+ _dict['parameters'] = self.parameters.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 CreatePaymentIntent 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
+ "paymentRequestId": obj.get("paymentRequestId"),
103
+ "bulkPaymentId": obj.get("bulkPaymentId"),
104
+ "parameters": PaymentIntentParameter.from_dict(obj["parameters"]) if obj.get("parameters") is not None else None,
105
+ "connectorId": obj.get("connectorId"),
106
+ "paymentMethod": obj.get("paymentMethod")
107
+ })
108
+ return _obj
109
+
110
+
@@ -0,0 +1,104 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pluggy API
5
+
6
+ Pluggy's main API to review data and execute connectors
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: hello@pluggy.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from pluggy_sdk.models.payment_recipient_account import PaymentRecipientAccount
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class CreatePaymentRecipient(BaseModel):
28
+ """
29
+ Request with information to create a payment recipient, there is two form to create a payment recipient, one with pixKey and other with taxNumber, name, paymentInstitutionId and account
30
+ """ # noqa: E501
31
+ tax_number: Optional[StrictStr] = Field(default=None, description="Account owner tax number. Can be CPF or CNPJ (only numbers). Send only when the pixKey is not sent.", alias="taxNumber")
32
+ name: Optional[StrictStr] = Field(default=None, description="Account owner name. Send only this when the pixKey is not sent.")
33
+ payment_institution_id: Optional[StrictStr] = Field(default=None, description="Primary identifier of the institution associated to the payment recipient. Send only when the pixKey is not sent.", alias="paymentInstitutionId")
34
+ account: Optional[PaymentRecipientAccount] = Field(default=None, description="Recipient's bank account destination. Send only if the pixKey is not sent.")
35
+ is_default: Optional[StrictBool] = Field(default=None, description="Indicates if the recipient is the default one", alias="isDefault")
36
+ pix_key: Optional[StrictStr] = Field(default=None, description="Pix key associated with the payment recipient", alias="pixKey")
37
+ smart_account_id: Optional[StrictStr] = Field(default=None, description="Smart account identifier associated to the payment recipient, used to be able to use PIX Qr method", alias="smartAccountId")
38
+ __properties: ClassVar[List[str]] = ["taxNumber", "name", "paymentInstitutionId", "account", "isDefault", "pixKey", "smartAccountId"]
39
+
40
+ model_config = ConfigDict(
41
+ populate_by_name=True,
42
+ validate_assignment=True,
43
+ protected_namespaces=(),
44
+ )
45
+
46
+
47
+ def to_str(self) -> str:
48
+ """Returns the string representation of the model using alias"""
49
+ return pprint.pformat(self.model_dump(by_alias=True))
50
+
51
+ def to_json(self) -> str:
52
+ """Returns the JSON representation of the model using alias"""
53
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
54
+ return json.dumps(self.to_dict())
55
+
56
+ @classmethod
57
+ def from_json(cls, json_str: str) -> Optional[Self]:
58
+ """Create an instance of CreatePaymentRecipient from a JSON string"""
59
+ return cls.from_dict(json.loads(json_str))
60
+
61
+ def to_dict(self) -> Dict[str, Any]:
62
+ """Return the dictionary representation of the model using alias.
63
+
64
+ This has the following differences from calling pydantic's
65
+ `self.model_dump(by_alias=True)`:
66
+
67
+ * `None` is only added to the output dict for nullable fields that
68
+ were set at model initialization. Other fields with value `None`
69
+ are ignored.
70
+ """
71
+ excluded_fields: Set[str] = set([
72
+ ])
73
+
74
+ _dict = self.model_dump(
75
+ by_alias=True,
76
+ exclude=excluded_fields,
77
+ exclude_none=True,
78
+ )
79
+ # override the default output from pydantic by calling `to_dict()` of account
80
+ if self.account:
81
+ _dict['account'] = self.account.to_dict()
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of CreatePaymentRecipient from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate({
94
+ "taxNumber": obj.get("taxNumber"),
95
+ "name": obj.get("name"),
96
+ "paymentInstitutionId": obj.get("paymentInstitutionId"),
97
+ "account": PaymentRecipientAccount.from_dict(obj["account"]) if obj.get("account") is not None else None,
98
+ "isDefault": obj.get("isDefault"),
99
+ "pixKey": obj.get("pixKey"),
100
+ "smartAccountId": obj.get("smartAccountId")
101
+ })
102
+ return _obj
103
+
104
+
@@ -0,0 +1,110 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pluggy API
5
+
6
+ Pluggy's main API to review data and execute connectors
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: hello@pluggy.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional, Union
23
+ from pluggy_sdk.models.payment_request_callback_urls import PaymentRequestCallbackUrls
24
+ from pluggy_sdk.models.payment_request_schedule import PaymentRequestSchedule
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class CreatePaymentRequest(BaseModel):
29
+ """
30
+ Request with information to create a payment request
31
+ """ # noqa: E501
32
+ amount: Union[StrictFloat, StrictInt] = Field(description="Requested amount")
33
+ description: Optional[StrictStr] = Field(default=None, description="Payment description")
34
+ callback_urls: Optional[PaymentRequestCallbackUrls] = Field(default=None, alias="callbackUrls")
35
+ recipient_id: Optional[StrictStr] = Field(default=None, description="Payment receiver identifier", alias="recipientId")
36
+ customer_id: Optional[StrictStr] = Field(default=None, description="Customer identifier associated to the payment", alias="customerId")
37
+ client_payment_id: Optional[StrictStr] = Field(default=None, description="Your payment identifier", alias="clientPaymentId")
38
+ smart_account_id: Optional[StrictStr] = Field(default=None, description="Smart account identifier associated to the payment, used to be able to use PIX Qr method", alias="smartAccountId")
39
+ schedule: Optional[PaymentRequestSchedule] = None
40
+ __properties: ClassVar[List[str]] = ["amount", "description", "callbackUrls", "recipientId", "customerId", "clientPaymentId", "smartAccountId", "schedule"]
41
+
42
+ model_config = ConfigDict(
43
+ populate_by_name=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
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
56
+ return json.dumps(self.to_dict())
57
+
58
+ @classmethod
59
+ def from_json(cls, json_str: str) -> Optional[Self]:
60
+ """Create an instance of CreatePaymentRequest from a JSON string"""
61
+ return cls.from_dict(json.loads(json_str))
62
+
63
+ def to_dict(self) -> Dict[str, Any]:
64
+ """Return the dictionary representation of the model using alias.
65
+
66
+ This has the following differences from calling pydantic's
67
+ `self.model_dump(by_alias=True)`:
68
+
69
+ * `None` is only added to the output dict for nullable fields that
70
+ were set at model initialization. Other fields with value `None`
71
+ are ignored.
72
+ """
73
+ excluded_fields: Set[str] = set([
74
+ ])
75
+
76
+ _dict = self.model_dump(
77
+ by_alias=True,
78
+ exclude=excluded_fields,
79
+ exclude_none=True,
80
+ )
81
+ # override the default output from pydantic by calling `to_dict()` of callback_urls
82
+ if self.callback_urls:
83
+ _dict['callbackUrls'] = self.callback_urls.to_dict()
84
+ # override the default output from pydantic by calling `to_dict()` of schedule
85
+ if self.schedule:
86
+ _dict['schedule'] = self.schedule.to_dict()
87
+ return _dict
88
+
89
+ @classmethod
90
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
91
+ """Create an instance of CreatePaymentRequest from a dict"""
92
+ if obj is None:
93
+ return None
94
+
95
+ if not isinstance(obj, dict):
96
+ return cls.model_validate(obj)
97
+
98
+ _obj = cls.model_validate({
99
+ "amount": obj.get("amount"),
100
+ "description": obj.get("description"),
101
+ "callbackUrls": PaymentRequestCallbackUrls.from_dict(obj["callbackUrls"]) if obj.get("callbackUrls") is not None else None,
102
+ "recipientId": obj.get("recipientId"),
103
+ "customerId": obj.get("customerId"),
104
+ "clientPaymentId": obj.get("clientPaymentId"),
105
+ "smartAccountId": obj.get("smartAccountId"),
106
+ "schedule": PaymentRequestSchedule.from_dict(obj["schedule"]) if obj.get("schedule") is not None else None
107
+ })
108
+ return _obj
109
+
110
+
@@ -0,0 +1,96 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Pluggy API
5
+
6
+ Pluggy's main API to review data and execute connectors
7
+
8
+ The version of the OpenAPI document: 1.0.0
9
+ Contact: hello@pluggy.ai
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import pprint
18
+ import re # noqa: F401
19
+ import json
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
+ from pluggy_sdk.models.payment_request_callback_urls import PaymentRequestCallbackUrls
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class CreatePixQrPaymentRequest(BaseModel):
28
+ """
29
+ Request with information to create a PIX QR payment request
30
+ """ # noqa: E501
31
+ pix_qr_code: StrictStr = Field(description="Pix QR code", alias="pixQrCode")
32
+ callback_urls: Optional[PaymentRequestCallbackUrls] = Field(default=None, alias="callbackUrls")
33
+ customer_id: Optional[StrictStr] = Field(default=None, description="Customer identifier associated to the payment", alias="customerId")
34
+ __properties: ClassVar[List[str]] = ["pixQrCode", "callbackUrls", "customerId"]
35
+
36
+ model_config = ConfigDict(
37
+ populate_by_name=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
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of CreatePixQrPaymentRequest from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([
68
+ ])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ # override the default output from pydantic by calling `to_dict()` of callback_urls
76
+ if self.callback_urls:
77
+ _dict['callbackUrls'] = self.callback_urls.to_dict()
78
+ return _dict
79
+
80
+ @classmethod
81
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
82
+ """Create an instance of CreatePixQrPaymentRequest from a dict"""
83
+ if obj is None:
84
+ return None
85
+
86
+ if not isinstance(obj, dict):
87
+ return cls.model_validate(obj)
88
+
89
+ _obj = cls.model_validate({
90
+ "pixQrCode": obj.get("pixQrCode"),
91
+ "callbackUrls": PaymentRequestCallbackUrls.from_dict(obj["callbackUrls"]) if obj.get("callbackUrls") is not None else None,
92
+ "customerId": obj.get("customerId")
93
+ })
94
+ return _obj
95
+
96
+