Skip to content

Commit 0c2725c

Browse files
authored
Annotate braintree's Subscription and Transaction methods (#14917)
1 parent bdb55f1 commit 0c2725c

File tree

5 files changed

+38
-15
lines changed

5 files changed

+38
-15
lines changed

stubs/braintree/braintree/subscription.pyi

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
from _typeshed import Incomplete
2+
from datetime import date
23
from decimal import Decimal
34
from typing import Final
45

56
from braintree.add_on import AddOn
67
from braintree.descriptor import Descriptor
78
from braintree.discount import Discount
9+
from braintree.error_result import ErrorResult
810
from braintree.resource import Resource
11+
from braintree.resource_collection import ResourceCollection
912
from braintree.subscription_status_event import SubscriptionStatusEvent
13+
from braintree.successful_result import SuccessfulResult
1014
from braintree.transaction import Transaction
1115

1216
class Subscription(Resource):
@@ -27,23 +31,24 @@ class Subscription(Resource):
2731
Pending: Final = "Pending"
2832

2933
@staticmethod
30-
def create(params=None): ...
34+
def create(params: dict[str, Incomplete] | None = None) -> SuccessfulResult | ErrorResult | None: ...
3135
@staticmethod
3236
def create_signature(): ...
3337
@staticmethod
34-
def find(subscription_id): ...
38+
def find(subscription_id: str) -> Subscription: ...
3539
@staticmethod
3640
def retry_charge(subscription_id, amount=None, submit_for_settlement: bool = False): ...
3741
@staticmethod
38-
def update(subscription_id, params=None): ...
42+
def update(subscription_id: str, params: dict[str, Incomplete] | None = None) -> SuccessfulResult | ErrorResult | None: ...
3943
@staticmethod
40-
def cancel(subscription_id): ...
44+
def cancel(subscription_id: str) -> SuccessfulResult | ErrorResult | None: ...
4145
@staticmethod
42-
def search(*query): ...
46+
def search(*query) -> ResourceCollection: ...
4347
@staticmethod
4448
def update_signature(): ...
4549
price: Decimal
4650
balance: Decimal
51+
next_billing_date: date
4752
next_billing_period_amount: Decimal
4853
add_ons: list[AddOn]
4954
descriptor: Descriptor
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
from datetime import date
2+
13
from braintree.attribute_getter import AttributeGetter
24

3-
class SubscriptionDetails(AttributeGetter): ...
5+
class SubscriptionDetails(AttributeGetter):
6+
billing_period_start_date: date
7+
billing_period_end_date: date
Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
from _typeshed import Incomplete
22

3+
from braintree.error_result import ErrorResult
4+
from braintree.resource_collection import ResourceCollection
5+
from braintree.subscription import Subscription
6+
from braintree.successful_result import SuccessfulResult
7+
38
class SubscriptionGateway:
49
gateway: Incomplete
510
config: Incomplete
611
def __init__(self, gateway) -> None: ...
7-
def cancel(self, subscription_id): ...
8-
def create(self, params=None): ...
9-
def find(self, subscription_id): ...
12+
def cancel(self, subscription_id: str) -> SuccessfulResult | ErrorResult | None: ...
13+
def create(self, params: dict[str, Incomplete] | None = None) -> SuccessfulResult | ErrorResult | None: ...
14+
def find(self, subscription_id: str) -> Subscription: ...
1015
def retry_charge(self, subscription_id, amount=None, submit_for_settlement: bool = False): ...
11-
def search(self, *query): ...
12-
def update(self, subscription_id, params=None): ...
16+
def search(self, *query) -> ResourceCollection: ...
17+
def update(
18+
self, subscription_id: str, params: dict[str, Incomplete] | None = None
19+
) -> SuccessfulResult | ErrorResult | None: ...

stubs/braintree/braintree/transaction.pyi

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from _typeshed import Incomplete
2+
from datetime import datetime
23
from decimal import Decimal
34
from typing import Final
45

@@ -26,6 +27,7 @@ from braintree.payment_facilitator import PaymentFacilitator
2627
from braintree.paypal_account import PayPalAccount
2728
from braintree.paypal_here import PayPalHere
2829
from braintree.resource import Resource
30+
from braintree.resource_collection import ResourceCollection
2931
from braintree.risk_data import RiskData
3032
from braintree.samsung_pay_card import SamsungPayCard
3133
from braintree.sepa_direct_debit_account import SepaDirectDebitAccount
@@ -102,13 +104,13 @@ class Transaction(Resource):
102104
@staticmethod
103105
def credit(params=None): ...
104106
@staticmethod
105-
def find(transaction_id): ...
107+
def find(transaction_id: str) -> Transaction: ...
106108
@staticmethod
107109
def refund(transaction_id, amount_or_options=None): ...
108110
@staticmethod
109111
def sale(params=None): ...
110112
@staticmethod
111-
def search(*query): ...
113+
def search(*query) -> ResourceCollection: ...
112114
@staticmethod
113115
def submit_for_settlement(transaction_id, amount=None, params=None): ...
114116
@staticmethod
@@ -176,6 +178,8 @@ class Transaction(Resource):
176178
network_transaction_id: Incomplete
177179
payment_facilitator: PaymentFacilitator
178180
transfer: Transfer
181+
subscription_id: str
182+
created_at: datetime
179183
def __init__(self, gateway, attributes) -> None: ...
180184
@property
181185
def vault_billing_address(self): ...

stubs/braintree/braintree/transaction_gateway.pyi

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
from _typeshed import Incomplete
22

3+
from braintree.resource_collection import ResourceCollection
4+
from braintree.transaction import Transaction
5+
36
class TransactionGateway:
47
gateway: Incomplete
58
config: Incomplete
@@ -9,10 +12,10 @@ class TransactionGateway:
912
def cancel_release(self, transaction_id): ...
1013
def create(self, params): ...
1114
def credit(self, params): ...
12-
def find(self, transaction_id): ...
15+
def find(self, transaction_id: str) -> Transaction: ...
1316
def refund(self, transaction_id, amount_or_options=None): ...
1417
def sale(self, params): ...
15-
def search(self, *query): ...
18+
def search(self, *query) -> ResourceCollection: ...
1619
def submit_for_settlement(self, transaction_id, amount=None, params=None): ...
1720
def update_details(self, transaction_id, params=None): ...
1821
def submit_for_partial_settlement(self, transaction_id, amount, params=None): ...

0 commit comments

Comments
 (0)