#!/usr/bin/env python # -*- coding: utf-8 -*- import json from alipay.aop.api.constant.ParamConstants import * from alipay.aop.api.domain.BusinessParams import BusinessParams from alipay.aop.api.domain.ExtUserInfo import ExtUserInfo from alipay.aop.api.domain.ExtendParams import ExtendParams from alipay.aop.api.domain.GoodsDetail import GoodsDetail from alipay.aop.api.domain.RoyaltyInfo import RoyaltyInfo from alipay.aop.api.domain.SettleInfo import SettleInfo from alipay.aop.api.domain.SubMerchant import SubMerchant class AlipayTradePrecreateModel(object): def __init__(self): self._alipay_store_id = None self._body = None self._business_params = None self._buyer_logon_id = None self._disable_pay_channels = None self._discountable_amount = None self._enable_pay_channels = None self._ext_user_info = None self._extend_params = None self._goods_detail = None self._merchant_order_no = None self._operator_id = None self._out_trade_no = None self._product_code = None self._qr_code_timeout_express = None self._royalty_info = None self._seller_id = None self._settle_info = None self._store_id = None self._sub_merchant = None self._subject = None self._terminal_id = None self._timeout_express = None self._total_amount = None self._undiscountable_amount = None @property def alipay_store_id(self): return self._alipay_store_id @alipay_store_id.setter def alipay_store_id(self, value): self._alipay_store_id = value @property def body(self): return self._body @body.setter def body(self, value): self._body = value @property def business_params(self): return self._business_params @business_params.setter def business_params(self, value): if isinstance(value, BusinessParams): self._business_params = value else: self._business_params = BusinessParams.from_alipay_dict(value) @property def buyer_logon_id(self): return self._buyer_logon_id @buyer_logon_id.setter def buyer_logon_id(self, value): self._buyer_logon_id = value @property def disable_pay_channels(self): return self._disable_pay_channels @disable_pay_channels.setter def disable_pay_channels(self, value): self._disable_pay_channels = value @property def discountable_amount(self): return self._discountable_amount @discountable_amount.setter def discountable_amount(self, value): self._discountable_amount = value @property def enable_pay_channels(self): return self._enable_pay_channels @enable_pay_channels.setter def enable_pay_channels(self, value): self._enable_pay_channels = value @property def ext_user_info(self): return self._ext_user_info @ext_user_info.setter def ext_user_info(self, value): if isinstance(value, ExtUserInfo): self._ext_user_info = value else: self._ext_user_info = ExtUserInfo.from_alipay_dict(value) @property def extend_params(self): return self._extend_params @extend_params.setter def extend_params(self, value): if isinstance(value, ExtendParams): self._extend_params = value else: self._extend_params = ExtendParams.from_alipay_dict(value) @property def goods_detail(self): return self._goods_detail @goods_detail.setter def goods_detail(self, value): if isinstance(value, list): self._goods_detail = list() for i in value: if isinstance(i, GoodsDetail): self._goods_detail.append(i) else: self._goods_detail.append(GoodsDetail.from_alipay_dict(i)) @property def merchant_order_no(self): return self._merchant_order_no @merchant_order_no.setter def merchant_order_no(self, value): self._merchant_order_no = value @property def operator_id(self): return self._operator_id @operator_id.setter def operator_id(self, value): self._operator_id = value @property def out_trade_no(self): return self._out_trade_no @out_trade_no.setter def out_trade_no(self, value): self._out_trade_no = value @property def product_code(self): return self._product_code @product_code.setter def product_code(self, value): self._product_code = value @property def qr_code_timeout_express(self): return self._qr_code_timeout_express @qr_code_timeout_express.setter def qr_code_timeout_express(self, value): self._qr_code_timeout_express = value @property def royalty_info(self): return self._royalty_info @royalty_info.setter def royalty_info(self, value): if isinstance(value, RoyaltyInfo): self._royalty_info = value else: self._royalty_info = RoyaltyInfo.from_alipay_dict(value) @property def seller_id(self): return self._seller_id @seller_id.setter def seller_id(self, value): self._seller_id = value @property def settle_info(self): return self._settle_info @settle_info.setter def settle_info(self, value): if isinstance(value, SettleInfo): self._settle_info = value else: self._settle_info = SettleInfo.from_alipay_dict(value) @property def store_id(self): return self._store_id @store_id.setter def store_id(self, value): self._store_id = value @property def sub_merchant(self): return self._sub_merchant @sub_merchant.setter def sub_merchant(self, value): if isinstance(value, SubMerchant): self._sub_merchant = value else: self._sub_merchant = SubMerchant.from_alipay_dict(value) @property def subject(self): return self._subject @subject.setter def subject(self, value): self._subject = value @property def terminal_id(self): return self._terminal_id @terminal_id.setter def terminal_id(self, value): self._terminal_id = value @property def timeout_express(self): return self._timeout_express @timeout_express.setter def timeout_express(self, value): self._timeout_express = value @property def total_amount(self): return self._total_amount @total_amount.setter def total_amount(self, value): self._total_amount = value @property def undiscountable_amount(self): return self._undiscountable_amount @undiscountable_amount.setter def undiscountable_amount(self, value): self._undiscountable_amount = value def to_alipay_dict(self): params = dict() if self.alipay_store_id: if hasattr(self.alipay_store_id, 'to_alipay_dict'): params['alipay_store_id'] = self.alipay_store_id.to_alipay_dict() else: params['alipay_store_id'] = self.alipay_store_id if self.body: if hasattr(self.body, 'to_alipay_dict'): params['body'] = self.body.to_alipay_dict() else: params['body'] = self.body if self.business_params: if hasattr(self.business_params, 'to_alipay_dict'): params['business_params'] = self.business_params.to_alipay_dict() else: params['business_params'] = self.business_params if self.buyer_logon_id: if hasattr(self.buyer_logon_id, 'to_alipay_dict'): params['buyer_logon_id'] = self.buyer_logon_id.to_alipay_dict() else: params['buyer_logon_id'] = self.buyer_logon_id if self.disable_pay_channels: if hasattr(self.disable_pay_channels, 'to_alipay_dict'): params['disable_pay_channels'] = self.disable_pay_channels.to_alipay_dict() else: params['disable_pay_channels'] = self.disable_pay_channels if self.discountable_amount: if hasattr(self.discountable_amount, 'to_alipay_dict'): params['discountable_amount'] = self.discountable_amount.to_alipay_dict() else: params['discountable_amount'] = self.discountable_amount if self.enable_pay_channels: if hasattr(self.enable_pay_channels, 'to_alipay_dict'): params['enable_pay_channels'] = self.enable_pay_channels.to_alipay_dict() else: params['enable_pay_channels'] = self.enable_pay_channels if self.ext_user_info: if hasattr(self.ext_user_info, 'to_alipay_dict'): params['ext_user_info'] = self.ext_user_info.to_alipay_dict() else: params['ext_user_info'] = self.ext_user_info if self.extend_params: if hasattr(self.extend_params, 'to_alipay_dict'): params['extend_params'] = self.extend_params.to_alipay_dict() else: params['extend_params'] = self.extend_params if self.goods_detail: if isinstance(self.goods_detail, list): for i in range(0, len(self.goods_detail)): element = self.goods_detail[i] if hasattr(element, 'to_alipay_dict'): self.goods_detail[i] = element.to_alipay_dict() if hasattr(self.goods_detail, 'to_alipay_dict'): params['goods_detail'] = self.goods_detail.to_alipay_dict() else: params['goods_detail'] = self.goods_detail if self.merchant_order_no: if hasattr(self.merchant_order_no, 'to_alipay_dict'): params['merchant_order_no'] = self.merchant_order_no.to_alipay_dict() else: params['merchant_order_no'] = self.merchant_order_no if self.operator_id: if hasattr(self.operator_id, 'to_alipay_dict'): params['operator_id'] = self.operator_id.to_alipay_dict() else: params['operator_id'] = self.operator_id if self.out_trade_no: if hasattr(self.out_trade_no, 'to_alipay_dict'): params['out_trade_no'] = self.out_trade_no.to_alipay_dict() else: params['out_trade_no'] = self.out_trade_no if self.product_code: if hasattr(self.product_code, 'to_alipay_dict'): params['product_code'] = self.product_code.to_alipay_dict() else: params['product_code'] = self.product_code if self.qr_code_timeout_express: if hasattr(self.qr_code_timeout_express, 'to_alipay_dict'): params['qr_code_timeout_express'] = self.qr_code_timeout_express.to_alipay_dict() else: params['qr_code_timeout_express'] = self.qr_code_timeout_express if self.royalty_info: if hasattr(self.royalty_info, 'to_alipay_dict'): params['royalty_info'] = self.royalty_info.to_alipay_dict() else: params['royalty_info'] = self.royalty_info if self.seller_id: if hasattr(self.seller_id, 'to_alipay_dict'): params['seller_id'] = self.seller_id.to_alipay_dict() else: params['seller_id'] = self.seller_id if self.settle_info: if hasattr(self.settle_info, 'to_alipay_dict'): params['settle_info'] = self.settle_info.to_alipay_dict() else: params['settle_info'] = self.settle_info if self.store_id: if hasattr(self.store_id, 'to_alipay_dict'): params['store_id'] = self.store_id.to_alipay_dict() else: params['store_id'] = self.store_id if self.sub_merchant: if hasattr(self.sub_merchant, 'to_alipay_dict'): params['sub_merchant'] = self.sub_merchant.to_alipay_dict() else: params['sub_merchant'] = self.sub_merchant if self.subject: if hasattr(self.subject, 'to_alipay_dict'): params['subject'] = self.subject.to_alipay_dict() else: params['subject'] = self.subject if self.terminal_id: if hasattr(self.terminal_id, 'to_alipay_dict'): params['terminal_id'] = self.terminal_id.to_alipay_dict() else: params['terminal_id'] = self.terminal_id if self.timeout_express: if hasattr(self.timeout_express, 'to_alipay_dict'): params['timeout_express'] = self.timeout_express.to_alipay_dict() else: params['timeout_express'] = self.timeout_express if self.total_amount: if hasattr(self.total_amount, 'to_alipay_dict'): params['total_amount'] = self.total_amount.to_alipay_dict() else: params['total_amount'] = self.total_amount if self.undiscountable_amount: if hasattr(self.undiscountable_amount, 'to_alipay_dict'): params['undiscountable_amount'] = self.undiscountable_amount.to_alipay_dict() else: params['undiscountable_amount'] = self.undiscountable_amount return params @staticmethod def from_alipay_dict(d): if not d: return None o = AlipayTradePrecreateModel() if 'alipay_store_id' in d: o.alipay_store_id = d['alipay_store_id'] if 'body' in d: o.body = d['body'] if 'business_params' in d: o.business_params = d['business_params'] if 'buyer_logon_id' in d: o.buyer_logon_id = d['buyer_logon_id'] if 'disable_pay_channels' in d: o.disable_pay_channels = d['disable_pay_channels'] if 'discountable_amount' in d: o.discountable_amount = d['discountable_amount'] if 'enable_pay_channels' in d: o.enable_pay_channels = d['enable_pay_channels'] if 'ext_user_info' in d: o.ext_user_info = d['ext_user_info'] if 'extend_params' in d: o.extend_params = d['extend_params'] if 'goods_detail' in d: o.goods_detail = d['goods_detail'] if 'merchant_order_no' in d: o.merchant_order_no = d['merchant_order_no'] if 'operator_id' in d: o.operator_id = d['operator_id'] if 'out_trade_no' in d: o.out_trade_no = d['out_trade_no'] if 'product_code' in d: o.product_code = d['product_code'] if 'qr_code_timeout_express' in d: o.qr_code_timeout_express = d['qr_code_timeout_express'] if 'royalty_info' in d: o.royalty_info = d['royalty_info'] if 'seller_id' in d: o.seller_id = d['seller_id'] if 'settle_info' in d: o.settle_info = d['settle_info'] if 'store_id' in d: o.store_id = d['store_id'] if 'sub_merchant' in d: o.sub_merchant = d['sub_merchant'] if 'subject' in d: o.subject = d['subject'] if 'terminal_id' in d: o.terminal_id = d['terminal_id'] if 'timeout_express' in d: o.timeout_express = d['timeout_express'] if 'total_amount' in d: o.total_amount = d['total_amount'] if 'undiscountable_amount' in d: o.undiscountable_amount = d['undiscountable_amount'] return o