AlipayAcquireRefundRequest.py 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import json
  4. from alipay.aop.api.FileItem import FileItem
  5. from alipay.aop.api.constant.ParamConstants import *
  6. class AlipayAcquireRefundRequest(object):
  7. def __init__(self, biz_model=None):
  8. self._biz_model = biz_model
  9. self._operator_id = None
  10. self._operator_type = None
  11. self._out_request_no = None
  12. self._out_trade_no = None
  13. self._ref_ids = None
  14. self._refund_amount = None
  15. self._refund_reason = None
  16. self._trade_no = None
  17. self._version = "1.0"
  18. self._terminal_type = None
  19. self._terminal_info = None
  20. self._prod_code = None
  21. self._notify_url = None
  22. self._return_url = None
  23. self._udf_params = None
  24. self._need_encrypt = False
  25. @property
  26. def biz_model(self):
  27. return self._biz_model
  28. @biz_model.setter
  29. def biz_model(self, value):
  30. self._biz_model = value
  31. @property
  32. def operator_id(self):
  33. return self._operator_id
  34. @operator_id.setter
  35. def operator_id(self, value):
  36. self._operator_id = value
  37. @property
  38. def operator_type(self):
  39. return self._operator_type
  40. @operator_type.setter
  41. def operator_type(self, value):
  42. self._operator_type = value
  43. @property
  44. def out_request_no(self):
  45. return self._out_request_no
  46. @out_request_no.setter
  47. def out_request_no(self, value):
  48. self._out_request_no = value
  49. @property
  50. def out_trade_no(self):
  51. return self._out_trade_no
  52. @out_trade_no.setter
  53. def out_trade_no(self, value):
  54. self._out_trade_no = value
  55. @property
  56. def ref_ids(self):
  57. return self._ref_ids
  58. @ref_ids.setter
  59. def ref_ids(self, value):
  60. self._ref_ids = value
  61. @property
  62. def refund_amount(self):
  63. return self._refund_amount
  64. @refund_amount.setter
  65. def refund_amount(self, value):
  66. self._refund_amount = value
  67. @property
  68. def refund_reason(self):
  69. return self._refund_reason
  70. @refund_reason.setter
  71. def refund_reason(self, value):
  72. self._refund_reason = value
  73. @property
  74. def trade_no(self):
  75. return self._trade_no
  76. @trade_no.setter
  77. def trade_no(self, value):
  78. self._trade_no = value
  79. @property
  80. def version(self):
  81. return self._version
  82. @version.setter
  83. def version(self, value):
  84. self._version = value
  85. @property
  86. def terminal_type(self):
  87. return self._terminal_type
  88. @terminal_type.setter
  89. def terminal_type(self, value):
  90. self._terminal_type = value
  91. @property
  92. def terminal_info(self):
  93. return self._terminal_info
  94. @terminal_info.setter
  95. def terminal_info(self, value):
  96. self._terminal_info = value
  97. @property
  98. def prod_code(self):
  99. return self._prod_code
  100. @prod_code.setter
  101. def prod_code(self, value):
  102. self._prod_code = value
  103. @property
  104. def notify_url(self):
  105. return self._notify_url
  106. @notify_url.setter
  107. def notify_url(self, value):
  108. self._notify_url = value
  109. @property
  110. def return_url(self):
  111. return self._return_url
  112. @return_url.setter
  113. def return_url(self, value):
  114. self._return_url = value
  115. @property
  116. def udf_params(self):
  117. return self._udf_params
  118. @udf_params.setter
  119. def udf_params(self, value):
  120. if not isinstance(value, dict):
  121. return
  122. self._udf_params = value
  123. @property
  124. def need_encrypt(self):
  125. return self._need_encrypt
  126. @need_encrypt.setter
  127. def need_encrypt(self, value):
  128. self._need_encrypt = value
  129. def add_other_text_param(self, key, value):
  130. if not self.udf_params:
  131. self.udf_params = dict()
  132. self.udf_params[key] = value
  133. def get_params(self):
  134. params = dict()
  135. params[P_METHOD] = 'alipay.acquire.refund'
  136. params[P_VERSION] = self.version
  137. if self.biz_model:
  138. params[P_BIZ_CONTENT] = json.dumps(obj=self.biz_model.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  139. if self.operator_id:
  140. if hasattr(self.operator_id, 'to_alipay_dict'):
  141. params['operator_id'] = json.dumps(obj=self.operator_id.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  142. else:
  143. params['operator_id'] = self.operator_id
  144. if self.operator_type:
  145. if hasattr(self.operator_type, 'to_alipay_dict'):
  146. params['operator_type'] = json.dumps(obj=self.operator_type.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  147. else:
  148. params['operator_type'] = self.operator_type
  149. if self.out_request_no:
  150. if hasattr(self.out_request_no, 'to_alipay_dict'):
  151. params['out_request_no'] = json.dumps(obj=self.out_request_no.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  152. else:
  153. params['out_request_no'] = self.out_request_no
  154. if self.out_trade_no:
  155. if hasattr(self.out_trade_no, 'to_alipay_dict'):
  156. params['out_trade_no'] = json.dumps(obj=self.out_trade_no.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  157. else:
  158. params['out_trade_no'] = self.out_trade_no
  159. if self.ref_ids:
  160. if hasattr(self.ref_ids, 'to_alipay_dict'):
  161. params['ref_ids'] = json.dumps(obj=self.ref_ids.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  162. else:
  163. params['ref_ids'] = self.ref_ids
  164. if self.refund_amount:
  165. if hasattr(self.refund_amount, 'to_alipay_dict'):
  166. params['refund_amount'] = json.dumps(obj=self.refund_amount.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  167. else:
  168. params['refund_amount'] = self.refund_amount
  169. if self.refund_reason:
  170. if hasattr(self.refund_reason, 'to_alipay_dict'):
  171. params['refund_reason'] = json.dumps(obj=self.refund_reason.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  172. else:
  173. params['refund_reason'] = self.refund_reason
  174. if self.trade_no:
  175. if hasattr(self.trade_no, 'to_alipay_dict'):
  176. params['trade_no'] = json.dumps(obj=self.trade_no.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  177. else:
  178. params['trade_no'] = self.trade_no
  179. if self.terminal_type:
  180. params['terminal_type'] = self.terminal_type
  181. if self.terminal_info:
  182. params['terminal_info'] = self.terminal_info
  183. if self.prod_code:
  184. params['prod_code'] = self.prod_code
  185. if self.notify_url:
  186. params['notify_url'] = self.notify_url
  187. if self.return_url:
  188. params['return_url'] = self.return_url
  189. if self.udf_params:
  190. params.update(self.udf_params)
  191. return params
  192. def get_multipart_params(self):
  193. multipart_params = dict()
  194. return multipart_params