Skip to content

Commit 24aa027

Browse files
committed
fix: Make charge signature of all payment providers consistent
1 parent f33489d commit 24aa027

File tree

5 files changed

+29
-8
lines changed

5 files changed

+29
-8
lines changed

src/viur/shop/payment_providers/amazon_pay.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
import typing as t
1+
import typing as t # noqa
22

33
from viur.core import current, errors, exposed
44
from viur.core.skeleton import SkeletonInstance
5-
5+
from viur.shop.types import *
66
from . import PaymentProviderAbstract
77
from ..globals import SHOP_LOGGER
8+
from ..skeletons import OrderSkel
89

910
logger = SHOP_LOGGER.getChild(__name__)
1011

@@ -72,7 +73,11 @@ def get_checkout_start_data(
7273
"sandbox": self.sandbox,
7374
}
7475

75-
def charge(self):
76+
def charge(
77+
self,
78+
order_skel: SkeletonInstance_T[OrderSkel],
79+
payment: t.Any | None = None,
80+
) -> tuple[SkeletonInstance_T[OrderSkel], t.Any]:
7681
raise errors.NotImplemented()
7782

7883
def check_payment_state(

src/viur/shop/payment_providers/invoice.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ def checkout(
3232
order_skel = self._append_payment_to_order_skel(order_skel)
3333
return None
3434

35-
def charge(self) -> None:
35+
def charge(
36+
self,
37+
order_skel: SkeletonInstance_T[OrderSkel],
38+
payment: t.Any | None = None,
39+
) -> tuple[SkeletonInstance_T[OrderSkel], t.Any]:
3640
# An invoice cannot be charged, The user has to do this on his own
3741
raise IllegalOperationError("An invoice cannot be charged")
3842

src/viur/shop/payment_providers/paypal_checkout.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,11 @@ def checkout(
143143

144144
return ApiHelper.json_serialize(order.body, should_encode=False)
145145

146-
def charge(self):
146+
def charge(
147+
self,
148+
order_skel: SkeletonInstance_T[OrderSkel],
149+
payment: t.Any | None = None,
150+
) -> tuple[SkeletonInstance_T[OrderSkel], t.Any]:
147151
raise errors.NotImplemented()
148152

149153
def check_payment_state(

src/viur/shop/payment_providers/prepayment.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@ def checkout(
3636
order_skel = self._append_payment_to_order_skel(order_skel)
3737
return None
3838

39-
def charge(self) -> None:
39+
def charge(
40+
self,
41+
order_skel: SkeletonInstance_T[OrderSkel],
42+
payment: t.Any | None = None,
43+
) -> tuple[SkeletonInstance_T[OrderSkel], t.Any]:
4044
# An invoice cannot be charged, The user has to do this on his own
4145
raise IllegalOperationError("A prepayment cannot be charged")
4246

src/viur/shop/payment_providers/unzer_abstract.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,8 +238,12 @@ def can_order(
238238

239239
return errs
240240

241-
def charge(self):
242-
raise errors.NotImplemented()
241+
def charge(
242+
self,
243+
order_skel: SkeletonInstance_T[OrderSkel],
244+
payment: t.Any | None = None,
245+
) -> tuple[SkeletonInstance_T[OrderSkel], t.Any]:
246+
raise errors.NotImplemented(f"charge method not implemented in {type(self)}")
243247

244248
def get_order_by_pay_id(
245249
self,

0 commit comments

Comments
 (0)