Coverage for functions \ flipdare \ wrapper \ payment \ payment_event_wrapper.py: 89%
47 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-05-08 12:22 +1000
« prev ^ index » next coverage.py v7.13.0, created at 2026-05-08 12:22 +1000
1#!/usr/bin/env python
2# Copyright (c) 2026 Flipdare Pty Ltd. All rights reserved.
3#
4# This file is part of Flipdare's proprietary software and contains
5# confidential and copyrighted material. Unauthorised copying,
6# modification, distribution, or use of this file is strictly
7# prohibited without prior written permission from Flipdare Pty Ltd.
8#
9# This software includes third-party components licensed under MIT,
10# BSD, and Apache 2.0 licences. See THIRD_PARTY_NOTICES for details.
11#
13from __future__ import annotations
15from flipdare.generated.model.payment.payment_event_model import (
16 PaymentEventKeys,
17 PaymentEventModel,
18)
19from flipdare.generated.model.payment.payment_result_model import PaymentResultModel
20from flipdare.generated.shared.payment.payment_event_status import PaymentEventStatus
21from flipdare.generated.shared.stripe.stripe_intent_status import StripeIntentStatus
22from flipdare.generated.shared.stripe.stripe_refund_reason import StripeRefundReason
23from flipdare.wrapper._persisted_wrapper import PersistedWrapper
25__all__ = ["PaymentEventWrapper"]
28_K = PaymentEventKeys
31class PaymentEventWrapper(PersistedWrapper[PaymentEventModel]):
32 MODEL_CLASS = PaymentEventModel
34 # status
36 @property
37 def stripe_charge_id(self) -> str | None:
38 return self._model.stripe_charge_id
40 @property
41 def status(self) -> PaymentEventStatus:
42 return self._model.status
44 @property
45 def intent_status(self) -> StripeIntentStatus:
46 return self._model.intent_status
48 @property
49 def stripe_error_code(self) -> str | None:
50 return self._model.stripe_error_code
52 # config
54 @property
55 def ip_address(self) -> str:
56 return self._model.audit_info.ip_address
58 # result
60 @property
61 def result(self) -> PaymentResultModel:
62 return self._model.result
64 @property
65 def amount_captured(self) -> int | None:
66 return self._model.result.amount_captured
68 # fees
70 @property
71 def stripe_fee_amount(self) -> int | None:
72 return self._model.result.stripe_fee_amount
74 @property
75 def app_fee_amount(self) -> int | None:
76 return self._model.result.app_fee_amount
78 # messages
80 @property
81 def refund_reason(self) -> StripeRefundReason | None:
82 return self._model.refund_reason
84 @property
85 def error_message(self) -> str | None:
86 return self._model.error_message
88 @property
89 def action_message(self) -> str | None:
90 return self._model.action_message