Coverage for src/integrify/kapital/schemas/response/detailed_order_response.py: 100%
119 statements
« prev ^ index » next coverage.py v7.6.10, created at 2025-02-10 00:57 +0000
« prev ^ index » next coverage.py v7.6.10, created at 2025-02-10 00:57 +0000
1from datetime import datetime
2from typing import Dict, List, Optional
4from pydantic import Field
6from integrify.kapital.schemas.enums import TransactionStatus
7from integrify.kapital.schemas.utils import BaseSchema
10class StoredToken(BaseSchema):
11 id: int
12 cof_provider_rid: Optional[str] = None
13 rid_bycofp: Optional[str] = None
16class CardAuthentication(BaseSchema):
17 need_cvv2: bool
18 need_tds: bool
19 tran_id: Optional[str] = None
20 tds_ds_tran_id: Optional[str] = None
21 timestamp: Optional[datetime] = None
22 tds_protocol_ver: Optional[str] = None
23 eci: Optional[str] = None
24 tds_a_res: Optional[str] = None
27class CardDetails(BaseSchema):
28 authentication: Optional[CardAuthentication] = None
29 expiration: str
30 brand: str
31 issuer_rid: Optional[str] = None
34class SrcToken(BaseSchema):
35 id: int
36 payment_method: str
37 role: str
38 status: str
39 reg_time: datetime
40 entry_mode: Optional[str] = None
41 display_name: str
42 card: CardDetails
45class ConsumerDeviceBrowser(BaseSchema):
46 user_agent: str
47 color_depth: int
48 pixel_ratio: float
49 language: str
50 tz_offset: int
51 local_storage: bool
52 language_replaced: bool
53 resolution_replaced: bool
54 os_replaced: bool
55 browser_replaced: bool
56 screen_w: int
57 screen_h: int
58 screen_avail_w: int
59 screen_avail_h: int
60 platform: str
61 accept_header: str
62 ip: str
63 ref_url: str
64 java_enabled: bool
65 js_enabled: bool
68class ConsumerDevice(BaseSchema):
69 browser: ConsumerDeviceBrowser
72class BusinessAddress(BaseSchema):
73 country: str
74 country_a2: str
75 country_n3: int
78class Merchant(BaseSchema):
79 id: int
80 rid: str
81 title: str
82 business_address: BusinessAddress
83 trust_consumer_phone: bool
86class DetailedOrderType(BaseSchema):
87 allow_void: bool
88 hpp_tran_phase: str
89 secret_length: int
90 title: str
91 rid: str
92 payment_methods: List[str]
93 card_brands: Optional[List[str]] = None
94 allow_tds_attempt: bool
95 allow_tds_cant: bool
96 allow_tds_challenged: bool
97 allow_surcharge: bool
98 allow_tran_types: List[str]
99 allow_tran_phases: List[str]
100 allow_auth_kinds: List[str]
101 allow_cof_store_usages: List[str]
102 order_class: str
103 allow_cvv2: bool = Field(alias='allowCVV2')
106class DetailedOrderInformationResponseSchema(BaseSchema):
107 id: int
108 hpp_url: str
109 hpp_redirect_url: Optional[str] = None
110 password: str
111 status: TransactionStatus
112 prev_status: Optional[str] = None
113 last_status_login: str
114 amount: float
115 currency: str
116 terminal: Dict
117 src_amount: float
118 src_amount_full: float
119 src_currency: str
120 dst_amount: Optional[float] = None
121 dst_currency: Optional[str] = None
122 stored_tokens: Optional[List[StoredToken]] = None
123 create_time: datetime
124 finish_time: Optional[datetime] = None
125 cvv2_auth_status: str
126 tds_v1_auth_status: Optional[str] = None
127 tds_v2_auth_status: Optional[str] = None
128 tds_server_url: Optional[str] = None
129 authorized_charge_amount: float
130 cleared_charge_amount: float
131 cleared_refund_amount: float
132 description: str
133 language: str
134 src_token: Optional[SrcToken] = None
135 consumer_device: Optional[ConsumerDevice] = None
136 merchant: Merchant
137 initiation_env_kind: str
138 type: DetailedOrderType
139 hpp_cof_capture_purposes: List[str]
140 cust_attrs: List[str]
141 report_pubs: Dict