Skip to content

Commit

Permalink
API Updates (#809)
Browse files Browse the repository at this point in the history
  • Loading branch information
richardm-stripe authored May 9, 2022
1 parent 6b6620a commit 8548b18
Show file tree
Hide file tree
Showing 8 changed files with 98 additions and 166 deletions.
1 change: 0 additions & 1 deletion stripe/api_resources/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@
from stripe.api_resources.login_link import LoginLink
from stripe.api_resources.mandate import Mandate
from stripe.api_resources.order import Order
from stripe.api_resources.order_return import OrderReturn
from stripe.api_resources.payment_intent import PaymentIntent
from stripe.api_resources.payment_link import PaymentLink
from stripe.api_resources.payment_method import PaymentMethod
Expand Down
4 changes: 2 additions & 2 deletions stripe/api_resources/financial_connections/account.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@


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

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

def refresh(self, idempotency_key=None, **params):
def refresh_account(self, idempotency_key=None, **params):
url = self.instance_url() + "/refresh"
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request("post", url, params, headers))
Expand Down
32 changes: 24 additions & 8 deletions stripe/api_resources/order.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,35 @@
from stripe.api_resources.abstract import custom_method


@custom_method("return_order", http_verb="post", http_path="returns")
@custom_method("pay", http_verb="post")
@custom_method("cancel", http_verb="post")
@custom_method("list_line_items", http_verb="get", http_path="line_items")
@custom_method("reopen", http_verb="post")
@custom_method("submit", http_verb="post")
class Order(CreateableAPIResource, ListableAPIResource, UpdateableAPIResource):
OBJECT_NAME = "order"

def pay(self, idempotency_key=None, **params):
url = self.instance_url() + "/pay"
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

def return_order(self, idempotency_key=None, **params):
def list_line_items(self, idempotency_key=None, **params):
url = self.instance_url() + "/line_items"
headers = util.populate_headers(idempotency_key)
return self.request(
"post", self.instance_url() + "/returns", params, headers
)
resp = self.request("get", url, params, headers)
stripe_object = util.convert_to_stripe_object(resp)
stripe_object._retrieve_params = params
return stripe_object

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

def submit(self, idempotency_key=None, **params):
url = self.instance_url() + "/submit"
headers = util.populate_headers(idempotency_key)
self.refresh_from(self.request("post", url, params, headers))
return self
8 changes: 0 additions & 8 deletions stripe/api_resources/order_return.py

This file was deleted.

1 change: 0 additions & 1 deletion stripe/object_classes.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@
api_resources.LoginLink.OBJECT_NAME: api_resources.LoginLink,
api_resources.Mandate.OBJECT_NAME: api_resources.Mandate,
api_resources.Order.OBJECT_NAME: api_resources.Order,
api_resources.OrderReturn.OBJECT_NAME: api_resources.OrderReturn,
api_resources.PaymentIntent.OBJECT_NAME: api_resources.PaymentIntent,
api_resources.PaymentLink.OBJECT_NAME: api_resources.PaymentLink,
api_resources.PaymentMethod.OBJECT_NAME: api_resources.PaymentMethod,
Expand Down
78 changes: 0 additions & 78 deletions tests/api_resources/test_order.py

This file was deleted.

21 changes: 0 additions & 21 deletions tests/api_resources/test_order_return.py

This file was deleted.

119 changes: 72 additions & 47 deletions tests/test_generated_examples.py
Original file line number Diff line number Diff line change
Expand Up @@ -1402,53 +1402,6 @@ def test_terminal_reader_list(self, request_mock):
stripe.terminal.Reader.list(limit=3)
request_mock.assert_requested("get", "/v1/terminal/readers")

def test_order_create(self, request_mock):
stripe.Order.create(
currency="usd",
email="jenny.rosen@example.com",
items=[{"type": "sku", "parent": "sku_xxxxxxxxxxxxx"}],
shipping={
"name": "Jenny Rosen",
"address": {
"line1": "1234 Main Street",
"city": "San Francisco",
"state": "CA",
"country": "US",
"postal_code": "94111",
},
},
)
request_mock.assert_requested("post", "/v1/orders")

def test_order_retrieve(self, request_mock):
stripe.Order.retrieve("or_xxxxxxxxxxxxx")
request_mock.assert_requested("get", "/v1/orders/or_xxxxxxxxxxxxx")

def test_order_update(self, request_mock):
stripe.Order.modify("or_xxxxxxxxxxxxx", metadata={"order_id": "6735"})
request_mock.assert_requested("post", "/v1/orders/or_xxxxxxxxxxxxx")

def test_order_pay(self, request_mock):
stripe.Order.pay("or_xxxxxxxxxxxxx", source="tok_xxxx")
request_mock.assert_requested(
"post", "/v1/orders/or_xxxxxxxxxxxxx/pay"
)

def test_order_list(self, request_mock):
stripe.Order.list(limit=3)
request_mock.assert_requested("get", "/v1/orders")

def test_orderreturn_retrieve(self, request_mock):
stripe.OrderReturn.retrieve("orret_xxxxxxxxxxxxx")
request_mock.assert_requested(
"get",
"/v1/order_returns/orret_xxxxxxxxxxxxx",
)

def test_orderreturn_list(self, request_mock):
stripe.OrderReturn.list(limit=3)
request_mock.assert_requested("get", "/v1/order_returns")

def test_sku_create(self, request_mock):
stripe.SKU.create(
attributes={"size": "Medium", "gender": "Unisex"},
Expand Down Expand Up @@ -1717,3 +1670,75 @@ def test_refund_expire(self, request_mock):
"post",
"/v1/test_helpers/refunds/re_123/expire",
)

def test_order_create(self, request_mock):
stripe.Order.create(
description="description",
currency="usd",
line_items=[{"description": "my line item"}],
)
request_mock.assert_requested("post", "/v1/orders")

def test_order_update(self, request_mock):
stripe.Order.modify("order_xyz")
request_mock.assert_requested("post", "/v1/orders/order_xyz")

def test_order_list_line_items(self, request_mock):
stripe.Order.list_line_items("order_xyz")
request_mock.assert_requested("get", "/v1/orders/order_xyz/line_items")

def test_order_cancel(self, request_mock):
stripe.Order.cancel("order_xyz")
request_mock.assert_requested("post", "/v1/orders/order_xyz/cancel")

def test_order_reopen(self, request_mock):
stripe.Order.reopen("order_xyz")
request_mock.assert_requested("post", "/v1/orders/order_xyz/reopen")

def test_order_submit(self, request_mock):
stripe.Order.submit("order_xyz", expected_total=100)
request_mock.assert_requested("post", "/v1/orders/order_xyz/submit")

def test_order_update2(self, request_mock):
stripe.Order.modify("order_xyz")
request_mock.assert_requested("post", "/v1/orders/order_xyz")

def test_financial_connections_account_retrieve(self, request_mock):
stripe.financial_connections.Account.retrieve("fca_xyz")
request_mock.assert_requested(
"get",
"/v1/financial_connections/accounts/fca_xyz",
)

def test_financial_connections_account_refresh_account(self, request_mock):
stripe.financial_connections.Account.refresh_account(
"fca_xyz",
features=["balance"],
)
request_mock.assert_requested(
"post",
"/v1/financial_connections/accounts/fca_xyz/refresh",
)

def test_financial_connections_account_disconnect(self, request_mock):
stripe.financial_connections.Account.disconnect("fca_xyz")
request_mock.assert_requested(
"post",
"/v1/financial_connections/accounts/fca_xyz/disconnect",
)

def test_financial_connections_session_create(self, request_mock):
stripe.financial_connections.Session.create(
account_holder={"type": "customer", "customer": "cus_123"},
permissions=["balances"],
)
request_mock.assert_requested(
"post", "/v1/financial_connections/sessions"
)

def test_financial_connections_session_retrieve(self, request_mock):
stripe.financial_connections.Session.retrieve("fcsess_xyz")
request_mock.assert_requested(
"get",
"/v1/financial_connections/sessions/fcsess_xyz",
)

0 comments on commit 8548b18

Please sign in to comment.