From da7d396cb88ebba1f280912dcaecd144d3d0d6ec Mon Sep 17 00:00:00 2001 From: Olivier Bellone Date: Thu, 21 Sep 2017 19:21:51 +0200 Subject: [PATCH] Add support for listing source_transactions --- stripe/api_resources/__init__.py | 1 + stripe/api_resources/source.py | 4 ++++ stripe/api_resources/source_transaction.py | 5 +++++ .../api_resources/test_source_transaction.py | 19 +++++++++++++++++++ stripe/util.py | 2 ++ 5 files changed, 31 insertions(+) create mode 100644 stripe/api_resources/source_transaction.py create mode 100644 stripe/test/api_resources/test_source_transaction.py diff --git a/stripe/api_resources/__init__.py b/stripe/api_resources/__init__.py index 4e2891131..a943161f2 100644 --- a/stripe/api_resources/__init__.py +++ b/stripe/api_resources/__init__.py @@ -35,6 +35,7 @@ from stripe.api_resources.reversal import Reversal from stripe.api_resources.sku import SKU from stripe.api_resources.source import Source +from stripe.api_resources.source_transaction import SourceTransaction from stripe.api_resources.subscription import Subscription from stripe.api_resources.subscription_item import SubscriptionItem from stripe.api_resources.three_d_secure import ThreeDSecure diff --git a/stripe/api_resources/source.py b/stripe/api_resources/source.py index 6de13c979..11ac7ba3b 100644 --- a/stripe/api_resources/source.py +++ b/stripe/api_resources/source.py @@ -33,3 +33,7 @@ def delete(self, **params): "`Source.detach` method instead", DeprecationWarning) self.detach(**params) + + def source_transactions(self, **params): + return self.request( + 'get', self.instance_url() + '/source_transactions', params) diff --git a/stripe/api_resources/source_transaction.py b/stripe/api_resources/source_transaction.py new file mode 100644 index 000000000..fc04a6c26 --- /dev/null +++ b/stripe/api_resources/source_transaction.py @@ -0,0 +1,5 @@ +from stripe.stripe_object import StripeObject + + +class SourceTransaction(StripeObject): + OBJECT_NAME = 'source_transaction' diff --git a/stripe/test/api_resources/test_source_transaction.py b/stripe/test/api_resources/test_source_transaction.py new file mode 100644 index 000000000..7a56617a0 --- /dev/null +++ b/stripe/test/api_resources/test_source_transaction.py @@ -0,0 +1,19 @@ +import stripe +from stripe.test.helper import StripeResourceTest + + +class SourceTransactionTest(StripeResourceTest): + def test_list_source_transactions(self): + source = stripe.Source.construct_from({ + 'id': 'src_test', + 'type': 'ach_credit' + }, 'api_key') + + source.source_transactions() + + self.requestor_mock.request.assert_called_with( + 'get', + '/v1/sources/src_test/source_transactions', + {}, + None + ) diff --git a/stripe/util.py b/stripe/util.py index 4bf411995..ee592f987 100644 --- a/stripe/util.py +++ b/stripe/util.py @@ -207,6 +207,8 @@ def load_object_classes(): api_resources.Reversal.OBJECT_NAME: api_resources.Reversal, api_resources.SKU.OBJECT_NAME: api_resources.SKU, api_resources.Source.OBJECT_NAME: api_resources.Source, + api_resources.SourceTransaction.OBJECT_NAME: + api_resources.SourceTransaction, api_resources.Subscription.OBJECT_NAME: api_resources.Subscription, api_resources.SubscriptionItem.OBJECT_NAME: api_resources.SubscriptionItem,