1+ import json
2+ from typing import Optional , Any , Dict
3+
4+ from com .alipay .ams .api .model .amount import Amount
5+ from com .alipay .ams .api .request .notify .alipay_notify import AlipayNotify
6+
7+
8+ class AlipaySubscriptionCancelNotify (AlipayNotify ):
9+ def __init__ (self , notify_body ):
10+ super (AlipaySubscriptionCancelNotify , self ).__init__ ()
11+ self .__payment_amount = None # type: Optional[PaymentAmount]
12+ self .__payment_create_time = None # type: Optional[str]
13+ self .__payment_time = None # type: Optional[str]
14+ self .__period_end_time = None # type: Optional[str]
15+ self .__phase_no = None # type: Optional[str]
16+ self .__subscription_id = None # type: Optional[str]
17+ self .__subscription_order_id = None # type: Optional[str]
18+ self .__subscription_order_status = None # type: Optional[str]
19+ self .__subscription_request_id = None # type: Optional[str]
20+ self .__subscription_trans_id = None # type: Optional[str]
21+ self .__parse_notify_body (notify_body )
22+
23+ # --- Properties for payment_amount ---
24+ @property
25+ def payment_amount (self ) -> Optional ['PaymentAmount' ]:
26+ return self .__payment_amount
27+
28+ @payment_amount .setter
29+ def payment_amount (self , value : Optional ['PaymentAmount' ]):
30+ self .__payment_amount = value
31+
32+ # --- Properties for payment_create_time ---
33+ @property
34+ def payment_create_time (self ) -> Optional [str ]:
35+ return self .__payment_create_time
36+
37+ @payment_create_time .setter
38+ def payment_create_time (self , value : Optional [str ]):
39+ self .__payment_create_time = value
40+
41+ # --- Properties for payment_time ---
42+ @property
43+ def payment_time (self ) -> Optional [str ]:
44+ return self .__payment_time
45+
46+ @payment_time .setter
47+ def payment_time (self , value : Optional [str ]):
48+ self .__payment_time = value
49+
50+ # --- Properties for period_end_time ---
51+ @property
52+ def period_end_time (self ) -> Optional [str ]:
53+ return self .__period_end_time
54+
55+ @period_end_time .setter
56+ def period_end_time (self , value : Optional [str ]):
57+ self .__period_end_time = value
58+
59+ # --- Properties for phase_no ---
60+ @property
61+ def phase_no (self ) -> Optional [str ]:
62+ return self .__phase_no
63+
64+ @phase_no .setter
65+ def phase_no (self , value : Optional [str ]):
66+ self .__phase_no = value
67+
68+
69+ # --- Properties for subscription_id ---
70+ @property
71+ def subscription_id (self ) -> Optional [str ]:
72+ return self .__subscription_id
73+
74+ @subscription_id .setter
75+ def subscription_id (self , value : Optional [str ]):
76+ self .__subscription_id = value
77+
78+ # --- Properties for subscription_order_id ---
79+ @property
80+ def subscription_order_id (self ) -> Optional [str ]:
81+ return self .__subscription_order_id
82+
83+ @subscription_order_id .setter
84+ def subscription_order_id (self , value : Optional [str ]):
85+ self .__subscription_order_id = value
86+
87+ # --- Properties for subscription_order_status ---
88+ @property
89+ def subscription_order_status (self ) -> Optional [str ]:
90+ return self .__subscription_order_status
91+
92+ @subscription_order_status .setter
93+ def subscription_order_status (self , value : Optional [str ]):
94+ self .__subscription_order_status = value
95+
96+ # --- Properties for subscription_request_id ---
97+ @property
98+ def subscription_request_id (self ) -> Optional [str ]:
99+ return self .__subscription_request_id
100+
101+ @subscription_request_id .setter
102+ def subscription_request_id (self , value : Optional [str ]):
103+ self .__subscription_request_id = value
104+
105+ # --- Properties for subscription_trans_id ---
106+ @property
107+ def subscription_trans_id (self ) -> Optional [str ]:
108+ return self .__subscription_trans_id
109+
110+ @subscription_trans_id .setter
111+ def subscription_trans_id (self , value : Optional [str ]):
112+ self .__subscription_trans_id = value
113+
114+ def to_ams_dict (self ) -> Dict [str , Any ]:
115+ """Convert object to dictionary with camelCase keys for AMS API."""
116+ params = {}
117+
118+ if self .payment_amount is not None :
119+ params ['paymentAmount' ] = self .payment_amount .to_ams_dict ()
120+ if self .payment_create_time is not None :
121+ params ['paymentCreateTime' ] = self .payment_create_time
122+ if self .payment_time is not None :
123+ params ['paymentTime' ] = self .payment_time
124+ if self .period_end_time is not None :
125+ params ['periodEndTime' ] = self .period_end_time
126+ if self .phase_no is not None :
127+ params ['phaseNo' ] = self .phase_no
128+ if self .subscription_id is not None :
129+ params ['subscriptionId' ] = self .subscription_id
130+ if self .subscription_order_id is not None :
131+ params ['subscriptionOrderId' ] = self .subscription_order_id
132+ if self .subscription_order_status is not None :
133+ params ['subscriptionOrderStatus' ] = self .subscription_order_status
134+ if self .subscription_request_id is not None :
135+ params ['subscriptionRequestId' ] = self .subscription_request_id
136+ if self .subscription_trans_id is not None :
137+ params ['subscriptionTransId' ] = self .subscription_trans_id
138+
139+ return params
140+
141+ def __parse_notify_body (self , notify_body ):
142+ notify = super (AlipaySubscriptionCancelNotify , self ).parse_notify_body (notify_body )
143+ if "paymentAmount" in notify :
144+ from com .alipay .ams .api .model .amount import Amount
145+ self .__payment_amount = Amount ()
146+ self .__payment_amount .parse_rsp_body (notify ["paymentAmount" ])
147+ if "paymentCreateTime" in notify :
148+ self .__payment_create_time = notify ["paymentCreateTime" ]
149+ if "paymentTime" in notify :
150+ self .__payment_time = notify ["paymentTime" ]
151+ if "periodEndTime" in notify :
152+ self .__period_end_time = notify ["periodEndTime" ]
153+ if "phaseNo" in notify :
154+ self .__phase_no = notify ["phaseNo" ]
155+ if "subscriptionId" in notify :
156+ self .__subscription_id = notify ["subscriptionId" ]
157+ if "subscriptionOrderId" in notify :
158+ self .__subscription_order_id = notify ["subscriptionOrderId" ]
159+ if "subscriptionOrderStatus" in notify :
160+ self .__subscription_order_status = notify ["subscriptionOrderStatus" ]
161+ if "subscriptionRequestId" in notify :
162+ self .__subscription_request_id = notify ["subscriptionRequestId" ]
163+ if "subscriptionTransId" in notify :
164+ self .__subscription_trans_id = notify ["subscriptionTransId" ]
0 commit comments