Checkout¶
Checkout reference.
Payment¶
To use the payment methods:
from salesman.checkout.payment import payment_methods_pool
basket_payments = payment_methods_pool.get_payments('basket')
order_payments = payment_methods_pool.get_payments('order')
payment = payment_methods_pool.get_payment('pay-in-advance')
-
class
salesman.checkout.payment.
PaymentError
[source]¶ Payment error for raising payment related exceptions.
-
class
salesman.checkout.payment.
PaymentMethod
[source]¶ Base payment method, all payment methods defined in
SALESMAN_PAYMENT_METHODS
must extend this class.-
get_urls
() → list[source]¶ Hook for adding extra url patterns for payment method. Urls will be included as child patterns under the defined identifier namespace =>
/payment/{identifier}/{urls}
.
-
validate_basket
(basket: salesman.basket.models.Basket, request: django.http.request.HttpRequest) → None[source]¶ Method used to validate that payment method is valid for the given basket.
- Parameters
basket (Basket) – Basket instance
request (HttpRequest) – Django request
- Raises
ValidationError – If payment is not valid for basket
-
validate_order
(order: salesman.orders.models.Order, request: django.http.request.HttpRequest) → None[source]¶ Method used to validate that payment method is valid for the given order.
- Parameters
order (Order) – Order instance
request (HttpRequest) – Django request
- Raises
ValidationError – If payment is not valid for order
-
basket_payment
(basket: salesman.basket.models.Basket, request: django.http.request.HttpRequest) → str[source]¶ This method gets called when new checkout is submitted and is responsible for creating a new order from given basket. Should return the redirect url to either the next payment step or the order success page. Raise
PaymentError
in case an issue appears.- Parameters
basket (Basket) – Basket instance
request (HttpRequest) – Django request
- Raises
PaymentError – If error with payment occurs
- Returns
Redirect url to the next step
- Return type
str
-
order_payment
(order: salesman.orders.models.Order, request: django.http.request.HttpRequest) → str[source]¶ This method gets called when payment for an existing order is requested. Should return the redirect url to either the next payment step or the order success page. Raise
PaymentError
in case an issue appears.- Parameters
order (Order) – Order instance
request (HttpRequest) – Django request
- Raises
PaymentError – If error with payment occurs
- Returns
Redirect url to the next step
- Return type
str
-
refund_payment
(payment: salesman.orders.models.OrderPayment) → bool[source]¶ This method gets called when orders payment refund is requested. Should return True if refund was completed.
- Parameters
payment (OrderPayment) – Order payment instance
- Returns
True if refund was completed
- Return type
bool
-
-
class
salesman.checkout.payment.
PaymentMethodsPool
[source]¶ Pool for storing payment method instances.
-
get_payments
(kind: Optional[str] = None) → List[salesman.checkout.payment.PaymentMethod][source]¶ Returns payment method instances.
- Parameters
kind (Optional[str], optional) – Either basket or order. Defaults to None.
- Returns
Payment method instances
- Return type
List[PaymentMethod]
-
get_choices
(kind: Optional[str] = None) → list[source]¶ Return payments formated as choices list of tuples.
- Parameters
kind (Optional[str], optional) – Either basket or order. Defaults to None.
- Returns
List of choices
- Return type
list
-
get_payment
(identifier: str, kind: Optional[str] = None) → salesman.checkout.payment.PaymentMethod[source]¶ Returns payment with given identifier.
- Parameters
identifier (str) – Payment identifier
kind (Optional[str], optional) – Either basket or order. Defaults to None.
- Returns
Payment method instance
- Return type
-
-
payment.
payment_methods_pool
= <salesman.checkout.payment.PaymentMethodsPool object>¶
Utils¶
-
salesman.checkout.utils.
validate_address
(value: str, context: dict) → str[source]¶ Default address validator function. Can be overriden by providing a dotted path to a function in
SALESMAN_ADDRESS_VALIDATOR
setting.- Parameters
value (str) – Address text to be validated
context (dict, optional) – Validator context data.
- Raises
ValidationError – In case address is not valid
- Returns
Validated value
- Return type
str