pluggy-sdk 1.0.0.post43__py3-none-any.whl → 1.0.0.post48__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 (30) hide show
  1. pluggy_sdk/__init__.py +190 -172
  2. pluggy_sdk/api/__init__.py +1 -0
  3. pluggy_sdk/api/automatic_pix_api.py +1965 -0
  4. pluggy_sdk/api/payment_customer_api.py +68 -0
  5. pluggy_sdk/api/payment_recipient_api.py +52 -1
  6. pluggy_sdk/api/payment_request_api.py +123 -276
  7. pluggy_sdk/api/payment_schedule_api.py +3 -3
  8. pluggy_sdk/api_client.py +5 -1
  9. pluggy_sdk/configuration.py +1 -1
  10. pluggy_sdk/models/__init__.py +9 -1
  11. pluggy_sdk/models/additional_card.py +88 -0
  12. pluggy_sdk/models/automatic_pix_first_payment.py +93 -0
  13. pluggy_sdk/models/automatic_pix_payment.py +112 -0
  14. pluggy_sdk/models/create_automatic_pix_payment_request.py +128 -0
  15. pluggy_sdk/models/create_payment_recipient.py +4 -4
  16. pluggy_sdk/models/credit_data.py +22 -2
  17. pluggy_sdk/models/disaggregated_credit_limit.py +110 -0
  18. pluggy_sdk/models/payment_intent.py +2 -2
  19. pluggy_sdk/models/payment_intent_automatic_pix.py +114 -0
  20. pluggy_sdk/models/payment_intent_parameter.py +4 -2
  21. pluggy_sdk/models/payment_request.py +10 -4
  22. pluggy_sdk/models/payment_request_get_automatic_pix_schedules200_response.py +102 -0
  23. pluggy_sdk/models/retry_automatic_pix_payment_request.py +89 -0
  24. pluggy_sdk/models/schedule_automatic_pix_payment_request.py +93 -0
  25. pluggy_sdk/models/schedule_payment.py +3 -1
  26. pluggy_sdk/models/update_payment_recipient.py +4 -4
  27. {pluggy_sdk-1.0.0.post43.dist-info → pluggy_sdk-1.0.0.post48.dist-info}/METADATA +25 -16
  28. {pluggy_sdk-1.0.0.post43.dist-info → pluggy_sdk-1.0.0.post48.dist-info}/RECORD +30 -20
  29. {pluggy_sdk-1.0.0.post43.dist-info → pluggy_sdk-1.0.0.post48.dist-info}/WHEEL +1 -1
  30. {pluggy_sdk-1.0.0.post43.dist-info → pluggy_sdk-1.0.0.post48.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,114 @@
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 datetime import datetime
22
+ from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
23
+ from typing import Any, ClassVar, Dict, List, Optional, Union
24
+ from pluggy_sdk.models.automatic_pix_first_payment import AutomaticPixFirstPayment
25
+ from typing import Optional, Set
26
+ from typing_extensions import Self
27
+
28
+ class PaymentIntentAutomaticPix(BaseModel):
29
+ """
30
+ Automatic PIX data
31
+ """ # noqa: E501
32
+ fixed_amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Fixed charge amount; if filled in, it represents consent for payments of fixed amounts, not subject to change during the validity of the consent. If it's sent, minimumVariableAmount and maximumVariableAmount cannot be provided.", alias="fixedAmount")
33
+ minimum_variable_amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Minimum amount allowed per charge; if filled in, it represents consent for payments of variable amounts. If it's sent, fixedAmount cannot be provided.", alias="minimumVariableAmount")
34
+ maximum_variable_amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Maximum amount allowed per charge; if filled in, it represents consent for payments of variable amounts. If it's sent, fixedAmount cannot be provided.", alias="maximumVariableAmount")
35
+ start_date: datetime = Field(description="Represents the expected date for the first occurrence of a payment associated with the recurrence.", alias="startDate")
36
+ expires_at: Optional[datetime] = Field(default=None, description="Expiration date for the automatic pix authorization", alias="expiresAt")
37
+ is_retry_accepted: Optional[StrictBool] = Field(default=None, description="Indicates whether the receiving customer is allowed to make payment attempts, according to the rules established in the Pix arrangement.", alias="isRetryAccepted")
38
+ first_payment: Optional[AutomaticPixFirstPayment] = Field(default=None, alias="firstPayment")
39
+ interval: StrictStr = Field(description="Defines the permitted frequency for carrying out transactions.")
40
+ __properties: ClassVar[List[str]] = ["fixedAmount", "minimumVariableAmount", "maximumVariableAmount", "startDate", "expiresAt", "isRetryAccepted", "firstPayment", "interval"]
41
+
42
+ @field_validator('interval')
43
+ def interval_validate_enum(cls, value):
44
+ """Validates the enum"""
45
+ if value not in set(['WEEKLY', 'MONTHLY', 'QUARTERLY', 'SEMESTER', 'YEARLY']):
46
+ raise ValueError("must be one of enum values ('WEEKLY', 'MONTHLY', 'QUARTERLY', 'SEMESTER', 'YEARLY')")
47
+ return value
48
+
49
+ model_config = ConfigDict(
50
+ populate_by_name=True,
51
+ validate_assignment=True,
52
+ protected_namespaces=(),
53
+ )
54
+
55
+
56
+ def to_str(self) -> str:
57
+ """Returns the string representation of the model using alias"""
58
+ return pprint.pformat(self.model_dump(by_alias=True))
59
+
60
+ def to_json(self) -> str:
61
+ """Returns the JSON representation of the model using alias"""
62
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
63
+ return json.dumps(self.to_dict())
64
+
65
+ @classmethod
66
+ def from_json(cls, json_str: str) -> Optional[Self]:
67
+ """Create an instance of PaymentIntentAutomaticPix from a JSON string"""
68
+ return cls.from_dict(json.loads(json_str))
69
+
70
+ def to_dict(self) -> Dict[str, Any]:
71
+ """Return the dictionary representation of the model using alias.
72
+
73
+ This has the following differences from calling pydantic's
74
+ `self.model_dump(by_alias=True)`:
75
+
76
+ * `None` is only added to the output dict for nullable fields that
77
+ were set at model initialization. Other fields with value `None`
78
+ are ignored.
79
+ """
80
+ excluded_fields: Set[str] = set([
81
+ ])
82
+
83
+ _dict = self.model_dump(
84
+ by_alias=True,
85
+ exclude=excluded_fields,
86
+ exclude_none=True,
87
+ )
88
+ # override the default output from pydantic by calling `to_dict()` of first_payment
89
+ if self.first_payment:
90
+ _dict['firstPayment'] = self.first_payment.to_dict()
91
+ return _dict
92
+
93
+ @classmethod
94
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
95
+ """Create an instance of PaymentIntentAutomaticPix from a dict"""
96
+ if obj is None:
97
+ return None
98
+
99
+ if not isinstance(obj, dict):
100
+ return cls.model_validate(obj)
101
+
102
+ _obj = cls.model_validate({
103
+ "fixedAmount": obj.get("fixedAmount"),
104
+ "minimumVariableAmount": obj.get("minimumVariableAmount"),
105
+ "maximumVariableAmount": obj.get("maximumVariableAmount"),
106
+ "startDate": obj.get("startDate"),
107
+ "expiresAt": obj.get("expiresAt"),
108
+ "isRetryAccepted": obj.get("isRetryAccepted"),
109
+ "firstPayment": AutomaticPixFirstPayment.from_dict(obj["firstPayment"]) if obj.get("firstPayment") is not None else None,
110
+ "interval": obj.get("interval")
111
+ })
112
+ return _obj
113
+
114
+
@@ -29,7 +29,8 @@ class PaymentIntentParameter(BaseModel):
29
29
  """ # noqa: E501
30
30
  cpf: StrictStr = Field(description="CPF of the payer")
31
31
  cnpj: Optional[StrictStr] = Field(default=None, description="CNPJ of the payer")
32
- __properties: ClassVar[List[str]] = ["cpf", "cnpj"]
32
+ name: Optional[StrictStr] = Field(default=None, description="Name of the payer. Only required for automatic pix payment requests.")
33
+ __properties: ClassVar[List[str]] = ["cpf", "cnpj", "name"]
33
34
 
34
35
  model_config = ConfigDict(
35
36
  populate_by_name=True,
@@ -83,7 +84,8 @@ class PaymentIntentParameter(BaseModel):
83
84
 
84
85
  _obj = cls.model_validate({
85
86
  "cpf": obj.get("cpf"),
86
- "cnpj": obj.get("cnpj")
87
+ "cnpj": obj.get("cnpj"),
88
+ "name": obj.get("name")
87
89
  })
88
90
  return _obj
89
91
 
@@ -22,6 +22,7 @@ from datetime import datetime
22
22
  from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr, field_validator
23
23
  from typing import Any, ClassVar, Dict, List, Optional, Union
24
24
  from pluggy_sdk.models.boleto import Boleto
25
+ from pluggy_sdk.models.payment_intent_automatic_pix import PaymentIntentAutomaticPix
25
26
  from pluggy_sdk.models.payment_request_callback_urls import PaymentRequestCallbackUrls
26
27
  from pluggy_sdk.models.payment_request_error_detail import PaymentRequestErrorDetail
27
28
  from pluggy_sdk.models.payment_request_schedule import PaymentRequestSchedule
@@ -33,7 +34,7 @@ class PaymentRequest(BaseModel):
33
34
  Response with information related to a payment request
34
35
  """ # noqa: E501
35
36
  id: StrictStr = Field(description="Primary identifier")
36
- amount: Union[StrictFloat, StrictInt] = Field(description="Requested amount")
37
+ amount: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Requested amount. For automatic pix it won't be returned")
37
38
  fees: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Fees charged for the payment request. This includes both Pluggy's fees and any customer-specific fees. Fees are calculated based on the payment method (PIX or Boleto) and the client's pricing configuration. For sandbox accounts, fees are set to 0.")
38
39
  description: Optional[StrictStr] = Field(default=None, description="Payment description")
39
40
  status: StrictStr = Field(description="Payment request status")
@@ -45,15 +46,16 @@ class PaymentRequest(BaseModel):
45
46
  payment_url: StrictStr = Field(description="URL to begin the payment intent creation flow for this payment request", alias="paymentUrl")
46
47
  pix_qr_code: Optional[StrictStr] = Field(default=None, description="Pix QR code generated by the payment receiver", alias="pixQrCode")
47
48
  boleto: Optional[Boleto] = None
49
+ automatic_pix: Optional[PaymentIntentAutomaticPix] = Field(default=None, alias="automaticPix")
48
50
  schedule: Optional[PaymentRequestSchedule] = None
49
51
  error_detail: Optional[PaymentRequestErrorDetail] = Field(default=None, alias="errorDetail")
50
- __properties: ClassVar[List[str]] = ["id", "amount", "fees", "description", "status", "clientPaymentId", "createdAt", "updatedAt", "callbackUrls", "recipientId", "paymentUrl", "pixQrCode", "boleto", "schedule", "errorDetail"]
52
+ __properties: ClassVar[List[str]] = ["id", "amount", "fees", "description", "status", "clientPaymentId", "createdAt", "updatedAt", "callbackUrls", "recipientId", "paymentUrl", "pixQrCode", "boleto", "automaticPix", "schedule", "errorDetail"]
51
53
 
52
54
  @field_validator('status')
53
55
  def status_validate_enum(cls, value):
54
56
  """Validates the enum"""
55
- if value not in set(['CREATED', 'IN_PROGRESS', 'COMPLETED', 'SCHEDULED', 'WAITING_PAYER_AUTHORIZATION', 'ERROR', 'REFUND_IN_PROGRESS', 'REFUNDED', 'REFUND_ERROR']):
56
- raise ValueError("must be one of enum values ('CREATED', 'IN_PROGRESS', 'COMPLETED', 'SCHEDULED', 'WAITING_PAYER_AUTHORIZATION', 'ERROR', 'REFUND_IN_PROGRESS', 'REFUNDED', 'REFUND_ERROR')")
57
+ if value not in set(['CREATED', 'IN_PROGRESS', 'COMPLETED', 'SCHEDULED', 'WAITING_PAYER_AUTHORIZATION', 'ERROR', 'REFUND_IN_PROGRESS', 'REFUNDED', 'REFUND_ERROR', 'CANCELED']):
58
+ raise ValueError("must be one of enum values ('CREATED', 'IN_PROGRESS', 'COMPLETED', 'SCHEDULED', 'WAITING_PAYER_AUTHORIZATION', 'ERROR', 'REFUND_IN_PROGRESS', 'REFUNDED', 'REFUND_ERROR', 'CANCELED')")
57
59
  return value
58
60
 
59
61
  model_config = ConfigDict(
@@ -101,6 +103,9 @@ class PaymentRequest(BaseModel):
101
103
  # override the default output from pydantic by calling `to_dict()` of boleto
102
104
  if self.boleto:
103
105
  _dict['boleto'] = self.boleto.to_dict()
106
+ # override the default output from pydantic by calling `to_dict()` of automatic_pix
107
+ if self.automatic_pix:
108
+ _dict['automaticPix'] = self.automatic_pix.to_dict()
104
109
  # override the default output from pydantic by calling `to_dict()` of schedule
105
110
  if self.schedule:
106
111
  _dict['schedule'] = self.schedule.to_dict()
@@ -132,6 +137,7 @@ class PaymentRequest(BaseModel):
132
137
  "paymentUrl": obj.get("paymentUrl"),
133
138
  "pixQrCode": obj.get("pixQrCode"),
134
139
  "boleto": Boleto.from_dict(obj["boleto"]) if obj.get("boleto") is not None else None,
140
+ "automaticPix": PaymentIntentAutomaticPix.from_dict(obj["automaticPix"]) if obj.get("automaticPix") is not None else None,
135
141
  "schedule": PaymentRequestSchedule.from_dict(obj["schedule"]) if obj.get("schedule") is not None else None,
136
142
  "errorDetail": PaymentRequestErrorDetail.from_dict(obj["errorDetail"]) if obj.get("errorDetail") is not None else None
137
143
  })
@@ -0,0 +1,102 @@
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
22
+ from typing import Any, ClassVar, Dict, List, Optional, Union
23
+ from pluggy_sdk.models.automatic_pix_payment import AutomaticPixPayment
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class PaymentRequestGetAutomaticPixSchedules200Response(BaseModel):
28
+ """
29
+ PaymentRequestGetAutomaticPixSchedules200Response
30
+ """ # noqa: E501
31
+ page: Optional[Union[StrictFloat, StrictInt]] = None
32
+ total: Optional[Union[StrictFloat, StrictInt]] = None
33
+ total_pages: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="totalPages")
34
+ results: Optional[List[AutomaticPixPayment]] = Field(default=None, description="List of automatic PIX payments")
35
+ __properties: ClassVar[List[str]] = ["page", "total", "totalPages", "results"]
36
+
37
+ model_config = ConfigDict(
38
+ populate_by_name=True,
39
+ validate_assignment=True,
40
+ protected_namespaces=(),
41
+ )
42
+
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of PaymentRequestGetAutomaticPixSchedules200Response 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
+ # override the default output from pydantic by calling `to_dict()` of each item in results (list)
77
+ _items = []
78
+ if self.results:
79
+ for _item_results in self.results:
80
+ if _item_results:
81
+ _items.append(_item_results.to_dict())
82
+ _dict['results'] = _items
83
+ return _dict
84
+
85
+ @classmethod
86
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
87
+ """Create an instance of PaymentRequestGetAutomaticPixSchedules200Response 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
+ "page": obj.get("page"),
96
+ "total": obj.get("total"),
97
+ "totalPages": obj.get("totalPages"),
98
+ "results": [AutomaticPixPayment.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None
99
+ })
100
+ return _obj
101
+
102
+
@@ -0,0 +1,89 @@
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 datetime import date
22
+ from pydantic import BaseModel, ConfigDict, Field
23
+ from typing import Any, ClassVar, Dict, List
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class RetryAutomaticPixPaymentRequest(BaseModel):
28
+ """
29
+ Request to retry an automatic PIX payment
30
+ """ # noqa: E501
31
+ var_date: date = Field(description="The date to retry the payment within a 7-day window. Date format must be YYYY-MM-DD (for example: 2025-06-16)", alias="date")
32
+ __properties: ClassVar[List[str]] = ["date"]
33
+
34
+ model_config = ConfigDict(
35
+ populate_by_name=True,
36
+ validate_assignment=True,
37
+ protected_namespaces=(),
38
+ )
39
+
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of RetryAutomaticPixPaymentRequest from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([
66
+ ])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ return _dict
74
+
75
+ @classmethod
76
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
+ """Create an instance of RetryAutomaticPixPaymentRequest from a dict"""
78
+ if obj is None:
79
+ return None
80
+
81
+ if not isinstance(obj, dict):
82
+ return cls.model_validate(obj)
83
+
84
+ _obj = cls.model_validate({
85
+ "date": obj.get("date")
86
+ })
87
+ return _obj
88
+
89
+
@@ -0,0 +1,93 @@
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 datetime import date
22
+ from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
23
+ from typing import Any, ClassVar, Dict, List, Optional, Union
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+ class ScheduleAutomaticPixPaymentRequest(BaseModel):
28
+ """
29
+ Request to schedule an Automatic PIX payment
30
+ """ # noqa: E501
31
+ amount: Union[StrictFloat, StrictInt] = Field(description="Transaction value")
32
+ description: Optional[StrictStr] = Field(default=None, description="Transaction description")
33
+ var_date: date = Field(description="The payment date, which must fall between D+2 and D+10. Date format must be YYYY-MM-DD (for example: 2025-06-16)", alias="date")
34
+ __properties: ClassVar[List[str]] = ["amount", "description", "date"]
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 ScheduleAutomaticPixPaymentRequest 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
+ return _dict
76
+
77
+ @classmethod
78
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
79
+ """Create an instance of ScheduleAutomaticPixPaymentRequest from a dict"""
80
+ if obj is None:
81
+ return None
82
+
83
+ if not isinstance(obj, dict):
84
+ return cls.model_validate(obj)
85
+
86
+ _obj = cls.model_validate({
87
+ "amount": obj.get("amount"),
88
+ "description": obj.get("description"),
89
+ "date": obj.get("date")
90
+ })
91
+ return _obj
92
+
93
+
@@ -33,8 +33,9 @@ class SchedulePayment(BaseModel):
33
33
  description: StrictStr = Field(description="Scheduled payment description")
34
34
  status: StrictStr = Field(description="Scheduled payment status")
35
35
  scheduled_date: date = Field(description="Date when the payment is scheduled", alias="scheduledDate")
36
+ end_to_end_id: Optional[StrictStr] = Field(default=None, description="Identifier for the payment, used to link the scheduled payment with the corresponding payment received", alias="endToEndId")
36
37
  error_detail: Optional[SchedulePaymentErrorDetail] = Field(default=None, alias="errorDetail")
37
- __properties: ClassVar[List[str]] = ["id", "description", "status", "scheduledDate", "errorDetail"]
38
+ __properties: ClassVar[List[str]] = ["id", "description", "status", "scheduledDate", "endToEndId", "errorDetail"]
38
39
 
39
40
  @field_validator('status')
40
41
  def status_validate_enum(cls, value):
@@ -101,6 +102,7 @@ class SchedulePayment(BaseModel):
101
102
  "description": obj.get("description"),
102
103
  "status": obj.get("status"),
103
104
  "scheduledDate": obj.get("scheduledDate"),
105
+ "endToEndId": obj.get("endToEndId"),
104
106
  "errorDetail": SchedulePaymentErrorDetail.from_dict(obj["errorDetail"]) if obj.get("errorDetail") is not None else None
105
107
  })
106
108
  return _obj
@@ -28,12 +28,12 @@ class UpdatePaymentRecipient(BaseModel):
28
28
  """
29
29
  Request with information to update a payment recipient
30
30
  """ # noqa: E501
31
+ pix_key: Optional[StrictStr] = Field(default=None, description="Pix key associated with the payment recipient.", alias="pixKey")
31
32
  tax_number: Optional[StrictStr] = Field(default=None, description="Account owner tax number. Can be CPF or CNPJ (only numbers). Send only if the recipient doesn't have a pixKey.", alias="taxNumber")
32
33
  name: Optional[StrictStr] = Field(default=None, description="Account owner name. Send only if the recipient doesn't have a pixKey.")
33
34
  payment_institution_id: Optional[StrictStr] = Field(default=None, description="Primary identifier of the institution associated to the payment recipient. Send only if the recipient doesn't have a pixKey.", alias="paymentInstitutionId")
34
35
  account: Optional[PaymentRecipientAccount] = Field(default=None, description="Recipient's bank account destination. Send only if the recipient doesn't have a pixKey.")
35
- pix_key: Optional[StrictStr] = Field(default=None, description="Pix key associated with the payment recipient", alias="pixKey")
36
- __properties: ClassVar[List[str]] = ["taxNumber", "name", "paymentInstitutionId", "account", "pixKey"]
36
+ __properties: ClassVar[List[str]] = ["pixKey", "taxNumber", "name", "paymentInstitutionId", "account"]
37
37
 
38
38
  model_config = ConfigDict(
39
39
  populate_by_name=True,
@@ -89,11 +89,11 @@ class UpdatePaymentRecipient(BaseModel):
89
89
  return cls.model_validate(obj)
90
90
 
91
91
  _obj = cls.model_validate({
92
+ "pixKey": obj.get("pixKey"),
92
93
  "taxNumber": obj.get("taxNumber"),
93
94
  "name": obj.get("name"),
94
95
  "paymentInstitutionId": obj.get("paymentInstitutionId"),
95
- "account": PaymentRecipientAccount.from_dict(obj["account"]) if obj.get("account") is not None else None,
96
- "pixKey": obj.get("pixKey")
96
+ "account": PaymentRecipientAccount.from_dict(obj["account"]) if obj.get("account") is not None else None
97
97
  })
98
98
  return _obj
99
99
 
@@ -1,26 +1,21 @@
1
1
  Metadata-Version: 2.4
2
- Name: pluggy-sdk
3
- Version: 1.0.0.post43
2
+ Name: pluggy_sdk
3
+ Version: 1.0.0.post48
4
4
  Summary: Pluggy API
5
5
  Home-page: https://github.com/diraol/pluggy-python
6
6
  Author: Pluggy
7
- Author-email: hello@pluggy.ai
8
- License: MIT
7
+ Author-email: Pluggy <hello@pluggy.ai>
8
+ License-Expression: MIT
9
+ Project-URL: Repository, https://github.com/GIT_USER_ID/GIT_REPO_ID
9
10
  Keywords: OpenAPI,OpenAPI-Generator,Pluggy API
11
+ Requires-Python: >=3.9
10
12
  Description-Content-Type: text/markdown
11
13
  Requires-Dist: urllib3<3.0.0,>=2.1.0
12
14
  Requires-Dist: python-dateutil>=2.8.2
13
15
  Requires-Dist: pydantic>=2
14
16
  Requires-Dist: typing-extensions>=4.7.1
15
17
  Dynamic: author
16
- Dynamic: author-email
17
- Dynamic: description
18
- Dynamic: description-content-type
19
18
  Dynamic: home-page
20
- Dynamic: keywords
21
- Dynamic: license
22
- Dynamic: requires-dist
23
- Dynamic: summary
24
19
 
25
20
  # pluggy-sdk
26
21
  Pluggy's main API to review data and execute connectors
@@ -28,8 +23,8 @@ Pluggy's main API to review data and execute connectors
28
23
  This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
29
24
 
30
25
  - API version: 1.0.0
31
- - Package version: 1.0.0.post43
32
- - Generator version: 7.14.0-SNAPSHOT
26
+ - Package version: 1.0.0.post48
27
+ - Generator version: 7.14.0
33
28
  - Build package: org.openapitools.codegen.languages.PythonClientCodegen
34
29
  For more information, please visit [https://pluggy.ai](https://pluggy.ai)
35
30
 
@@ -125,6 +120,13 @@ Class | Method | HTTP request | Description
125
120
  *AccountApi* | [**accounts_retrieve**](docs/AccountApi.md#accounts_retrieve) | **GET** /accounts/{id} | Retrieve
126
121
  *AuthApi* | [**auth_create**](docs/AuthApi.md#auth_create) | **POST** /auth | Create API Key
127
122
  *AuthApi* | [**connect_token_create**](docs/AuthApi.md#connect_token_create) | **POST** /connect_token | Create Connect Token
123
+ *AutomaticPIXApi* | [**cancel_automatic_pix_schedule**](docs/AutomaticPIXApi.md#cancel_automatic_pix_schedule) | **POST** /payments/requests/{id}/automatic-pix/schedules/{scheduleId}/cancel | Cancel an Automatic PIX schedule
124
+ *AutomaticPIXApi* | [**payment_request_cancel_automatic_pix_consent**](docs/AutomaticPIXApi.md#payment_request_cancel_automatic_pix_consent) | **POST** /payments/requests/{id}/automatic-pix/cancel | Cancel an automatic PIX consent
125
+ *AutomaticPIXApi* | [**payment_request_create_automatic_pix**](docs/AutomaticPIXApi.md#payment_request_create_automatic_pix) | **POST** /payments/requests/automatic-pix | Create Automatic PIX payment request
126
+ *AutomaticPIXApi* | [**payment_request_create_automatic_pix_schedule**](docs/AutomaticPIXApi.md#payment_request_create_automatic_pix_schedule) | **POST** /payments/requests/{id}/automatic-pix/schedule | Schedule Automatic PIX payment
127
+ *AutomaticPIXApi* | [**payment_request_get_automatic_pix_schedule**](docs/AutomaticPIXApi.md#payment_request_get_automatic_pix_schedule) | **GET** /payments/requests/{requestId}/automatic-pix/schedules/{paymentId} | Get an automatic PIX scheduled payment
128
+ *AutomaticPIXApi* | [**payment_request_get_automatic_pix_schedules**](docs/AutomaticPIXApi.md#payment_request_get_automatic_pix_schedules) | **GET** /payments/requests/{id}/automatic-pix/schedules | List Automatic PIX scheduled payments
129
+ *AutomaticPIXApi* | [**retry_automatic_pix_schedule**](docs/AutomaticPIXApi.md#retry_automatic_pix_schedule) | **POST** /payments/requests/{id}/automatic-pix/schedules/{scheduleId}/retry | Retry an Automatic PIX schedule
128
130
  *BillApi* | [**bills_list**](docs/BillApi.md#bills_list) | **GET** /bills | List
129
131
  *BillApi* | [**bills_retrieve**](docs/BillApi.md#bills_retrieve) | **GET** /bills/{id} | Retrieve
130
132
  *BoletoManagementApi* | [**boleto_cancel**](docs/BoletoManagementApi.md#boleto_cancel) | **POST** /boletos/{id}/cancel | Cancel Boleto
@@ -170,14 +172,13 @@ Class | Method | HTTP request | Description
170
172
  *PaymentRecipientApi* | [**payment_recipients_institution_list**](docs/PaymentRecipientApi.md#payment_recipients_institution_list) | **GET** /payments/recipients/institutions | List Institutions
171
173
  *PaymentRecipientApi* | [**payment_recipients_list**](docs/PaymentRecipientApi.md#payment_recipients_list) | **GET** /payments/recipients | List
172
174
  *PaymentRequestApi* | [**payment_request_create**](docs/PaymentRequestApi.md#payment_request_create) | **POST** /payments/requests | Create
173
- *PaymentRequestApi* | [**payment_request_create_boleto**](docs/PaymentRequestApi.md#payment_request_create_boleto) | **POST** /payments/requests/boleto | Create boleto payment request
174
175
  *PaymentRequestApi* | [**payment_request_create_pix_qr**](docs/PaymentRequestApi.md#payment_request_create_pix_qr) | **POST** /payments/requests/pix-qr | Create PIX QR payment request
175
176
  *PaymentRequestApi* | [**payment_request_delete**](docs/PaymentRequestApi.md#payment_request_delete) | **DELETE** /payments/requests/{id} | Delete
176
177
  *PaymentRequestApi* | [**payment_request_retrieve**](docs/PaymentRequestApi.md#payment_request_retrieve) | **GET** /payments/requests/{id} | Retrieve
177
178
  *PaymentRequestApi* | [**payment_request_update**](docs/PaymentRequestApi.md#payment_request_update) | **PATCH** /payments/requests/{id} | Update
178
179
  *PaymentRequestApi* | [**payment_requests_list**](docs/PaymentRequestApi.md#payment_requests_list) | **GET** /payments/requests | List
179
180
  *PaymentScheduleApi* | [**payment_schedules_cancel**](docs/PaymentScheduleApi.md#payment_schedules_cancel) | **POST** /payments/requests/{id}/schedules/cancel | Cancel Payment Schedule Authorization
180
- *PaymentScheduleApi* | [**payment_schedules_cancel_specific**](docs/PaymentScheduleApi.md#payment_schedules_cancel_specific) | **POST** /payments/requests/{id}/schedules/{scheduleId}/cancel | Cancel Payment Schedule Authorization
181
+ *PaymentScheduleApi* | [**payment_schedules_cancel_specific**](docs/PaymentScheduleApi.md#payment_schedules_cancel_specific) | **POST** /payments/requests/{id}/schedules/{scheduleId}/cancel | Cancel Payment Schedule
181
182
  *PaymentScheduleApi* | [**payment_schedules_list**](docs/PaymentScheduleApi.md#payment_schedules_list) | **GET** /payments/requests/{id}/schedules | List Schedules
182
183
  *SmartTransferApi* | [**smart_tranfers_preauthorizations_list**](docs/SmartTransferApi.md#smart_tranfers_preauthorizations_list) | **GET** /smart-transfers/preauthorizations | List preauthorizations
183
184
  *SmartTransferApi* | [**smart_transfer_payment_create**](docs/SmartTransferApi.md#smart_transfer_payment_create) | **POST** /smart-transfers/payments | Create payment
@@ -198,9 +199,12 @@ Class | Method | HTTP request | Description
198
199
 
199
200
  - [Account](docs/Account.md)
200
201
  - [AccountsList200Response](docs/AccountsList200Response.md)
202
+ - [AdditionalCard](docs/AdditionalCard.md)
201
203
  - [Address](docs/Address.md)
202
204
  - [AuthRequest](docs/AuthRequest.md)
203
205
  - [AuthResponse](docs/AuthResponse.md)
206
+ - [AutomaticPixFirstPayment](docs/AutomaticPixFirstPayment.md)
207
+ - [AutomaticPixPayment](docs/AutomaticPixPayment.md)
204
208
  - [BankData](docs/BankData.md)
205
209
  - [Bill](docs/Bill.md)
206
210
  - [BillFinanceCharge](docs/BillFinanceCharge.md)
@@ -222,6 +226,7 @@ Class | Method | HTTP request | Description
222
226
  - [ConnectorListResponse](docs/ConnectorListResponse.md)
223
227
  - [ConnectorUserAction](docs/ConnectorUserAction.md)
224
228
  - [Consent](docs/Consent.md)
229
+ - [CreateAutomaticPixPaymentRequest](docs/CreateAutomaticPixPaymentRequest.md)
225
230
  - [CreateBoleto](docs/CreateBoleto.md)
226
231
  - [CreateBoletoBoleto](docs/CreateBoletoBoleto.md)
227
232
  - [CreateBoletoBoletoFine](docs/CreateBoletoBoletoFine.md)
@@ -229,7 +234,6 @@ Class | Method | HTTP request | Description
229
234
  - [CreateBoletoBoletoPayer](docs/CreateBoletoBoletoPayer.md)
230
235
  - [CreateBoletoConnection](docs/CreateBoletoConnection.md)
231
236
  - [CreateBoletoConnectionFromItem](docs/CreateBoletoConnectionFromItem.md)
232
- - [CreateBoletoPaymentRequest](docs/CreateBoletoPaymentRequest.md)
233
237
  - [CreateClientCategoryRule](docs/CreateClientCategoryRule.md)
234
238
  - [CreateItem](docs/CreateItem.md)
235
239
  - [CreateItemParameters](docs/CreateItemParameters.md)
@@ -247,6 +251,7 @@ Class | Method | HTTP request | Description
247
251
  - [CreditCardMetadata](docs/CreditCardMetadata.md)
248
252
  - [CreditData](docs/CreditData.md)
249
253
  - [DAILY](docs/DAILY.md)
254
+ - [DisaggregatedCreditLimit](docs/DisaggregatedCreditLimit.md)
250
255
  - [Document](docs/Document.md)
251
256
  - [Email](docs/Email.md)
252
257
  - [GlobalErrorResponse](docs/GlobalErrorResponse.md)
@@ -302,6 +307,7 @@ Class | Method | HTTP request | Description
302
307
  - [PaymentDataParticipant](docs/PaymentDataParticipant.md)
303
308
  - [PaymentInstitution](docs/PaymentInstitution.md)
304
309
  - [PaymentIntent](docs/PaymentIntent.md)
310
+ - [PaymentIntentAutomaticPix](docs/PaymentIntentAutomaticPix.md)
305
311
  - [PaymentIntentErrorDetail](docs/PaymentIntentErrorDetail.md)
306
312
  - [PaymentIntentParameter](docs/PaymentIntentParameter.md)
307
313
  - [PaymentIntentsList200Response](docs/PaymentIntentsList200Response.md)
@@ -312,12 +318,15 @@ Class | Method | HTTP request | Description
312
318
  - [PaymentRequest](docs/PaymentRequest.md)
313
319
  - [PaymentRequestCallbackUrls](docs/PaymentRequestCallbackUrls.md)
314
320
  - [PaymentRequestErrorDetail](docs/PaymentRequestErrorDetail.md)
321
+ - [PaymentRequestGetAutomaticPixSchedules200Response](docs/PaymentRequestGetAutomaticPixSchedules200Response.md)
315
322
  - [PaymentRequestSchedule](docs/PaymentRequestSchedule.md)
316
323
  - [PaymentRequestsList200Response](docs/PaymentRequestsList200Response.md)
317
324
  - [PaymentSchedulesList200Response](docs/PaymentSchedulesList200Response.md)
318
325
  - [PhoneNumber](docs/PhoneNumber.md)
319
326
  - [PixData](docs/PixData.md)
327
+ - [RetryAutomaticPixPaymentRequest](docs/RetryAutomaticPixPaymentRequest.md)
320
328
  - [SINGLE](docs/SINGLE.md)
329
+ - [ScheduleAutomaticPixPaymentRequest](docs/ScheduleAutomaticPixPaymentRequest.md)
321
330
  - [SchedulePayment](docs/SchedulePayment.md)
322
331
  - [SchedulePaymentErrorDetail](docs/SchedulePaymentErrorDetail.md)
323
332
  - [SmartTranfersPreauthorizationsList200Response](docs/SmartTranfersPreauthorizationsList200Response.md)