AlipayOpenAgentOfflinepaymentSignRequest.py 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  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 AlipayOpenAgentOfflinepaymentSignRequest(object):
  7. def __init__(self, biz_model=None):
  8. self._biz_model = biz_model
  9. self._batch_no = None
  10. self._business_license_no = None
  11. self._date_limitation = None
  12. self._long_term = None
  13. self._mcc_code = None
  14. self._rate = None
  15. self._business_license_pic = None
  16. self._shop_sign_board_pic = None
  17. self._special_license_pic = None
  18. self._version = "1.0"
  19. self._terminal_type = None
  20. self._terminal_info = None
  21. self._prod_code = None
  22. self._notify_url = None
  23. self._return_url = None
  24. self._udf_params = None
  25. self._need_encrypt = False
  26. @property
  27. def biz_model(self):
  28. return self._biz_model
  29. @biz_model.setter
  30. def biz_model(self, value):
  31. self._biz_model = value
  32. @property
  33. def batch_no(self):
  34. return self._batch_no
  35. @batch_no.setter
  36. def batch_no(self, value):
  37. self._batch_no = value
  38. @property
  39. def business_license_no(self):
  40. return self._business_license_no
  41. @business_license_no.setter
  42. def business_license_no(self, value):
  43. self._business_license_no = value
  44. @property
  45. def date_limitation(self):
  46. return self._date_limitation
  47. @date_limitation.setter
  48. def date_limitation(self, value):
  49. self._date_limitation = value
  50. @property
  51. def long_term(self):
  52. return self._long_term
  53. @long_term.setter
  54. def long_term(self, value):
  55. self._long_term = value
  56. @property
  57. def mcc_code(self):
  58. return self._mcc_code
  59. @mcc_code.setter
  60. def mcc_code(self, value):
  61. self._mcc_code = value
  62. @property
  63. def rate(self):
  64. return self._rate
  65. @rate.setter
  66. def rate(self, value):
  67. self._rate = value
  68. @property
  69. def business_license_pic(self):
  70. return self._business_license_pic
  71. @business_license_pic.setter
  72. def business_license_pic(self, value):
  73. if not isinstance(value, FileItem):
  74. return
  75. self._business_license_pic = value
  76. @property
  77. def shop_sign_board_pic(self):
  78. return self._shop_sign_board_pic
  79. @shop_sign_board_pic.setter
  80. def shop_sign_board_pic(self, value):
  81. if not isinstance(value, FileItem):
  82. return
  83. self._shop_sign_board_pic = value
  84. @property
  85. def special_license_pic(self):
  86. return self._special_license_pic
  87. @special_license_pic.setter
  88. def special_license_pic(self, value):
  89. if not isinstance(value, FileItem):
  90. return
  91. self._special_license_pic = value
  92. @property
  93. def version(self):
  94. return self._version
  95. @version.setter
  96. def version(self, value):
  97. self._version = value
  98. @property
  99. def terminal_type(self):
  100. return self._terminal_type
  101. @terminal_type.setter
  102. def terminal_type(self, value):
  103. self._terminal_type = value
  104. @property
  105. def terminal_info(self):
  106. return self._terminal_info
  107. @terminal_info.setter
  108. def terminal_info(self, value):
  109. self._terminal_info = value
  110. @property
  111. def prod_code(self):
  112. return self._prod_code
  113. @prod_code.setter
  114. def prod_code(self, value):
  115. self._prod_code = value
  116. @property
  117. def notify_url(self):
  118. return self._notify_url
  119. @notify_url.setter
  120. def notify_url(self, value):
  121. self._notify_url = value
  122. @property
  123. def return_url(self):
  124. return self._return_url
  125. @return_url.setter
  126. def return_url(self, value):
  127. self._return_url = value
  128. @property
  129. def udf_params(self):
  130. return self._udf_params
  131. @udf_params.setter
  132. def udf_params(self, value):
  133. if not isinstance(value, dict):
  134. return
  135. self._udf_params = value
  136. @property
  137. def need_encrypt(self):
  138. return self._need_encrypt
  139. @need_encrypt.setter
  140. def need_encrypt(self, value):
  141. self._need_encrypt = value
  142. def add_other_text_param(self, key, value):
  143. if not self.udf_params:
  144. self.udf_params = dict()
  145. self.udf_params[key] = value
  146. def get_params(self):
  147. params = dict()
  148. params[P_METHOD] = 'alipay.open.agent.offlinepayment.sign'
  149. params[P_VERSION] = self.version
  150. if self.biz_model:
  151. params[P_BIZ_CONTENT] = json.dumps(obj=self.biz_model.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  152. if self.batch_no:
  153. if hasattr(self.batch_no, 'to_alipay_dict'):
  154. params['batch_no'] = json.dumps(obj=self.batch_no.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  155. else:
  156. params['batch_no'] = self.batch_no
  157. if self.business_license_no:
  158. if hasattr(self.business_license_no, 'to_alipay_dict'):
  159. params['business_license_no'] = json.dumps(obj=self.business_license_no.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  160. else:
  161. params['business_license_no'] = self.business_license_no
  162. if self.date_limitation:
  163. if hasattr(self.date_limitation, 'to_alipay_dict'):
  164. params['date_limitation'] = json.dumps(obj=self.date_limitation.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  165. else:
  166. params['date_limitation'] = self.date_limitation
  167. if self.long_term:
  168. if hasattr(self.long_term, 'to_alipay_dict'):
  169. params['long_term'] = json.dumps(obj=self.long_term.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  170. else:
  171. params['long_term'] = self.long_term
  172. if self.mcc_code:
  173. if hasattr(self.mcc_code, 'to_alipay_dict'):
  174. params['mcc_code'] = json.dumps(obj=self.mcc_code.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  175. else:
  176. params['mcc_code'] = self.mcc_code
  177. if self.rate:
  178. if hasattr(self.rate, 'to_alipay_dict'):
  179. params['rate'] = json.dumps(obj=self.rate.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  180. else:
  181. params['rate'] = self.rate
  182. if self.terminal_type:
  183. params['terminal_type'] = self.terminal_type
  184. if self.terminal_info:
  185. params['terminal_info'] = self.terminal_info
  186. if self.prod_code:
  187. params['prod_code'] = self.prod_code
  188. if self.notify_url:
  189. params['notify_url'] = self.notify_url
  190. if self.return_url:
  191. params['return_url'] = self.return_url
  192. if self.udf_params:
  193. params.update(self.udf_params)
  194. return params
  195. def get_multipart_params(self):
  196. multipart_params = dict()
  197. if self.business_license_pic:
  198. multipart_params['business_license_pic'] = self.business_license_pic
  199. if self.shop_sign_board_pic:
  200. multipart_params['shop_sign_board_pic'] = self.shop_sign_board_pic
  201. if self.special_license_pic:
  202. multipart_params['special_license_pic'] = self.special_license_pic
  203. return multipart_params