PaymentList.py 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import json
  4. from alipay.aop.api.constant.ParamConstants import *
  5. from alipay.aop.api.domain.DiscountInfos import DiscountInfos
  6. class PaymentList(object):
  7. def __init__(self):
  8. self._amount = None
  9. self._discount_amount = None
  10. self._discount_infos = None
  11. self._ext_infos = None
  12. self._online_payment_no = None
  13. self._out_payment_id = None
  14. self._payment_id = None
  15. self._payment_method = None
  16. self._user_identity = None
  17. self._user_identity_type = None
  18. @property
  19. def amount(self):
  20. return self._amount
  21. @amount.setter
  22. def amount(self, value):
  23. self._amount = value
  24. @property
  25. def discount_amount(self):
  26. return self._discount_amount
  27. @discount_amount.setter
  28. def discount_amount(self, value):
  29. self._discount_amount = value
  30. @property
  31. def discount_infos(self):
  32. return self._discount_infos
  33. @discount_infos.setter
  34. def discount_infos(self, value):
  35. if isinstance(value, list):
  36. self._discount_infos = list()
  37. for i in value:
  38. if isinstance(i, DiscountInfos):
  39. self._discount_infos.append(i)
  40. else:
  41. self._discount_infos.append(DiscountInfos.from_alipay_dict(i))
  42. @property
  43. def ext_infos(self):
  44. return self._ext_infos
  45. @ext_infos.setter
  46. def ext_infos(self, value):
  47. self._ext_infos = value
  48. @property
  49. def online_payment_no(self):
  50. return self._online_payment_no
  51. @online_payment_no.setter
  52. def online_payment_no(self, value):
  53. self._online_payment_no = value
  54. @property
  55. def out_payment_id(self):
  56. return self._out_payment_id
  57. @out_payment_id.setter
  58. def out_payment_id(self, value):
  59. self._out_payment_id = value
  60. @property
  61. def payment_id(self):
  62. return self._payment_id
  63. @payment_id.setter
  64. def payment_id(self, value):
  65. self._payment_id = value
  66. @property
  67. def payment_method(self):
  68. return self._payment_method
  69. @payment_method.setter
  70. def payment_method(self, value):
  71. self._payment_method = value
  72. @property
  73. def user_identity(self):
  74. return self._user_identity
  75. @user_identity.setter
  76. def user_identity(self, value):
  77. self._user_identity = value
  78. @property
  79. def user_identity_type(self):
  80. return self._user_identity_type
  81. @user_identity_type.setter
  82. def user_identity_type(self, value):
  83. self._user_identity_type = value
  84. def to_alipay_dict(self):
  85. params = dict()
  86. if self.amount:
  87. if hasattr(self.amount, 'to_alipay_dict'):
  88. params['amount'] = self.amount.to_alipay_dict()
  89. else:
  90. params['amount'] = self.amount
  91. if self.discount_amount:
  92. if hasattr(self.discount_amount, 'to_alipay_dict'):
  93. params['discount_amount'] = self.discount_amount.to_alipay_dict()
  94. else:
  95. params['discount_amount'] = self.discount_amount
  96. if self.discount_infos:
  97. if isinstance(self.discount_infos, list):
  98. for i in range(0, len(self.discount_infos)):
  99. element = self.discount_infos[i]
  100. if hasattr(element, 'to_alipay_dict'):
  101. self.discount_infos[i] = element.to_alipay_dict()
  102. if hasattr(self.discount_infos, 'to_alipay_dict'):
  103. params['discount_infos'] = self.discount_infos.to_alipay_dict()
  104. else:
  105. params['discount_infos'] = self.discount_infos
  106. if self.ext_infos:
  107. if hasattr(self.ext_infos, 'to_alipay_dict'):
  108. params['ext_infos'] = self.ext_infos.to_alipay_dict()
  109. else:
  110. params['ext_infos'] = self.ext_infos
  111. if self.online_payment_no:
  112. if hasattr(self.online_payment_no, 'to_alipay_dict'):
  113. params['online_payment_no'] = self.online_payment_no.to_alipay_dict()
  114. else:
  115. params['online_payment_no'] = self.online_payment_no
  116. if self.out_payment_id:
  117. if hasattr(self.out_payment_id, 'to_alipay_dict'):
  118. params['out_payment_id'] = self.out_payment_id.to_alipay_dict()
  119. else:
  120. params['out_payment_id'] = self.out_payment_id
  121. if self.payment_id:
  122. if hasattr(self.payment_id, 'to_alipay_dict'):
  123. params['payment_id'] = self.payment_id.to_alipay_dict()
  124. else:
  125. params['payment_id'] = self.payment_id
  126. if self.payment_method:
  127. if hasattr(self.payment_method, 'to_alipay_dict'):
  128. params['payment_method'] = self.payment_method.to_alipay_dict()
  129. else:
  130. params['payment_method'] = self.payment_method
  131. if self.user_identity:
  132. if hasattr(self.user_identity, 'to_alipay_dict'):
  133. params['user_identity'] = self.user_identity.to_alipay_dict()
  134. else:
  135. params['user_identity'] = self.user_identity
  136. if self.user_identity_type:
  137. if hasattr(self.user_identity_type, 'to_alipay_dict'):
  138. params['user_identity_type'] = self.user_identity_type.to_alipay_dict()
  139. else:
  140. params['user_identity_type'] = self.user_identity_type
  141. return params
  142. @staticmethod
  143. def from_alipay_dict(d):
  144. if not d:
  145. return None
  146. o = PaymentList()
  147. if 'amount' in d:
  148. o.amount = d['amount']
  149. if 'discount_amount' in d:
  150. o.discount_amount = d['discount_amount']
  151. if 'discount_infos' in d:
  152. o.discount_infos = d['discount_infos']
  153. if 'ext_infos' in d:
  154. o.ext_infos = d['ext_infos']
  155. if 'online_payment_no' in d:
  156. o.online_payment_no = d['online_payment_no']
  157. if 'out_payment_id' in d:
  158. o.out_payment_id = d['out_payment_id']
  159. if 'payment_id' in d:
  160. o.payment_id = d['payment_id']
  161. if 'payment_method' in d:
  162. o.payment_method = d['payment_method']
  163. if 'user_identity' in d:
  164. o.user_identity = d['user_identity']
  165. if 'user_identity_type' in d:
  166. o.user_identity_type = d['user_identity_type']
  167. return o