Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions src/viur/shop/payment_providers/amazon_pay.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import typing as t
import typing as t # noqa

from viur.core import current, errors, exposed
from viur.core.skeleton import SkeletonInstance

from viur.shop.types import *
from . import PaymentProviderAbstract
from ..globals import SHOP_LOGGER
from ..skeletons import OrderSkel

logger = SHOP_LOGGER.getChild(__name__)

Expand Down Expand Up @@ -72,8 +73,12 @@ def get_checkout_start_data(
"sandbox": self.sandbox,
}

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

def check_payment_state(
self,
Expand Down
6 changes: 5 additions & 1 deletion src/viur/shop/payment_providers/invoice.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,11 @@ def checkout(
order_skel = self._append_payment_to_order_skel(order_skel)
return None

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

Expand Down
8 changes: 6 additions & 2 deletions src/viur/shop/payment_providers/paypal_checkout.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,12 @@ def checkout(

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

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

def check_payment_state(
self,
Expand Down
6 changes: 5 additions & 1 deletion src/viur/shop/payment_providers/prepayment.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,11 @@ def checkout(
order_skel = self._append_payment_to_order_skel(order_skel)
return None

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

Expand Down
8 changes: 6 additions & 2 deletions src/viur/shop/payment_providers/unzer_abstract.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,12 @@ def can_order(

return errs

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

def get_order_by_pay_id(
self,
Expand Down