AlipayEbppPdeductPayRequest.py 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  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 AlipayEbppPdeductPayRequest(object):
  7. def __init__(self, biz_model=None):
  8. self._biz_model = biz_model
  9. self._agent_channel = None
  10. self._agent_code = None
  11. self._agreement_id = None
  12. self._bill_date = None
  13. self._bill_key = None
  14. self._extend_field = None
  15. self._fine_amount = None
  16. self._memo = None
  17. self._out_order_no = None
  18. self._pay_amount = None
  19. self._pid = None
  20. self._user_id = None
  21. self._version = "1.0"
  22. self._terminal_type = None
  23. self._terminal_info = None
  24. self._prod_code = None
  25. self._notify_url = None
  26. self._return_url = None
  27. self._udf_params = None
  28. self._need_encrypt = False
  29. @property
  30. def biz_model(self):
  31. return self._biz_model
  32. @biz_model.setter
  33. def biz_model(self, value):
  34. self._biz_model = value
  35. @property
  36. def agent_channel(self):
  37. return self._agent_channel
  38. @agent_channel.setter
  39. def agent_channel(self, value):
  40. self._agent_channel = value
  41. @property
  42. def agent_code(self):
  43. return self._agent_code
  44. @agent_code.setter
  45. def agent_code(self, value):
  46. self._agent_code = value
  47. @property
  48. def agreement_id(self):
  49. return self._agreement_id
  50. @agreement_id.setter
  51. def agreement_id(self, value):
  52. self._agreement_id = value
  53. @property
  54. def bill_date(self):
  55. return self._bill_date
  56. @bill_date.setter
  57. def bill_date(self, value):
  58. self._bill_date = value
  59. @property
  60. def bill_key(self):
  61. return self._bill_key
  62. @bill_key.setter
  63. def bill_key(self, value):
  64. self._bill_key = value
  65. @property
  66. def extend_field(self):
  67. return self._extend_field
  68. @extend_field.setter
  69. def extend_field(self, value):
  70. self._extend_field = value
  71. @property
  72. def fine_amount(self):
  73. return self._fine_amount
  74. @fine_amount.setter
  75. def fine_amount(self, value):
  76. self._fine_amount = value
  77. @property
  78. def memo(self):
  79. return self._memo
  80. @memo.setter
  81. def memo(self, value):
  82. self._memo = value
  83. @property
  84. def out_order_no(self):
  85. return self._out_order_no
  86. @out_order_no.setter
  87. def out_order_no(self, value):
  88. self._out_order_no = value
  89. @property
  90. def pay_amount(self):
  91. return self._pay_amount
  92. @pay_amount.setter
  93. def pay_amount(self, value):
  94. self._pay_amount = value
  95. @property
  96. def pid(self):
  97. return self._pid
  98. @pid.setter
  99. def pid(self, value):
  100. self._pid = value
  101. @property
  102. def user_id(self):
  103. return self._user_id
  104. @user_id.setter
  105. def user_id(self, value):
  106. self._user_id = value
  107. @property
  108. def version(self):
  109. return self._version
  110. @version.setter
  111. def version(self, value):
  112. self._version = value
  113. @property
  114. def terminal_type(self):
  115. return self._terminal_type
  116. @terminal_type.setter
  117. def terminal_type(self, value):
  118. self._terminal_type = value
  119. @property
  120. def terminal_info(self):
  121. return self._terminal_info
  122. @terminal_info.setter
  123. def terminal_info(self, value):
  124. self._terminal_info = value
  125. @property
  126. def prod_code(self):
  127. return self._prod_code
  128. @prod_code.setter
  129. def prod_code(self, value):
  130. self._prod_code = value
  131. @property
  132. def notify_url(self):
  133. return self._notify_url
  134. @notify_url.setter
  135. def notify_url(self, value):
  136. self._notify_url = value
  137. @property
  138. def return_url(self):
  139. return self._return_url
  140. @return_url.setter
  141. def return_url(self, value):
  142. self._return_url = value
  143. @property
  144. def udf_params(self):
  145. return self._udf_params
  146. @udf_params.setter
  147. def udf_params(self, value):
  148. if not isinstance(value, dict):
  149. return
  150. self._udf_params = value
  151. @property
  152. def need_encrypt(self):
  153. return self._need_encrypt
  154. @need_encrypt.setter
  155. def need_encrypt(self, value):
  156. self._need_encrypt = value
  157. def add_other_text_param(self, key, value):
  158. if not self.udf_params:
  159. self.udf_params = dict()
  160. self.udf_params[key] = value
  161. def get_params(self):
  162. params = dict()
  163. params[P_METHOD] = 'alipay.ebpp.pdeduct.pay'
  164. params[P_VERSION] = self.version
  165. if self.biz_model:
  166. params[P_BIZ_CONTENT] = json.dumps(obj=self.biz_model.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  167. if self.agent_channel:
  168. if hasattr(self.agent_channel, 'to_alipay_dict'):
  169. params['agent_channel'] = json.dumps(obj=self.agent_channel.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  170. else:
  171. params['agent_channel'] = self.agent_channel
  172. if self.agent_code:
  173. if hasattr(self.agent_code, 'to_alipay_dict'):
  174. params['agent_code'] = json.dumps(obj=self.agent_code.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  175. else:
  176. params['agent_code'] = self.agent_code
  177. if self.agreement_id:
  178. if hasattr(self.agreement_id, 'to_alipay_dict'):
  179. params['agreement_id'] = json.dumps(obj=self.agreement_id.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  180. else:
  181. params['agreement_id'] = self.agreement_id
  182. if self.bill_date:
  183. if hasattr(self.bill_date, 'to_alipay_dict'):
  184. params['bill_date'] = json.dumps(obj=self.bill_date.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  185. else:
  186. params['bill_date'] = self.bill_date
  187. if self.bill_key:
  188. if hasattr(self.bill_key, 'to_alipay_dict'):
  189. params['bill_key'] = json.dumps(obj=self.bill_key.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  190. else:
  191. params['bill_key'] = self.bill_key
  192. if self.extend_field:
  193. if hasattr(self.extend_field, 'to_alipay_dict'):
  194. params['extend_field'] = json.dumps(obj=self.extend_field.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  195. else:
  196. params['extend_field'] = self.extend_field
  197. if self.fine_amount:
  198. if hasattr(self.fine_amount, 'to_alipay_dict'):
  199. params['fine_amount'] = json.dumps(obj=self.fine_amount.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  200. else:
  201. params['fine_amount'] = self.fine_amount
  202. if self.memo:
  203. if hasattr(self.memo, 'to_alipay_dict'):
  204. params['memo'] = json.dumps(obj=self.memo.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  205. else:
  206. params['memo'] = self.memo
  207. if self.out_order_no:
  208. if hasattr(self.out_order_no, 'to_alipay_dict'):
  209. params['out_order_no'] = json.dumps(obj=self.out_order_no.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  210. else:
  211. params['out_order_no'] = self.out_order_no
  212. if self.pay_amount:
  213. if hasattr(self.pay_amount, 'to_alipay_dict'):
  214. params['pay_amount'] = json.dumps(obj=self.pay_amount.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  215. else:
  216. params['pay_amount'] = self.pay_amount
  217. if self.pid:
  218. if hasattr(self.pid, 'to_alipay_dict'):
  219. params['pid'] = json.dumps(obj=self.pid.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  220. else:
  221. params['pid'] = self.pid
  222. if self.user_id:
  223. if hasattr(self.user_id, 'to_alipay_dict'):
  224. params['user_id'] = json.dumps(obj=self.user_id.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  225. else:
  226. params['user_id'] = self.user_id
  227. if self.terminal_type:
  228. params['terminal_type'] = self.terminal_type
  229. if self.terminal_info:
  230. params['terminal_info'] = self.terminal_info
  231. if self.prod_code:
  232. params['prod_code'] = self.prod_code
  233. if self.notify_url:
  234. params['notify_url'] = self.notify_url
  235. if self.return_url:
  236. params['return_url'] = self.return_url
  237. if self.udf_params:
  238. params.update(self.udf_params)
  239. return params
  240. def get_multipart_params(self):
  241. multipart_params = dict()
  242. return multipart_params