Appearance
module : sdk.payment_strategies.default_payment_strategy ​
Link to GitHub
Entities: ​
Class DefaultPaymentStrategy ​
extends: PaymentStrategy
is extended by: -
description ​
The DefaultPaymentStrategy class is an implementation of the PaymentStrategy. It defines and returns payment metadata for a given service client, taking into account free calls, concurrency, and various payment strategies. In fact, it is not an implementation of a payment strategy on its own, this class is used by default and selects a payment strategy from FreeCallPaymentStrategy, PaidCallPaymentStrategy and PrePaidPaymentStrategy.
attributes ​
concurrent_calls(int): The number of concurrent calls allowed.concurrencyManager(ConcurrencyManager): An instance of theConcurrencyManagerclass for managing concurrency.channel(PaymentChannel): The payment channel used for a specific service call.
methods ​
__init__ ​
Initializes a new instance of the class.
args: ​
concurrent_calls(int): The number of concurrent calls allowed. Defaults to 1.
returns: ​
- None
set_concurrency_token ​
Sets the concurrency token for the concurrency manager.
args: ​
token(str): The token to be set.
returns: ​
- None
set_channel ​
Sets a new channel object.
args: ​
channel(PaymentChannel): The channel to set for theDefaultPaymentStrategyobject.
returns: ​
- None
get_payment_metadata ​
Retrieves payment metadata for the specified service client. Depending on several conditions, creates an instance of one of the FreeCallPaymentStrategy, PaidCallPaymentStrategy and PrePaidPaymentStrategy classes and calls the method of the same name in it.
args: ​
service_client(ServiceClient): The service client object.
returns: ​
- The payment metadata. (list[tuple[str, Any]])
get_concurrency_token_and_channel ​
Retrieves the concurrency token and channel for a given service client.
args: ​
service_client(ServiceClient): The service client instance.
returns: ​
- The concurrency token and channel. (tuple[str, PaymentChannel])