Skip to content

Commit

Permalink
API Updates (#810)
Browse files Browse the repository at this point in the history
  • Loading branch information
kamil-stripe authored May 20, 2022
1 parent fb2a6d3 commit 33d8163
Show file tree
Hide file tree
Showing 16 changed files with 1,433 additions and 367 deletions.
1 change: 1 addition & 0 deletions stripe/api_resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
from stripe.api_resources import sigma
from stripe.api_resources import terminal
from stripe.api_resources import test_helpers
from stripe.api_resources import treasury

from stripe.api_resources.account import Account
from stripe.api_resources.account_link import AccountLink
Expand Down
39 changes: 39 additions & 0 deletions stripe/api_resources/customer.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,45 @@ def list_payment_methods(self, idempotency_key=None, **params):
stripe_object._retrieve_params = params
return stripe_object

@classmethod
def _cls_retrieve_payment_method(
cls,
customer,
payment_method,
api_key=None,
stripe_version=None,
stripe_account=None,
**params
):
requestor = api_requestor.APIRequestor(
api_key, api_version=stripe_version, account=stripe_account
)
url = (
"/v1/customers/{customer}/payment_methods/{payment_method}".format(
customer=util.sanitize_id(customer),
payment_method=util.sanitize_id(payment_method),
)
)
response, api_key = requestor.request("get", url, params)
return util.convert_to_stripe_object(
response, api_key, stripe_version, stripe_account
)

@util.class_method_variant("_cls_retrieve_payment_method")
def retrieve_payment_method(
self, payment_method, idempotency_key=None, **params
):
url = (
"/v1/customers/{customer}/payment_methods/{payment_method}".format(
customer=util.sanitize_id(self.get("id")),
payment_method=util.sanitize_id(payment_method),
)
)
headers = util.populate_headers(idempotency_key)
resp = self.request("get", url, params, headers)
stripe_object = util.convert_to_stripe_object(resp)
return stripe_object

@classmethod
def search(cls, *args, **kwargs):
return cls._search(search_url="/v1/customers/search", *args, **kwargs)
Expand Down
13 changes: 11 additions & 2 deletions stripe/api_resources/financial_connections/account.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@
from __future__ import absolute_import, division, print_function

from stripe import util
from stripe.api_resources.abstract import APIResource
from stripe.api_resources.abstract import ListableAPIResource
from stripe.api_resources.abstract import custom_method


@custom_method("disconnect", http_verb="post")
@custom_method("list_owners", http_verb="get", http_path="owners")
@custom_method("refresh_account", http_verb="post", http_path="refresh")
class Account(APIResource):
class Account(ListableAPIResource):
OBJECT_NAME = "financial_connections.account"

def disconnect(self, idempotency_key=None, **params):
Expand All @@ -17,6 +18,14 @@ def disconnect(self, idempotency_key=None, **params):
self.refresh_from(self.request("post", url, params, headers))
return self

def list_owners(self, idempotency_key=None, **params):
url = self.instance_url() + "/owners"
headers = util.populate_headers(idempotency_key)
resp = self.request("get", url, params, headers)
stripe_object = util.convert_to_stripe_object(resp)
stripe_object._retrieve_params = params
return stripe_object

def refresh_account(self, idempotency_key=None, **params):
url = self.instance_url() + "/refresh"
headers = util.populate_headers(idempotency_key)
Expand Down
15 changes: 15 additions & 0 deletions stripe/api_resources/treasury/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# File generated from our OpenAPI spec
from __future__ import absolute_import, division, print_function

# flake8: noqa

from stripe.api_resources.treasury.credit_reversal import CreditReversal
from stripe.api_resources.treasury.debit_reversal import DebitReversal
from stripe.api_resources.treasury.financial_account import FinancialAccount
from stripe.api_resources.treasury.inbound_transfer import InboundTransfer
from stripe.api_resources.treasury.outbound_payment import OutboundPayment
from stripe.api_resources.treasury.outbound_transfer import OutboundTransfer
from stripe.api_resources.treasury.received_credit import ReceivedCredit
from stripe.api_resources.treasury.received_debit import ReceivedDebit
from stripe.api_resources.treasury.transaction import Transaction
from stripe.api_resources.treasury.transaction_entry import TransactionEntry
9 changes: 9 additions & 0 deletions stripe/api_resources/treasury/credit_reversal.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# File generated from our OpenAPI spec
from __future__ import absolute_import, division, print_function

from stripe.api_resources.abstract import CreateableAPIResource
from stripe.api_resources.abstract import ListableAPIResource


class CreditReversal(CreateableAPIResource, ListableAPIResource):
OBJECT_NAME = "treasury.credit_reversal"
9 changes: 9 additions & 0 deletions stripe/api_resources/treasury/debit_reversal.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# File generated from our OpenAPI spec
from __future__ import absolute_import, division, print_function

from stripe.api_resources.abstract import CreateableAPIResource
from stripe.api_resources.abstract import ListableAPIResource


class DebitReversal(CreateableAPIResource, ListableAPIResource):
OBJECT_NAME = "treasury.debit_reversal"
32 changes: 32 additions & 0 deletions stripe/api_resources/treasury/financial_account.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# File generated from our OpenAPI spec
from __future__ import absolute_import, division, print_function

from stripe import util
from stripe.api_resources.abstract import CreateableAPIResource
from stripe.api_resources.abstract import ListableAPIResource
from stripe.api_resources.abstract import UpdateableAPIResource
from stripe.api_resources.abstract import custom_method


@custom_method("retrieve_features", http_verb="get", http_path="features")
@custom_method("update_features", http_verb="post", http_path="features")
class FinancialAccount(
CreateableAPIResource,
ListableAPIResource,
UpdateableAPIResource,
):
OBJECT_NAME = "treasury.financial_account"

def retrieve_features(self, idempotency_key=None, **params):
url = self.instance_url() + "/features"
headers = util.populate_headers(idempotency_key)
resp = self.request("get", url, params, headers)
stripe_object = util.convert_to_stripe_object(resp)
return stripe_object

def update_features(self, idempotency_key=None, **params):
url = self.instance_url() + "/features"
headers = util.populate_headers(idempotency_key)
resp = self.request("post", url, params, headers)
stripe_object = util.convert_to_stripe_object(resp)
return stripe_object
53 changes: 53 additions & 0 deletions stripe/api_resources/treasury/inbound_transfer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# File generated from our OpenAPI spec
from __future__ import absolute_import, division, print_function

from stripe import util
from stripe.api_resources.abstract import APIResourceTestHelpers
from stripe.api_resources.abstract import CreateableAPIResource
from stripe.api_resources.abstract import ListableAPIResource
from stripe.api_resources.abstract import custom_method
from stripe.api_resources.abstract import test_helpers


@test_helpers
@custom_method("cancel", http_verb="post")
class InboundTransfer(CreateableAPIResource, ListableAPIResource):
OBJECT_NAME = "treasury.inbound_transfer"

def cancel(self, idempotency_key=None, **params):
url = self.instance_url() + "/cancel"
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request("post", url, params, headers))
return self

@custom_method("fail", http_verb="post")
@custom_method(
"return_inbound_transfer",
http_verb="post",
http_path="return",
)
@custom_method("succeed", http_verb="post")
class TestHelpers(APIResourceTestHelpers):
def fail(self, idempotency_key=None, **params):
url = self.instance_url() + "/fail"
headers = util.populate_headers(idempotency_key)
self.resource.refresh_from(
self.resource.request("post", url, params, headers)
)
return self.resource

def return_inbound_transfer(self, idempotency_key=None, **params):
url = self.instance_url() + "/return"
headers = util.populate_headers(idempotency_key)
self.resource.refresh_from(
self.resource.request("post", url, params, headers)
)
return self.resource

def succeed(self, idempotency_key=None, **params):
url = self.instance_url() + "/succeed"
headers = util.populate_headers(idempotency_key)
self.resource.refresh_from(
self.resource.request("post", url, params, headers)
)
return self.resource
53 changes: 53 additions & 0 deletions stripe/api_resources/treasury/outbound_payment.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# File generated from our OpenAPI spec
from __future__ import absolute_import, division, print_function

from stripe import util
from stripe.api_resources.abstract import APIResourceTestHelpers
from stripe.api_resources.abstract import CreateableAPIResource
from stripe.api_resources.abstract import ListableAPIResource
from stripe.api_resources.abstract import custom_method
from stripe.api_resources.abstract import test_helpers


@test_helpers
@custom_method("cancel", http_verb="post")
class OutboundPayment(CreateableAPIResource, ListableAPIResource):
OBJECT_NAME = "treasury.outbound_payment"

def cancel(self, idempotency_key=None, **params):
url = self.instance_url() + "/cancel"
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request("post", url, params, headers))
return self

@custom_method("fail", http_verb="post")
@custom_method("post", http_verb="post")
@custom_method(
"return_outbound_payment",
http_verb="post",
http_path="return",
)
class TestHelpers(APIResourceTestHelpers):
def fail(self, idempotency_key=None, **params):
url = self.instance_url() + "/fail"
headers = util.populate_headers(idempotency_key)
self.resource.refresh_from(
self.resource.request("post", url, params, headers)
)
return self.resource

def post(self, idempotency_key=None, **params):
url = self.instance_url() + "/post"
headers = util.populate_headers(idempotency_key)
self.resource.refresh_from(
self.resource.request("post", url, params, headers)
)
return self.resource

def return_outbound_payment(self, idempotency_key=None, **params):
url = self.instance_url() + "/return"
headers = util.populate_headers(idempotency_key)
self.resource.refresh_from(
self.resource.request("post", url, params, headers)
)
return self.resource
53 changes: 53 additions & 0 deletions stripe/api_resources/treasury/outbound_transfer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# File generated from our OpenAPI spec
from __future__ import absolute_import, division, print_function

from stripe import util
from stripe.api_resources.abstract import APIResourceTestHelpers
from stripe.api_resources.abstract import CreateableAPIResource
from stripe.api_resources.abstract import ListableAPIResource
from stripe.api_resources.abstract import custom_method
from stripe.api_resources.abstract import test_helpers


@test_helpers
@custom_method("cancel", http_verb="post")
class OutboundTransfer(CreateableAPIResource, ListableAPIResource):
OBJECT_NAME = "treasury.outbound_transfer"

def cancel(self, idempotency_key=None, **params):
url = self.instance_url() + "/cancel"
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request("post", url, params, headers))
return self

@custom_method("fail", http_verb="post")
@custom_method("post", http_verb="post")
@custom_method(
"return_outbound_transfer",
http_verb="post",
http_path="return",
)
class TestHelpers(APIResourceTestHelpers):
def fail(self, idempotency_key=None, **params):
url = self.instance_url() + "/fail"
headers = util.populate_headers(idempotency_key)
self.resource.refresh_from(
self.resource.request("post", url, params, headers)
)
return self.resource

def post(self, idempotency_key=None, **params):
url = self.instance_url() + "/post"
headers = util.populate_headers(idempotency_key)
self.resource.refresh_from(
self.resource.request("post", url, params, headers)
)
return self.resource

def return_outbound_transfer(self, idempotency_key=None, **params):
url = self.instance_url() + "/return"
headers = util.populate_headers(idempotency_key)
self.resource.refresh_from(
self.resource.request("post", url, params, headers)
)
return self.resource
31 changes: 31 additions & 0 deletions stripe/api_resources/treasury/received_credit.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# File generated from our OpenAPI spec
from __future__ import absolute_import, division, print_function

from stripe import api_requestor
from stripe import util
from stripe.api_resources.abstract import APIResourceTestHelpers
from stripe.api_resources.abstract import ListableAPIResource
from stripe.api_resources.abstract import test_helpers


@test_helpers
class ReceivedCredit(ListableAPIResource):
OBJECT_NAME = "treasury.received_credit"

class TestHelpers(APIResourceTestHelpers):
@classmethod
def create(
cls,
api_key=None,
stripe_version=None,
stripe_account=None,
**params
):
requestor = api_requestor.APIRequestor(
api_key, api_version=stripe_version, account=stripe_account
)
url = "/v1/test_helpers/treasury/received_credits"
response, api_key = requestor.request("post", url, params)
return util.convert_to_stripe_object(
response, api_key, stripe_version, stripe_account
)
31 changes: 31 additions & 0 deletions stripe/api_resources/treasury/received_debit.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# File generated from our OpenAPI spec
from __future__ import absolute_import, division, print_function

from stripe import api_requestor
from stripe import util
from stripe.api_resources.abstract import APIResourceTestHelpers
from stripe.api_resources.abstract import ListableAPIResource
from stripe.api_resources.abstract import test_helpers


@test_helpers
class ReceivedDebit(ListableAPIResource):
OBJECT_NAME = "treasury.received_debit"

class TestHelpers(APIResourceTestHelpers):
@classmethod
def create(
cls,
api_key=None,
stripe_version=None,
stripe_account=None,
**params
):
requestor = api_requestor.APIRequestor(
api_key, api_version=stripe_version, account=stripe_account
)
url = "/v1/test_helpers/treasury/received_debits"
response, api_key = requestor.request("post", url, params)
return util.convert_to_stripe_object(
response, api_key, stripe_version, stripe_account
)
8 changes: 8 additions & 0 deletions stripe/api_resources/treasury/transaction.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# File generated from our OpenAPI spec
from __future__ import absolute_import, division, print_function

from stripe.api_resources.abstract import ListableAPIResource


class Transaction(ListableAPIResource):
OBJECT_NAME = "treasury.transaction"
Loading

0 comments on commit 33d8163

Please sign in to comment.