pay.models.payment_providers.datatrans
Attributes
Classes
Usage docs: https://docs.pydantic.dev/2.10/concepts/models/ |
|
Settles an open datatrans charge when the transaction finishes. |
|
All Datarans fee calculations in one place. |
|
Represents a payment done through various means. |
|
Represents a payment provider. |
Module Contents
- class pay.models.payment_providers.datatrans.DatatransTransaction(/, **data: Any)[source]
Bases:
pydantic.BaseModel
Usage docs: https://docs.pydantic.dev/2.10/concepts/models/
A base class for creating Pydantic models.
- Attributes:
__class_vars__: The names of the class variables defined on the model. __private_attributes__: Metadata about the private attributes of the model. __signature__: The synthesized __init__ [Signature][inspect.Signature] of the model.
__pydantic_complete__: Whether model building is completed, or if there are still undefined fields. __pydantic_core_schema__: The core schema of the model. __pydantic_custom_init__: Whether the model has a custom __init__ function. __pydantic_decorators__: Metadata containing the decorators defined on the model.
This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.
- __pydantic_generic_metadata__: Metadata for generic models; contains data used for a similar purpose to
__args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models. __pydantic_post_init__: The name of the post-init method for the model, if defined. __pydantic_root_model__: Whether the model is a [RootModel][pydantic.root_model.RootModel]. __pydantic_serializer__: The pydantic-core SchemaSerializer used to dump instances of the model. __pydantic_validator__: The pydantic-core SchemaValidator used to validate instances of the model.
__pydantic_fields__: A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects. __pydantic_computed_fields__: A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.
- __pydantic_extra__: A dictionary containing extra values, if [extra][pydantic.config.ConfigDict.extra]
is set to ‘allow’.
__pydantic_fields_set__: The names of fields explicitly set during instantiation. __pydantic_private__: Values of private attributes set on the model instance.
- model_config[source]
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pay.models.payment_providers.datatrans.DatatransClient(merchant_id: str | None, password: str | None, sandbox: bool = False)[source]
-
- status(transaction_id: str) DatatransTransaction [source]
- init(amount: decimal.Decimal | None = None, currency: str = 'CHF', **extra: Any) str [source]
Initializes a transaction and returns the transaction_id.
- settle(tx: DatatransTransaction) None [source]
- refund(tx: DatatransTransaction) str | None [source]
- class pay.models.payment_providers.datatrans.DatatransSettleManager(client: DatatransClient, tx: DatatransTransaction)[source]
Settles an open datatrans charge when the transaction finishes.
If there is an error during this step, it is logged, but the transaction still continues successfully.
The user is then supposed to manually settle the charge.
- classmethod settle_charge(client: DatatransClient, tx: DatatransTransaction) None [source]
- class pay.models.payment_providers.datatrans.DatatransFeePolicy[source]
All Datarans fee calculations in one place.
- class pay.models.payment_providers.datatrans.DatatransPayment[source]
Bases:
onegov.pay.models.payment.Payment
Represents a payment done through various means.
- provider: sqlalchemy.orm.relationship[DatatransProvider][source]
- property transaction: DatatransTransaction[source]
- sync(remote_obj: DatatransTransaction | None = None) None [source]
Updates the local payment information with the information from the remote payment provider.
- class pay.models.payment_providers.datatrans.DatatransProvider[source]
Bases:
onegov.pay.models.payment_provider.PaymentProvider
[DatatransPayment
]Represents a payment provider.
- adjust_price(price: onegov.pay.utils.Price | None) onegov.pay.utils.Price | None [source]
Called by client implementations this method allows to adjust the price by adding a fee to it.
By default no change is made.
- property payment_class: type[DatatransPayment][source]
- property public_identity: str[source]
The public identifier of this payment provider. For example, the account name.
- property identity: str | None[source]
Uniquely identifies this payment provider amongst other providers of the same type (say the private key of the api). Used to be able to tell if a new oauth connection is the same as an existing one.
This identity is not meant to be displayed.
- property client: DatatransClient[source]
- property connected: bool[source]
Returns True if the provider is properly hooked up to the payment provider.
- charge(amount: decimal.Decimal, currency: str, token: str) DatatransPayment [source]
Given a payment token, charges the customer and creates a payment which is returned.
- get_token(request: onegov.core.request.CoreRequest) str | None [source]
Extracts this provider’s specific token from the request.