AlipayEbppBillAddRequest.py 10 KB

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