PaytoolRequestDetail.py 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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.UserIdentity import UserIdentity
  6. class PaytoolRequestDetail(object):
  7. def __init__(self):
  8. self._amount = None
  9. self._payer_identity = None
  10. self._paytool_business_info = None
  11. self._paytool_request_no = None
  12. self._tool_code = None
  13. @property
  14. def amount(self):
  15. return self._amount
  16. @amount.setter
  17. def amount(self, value):
  18. self._amount = value
  19. @property
  20. def payer_identity(self):
  21. return self._payer_identity
  22. @payer_identity.setter
  23. def payer_identity(self, value):
  24. if isinstance(value, UserIdentity):
  25. self._payer_identity = value
  26. else:
  27. self._payer_identity = UserIdentity.from_alipay_dict(value)
  28. @property
  29. def paytool_business_info(self):
  30. return self._paytool_business_info
  31. @paytool_business_info.setter
  32. def paytool_business_info(self, value):
  33. self._paytool_business_info = value
  34. @property
  35. def paytool_request_no(self):
  36. return self._paytool_request_no
  37. @paytool_request_no.setter
  38. def paytool_request_no(self, value):
  39. self._paytool_request_no = value
  40. @property
  41. def tool_code(self):
  42. return self._tool_code
  43. @tool_code.setter
  44. def tool_code(self, value):
  45. self._tool_code = value
  46. def to_alipay_dict(self):
  47. params = dict()
  48. if self.amount:
  49. if hasattr(self.amount, 'to_alipay_dict'):
  50. params['amount'] = self.amount.to_alipay_dict()
  51. else:
  52. params['amount'] = self.amount
  53. if self.payer_identity:
  54. if hasattr(self.payer_identity, 'to_alipay_dict'):
  55. params['payer_identity'] = self.payer_identity.to_alipay_dict()
  56. else:
  57. params['payer_identity'] = self.payer_identity
  58. if self.paytool_business_info:
  59. if hasattr(self.paytool_business_info, 'to_alipay_dict'):
  60. params['paytool_business_info'] = self.paytool_business_info.to_alipay_dict()
  61. else:
  62. params['paytool_business_info'] = self.paytool_business_info
  63. if self.paytool_request_no:
  64. if hasattr(self.paytool_request_no, 'to_alipay_dict'):
  65. params['paytool_request_no'] = self.paytool_request_no.to_alipay_dict()
  66. else:
  67. params['paytool_request_no'] = self.paytool_request_no
  68. if self.tool_code:
  69. if hasattr(self.tool_code, 'to_alipay_dict'):
  70. params['tool_code'] = self.tool_code.to_alipay_dict()
  71. else:
  72. params['tool_code'] = self.tool_code
  73. return params
  74. @staticmethod
  75. def from_alipay_dict(d):
  76. if not d:
  77. return None
  78. o = PaytoolRequestDetail()
  79. if 'amount' in d:
  80. o.amount = d['amount']
  81. if 'payer_identity' in d:
  82. o.payer_identity = d['payer_identity']
  83. if 'paytool_business_info' in d:
  84. o.paytool_business_info = d['paytool_business_info']
  85. if 'paytool_request_no' in d:
  86. o.paytool_request_no = d['paytool_request_no']
  87. if 'tool_code' in d:
  88. o.tool_code = d['tool_code']
  89. return o