From feb3df99d7f0c2cc8045c90a8ab459614c7c1a7d Mon Sep 17 00:00:00 2001 From: Wang Zunjiao Date: Wed, 9 Sep 2026 09:13:22 +0000 Subject: [PATCH] false[antom-sdk-automation] automated change --- com/alipay/ams/api/model/acquirer_info.py | 15 +++++ com/alipay/ams/api/model/automatic_tax.py | 37 ++++++++++ com/alipay/ams/api/model/buyer.py | 37 ++++++++++ com/alipay/ams/api/model/buyer_tax_id.py | 67 +++++++++++++++++++ com/alipay/ams/api/model/goods.py | 30 +++++++++ com/alipay/ams/api/model/order.py | 15 +++++ com/alipay/ams/api/model/shipping.py | 30 +++++++++ com/alipay/ams/api/model/tax_breakdown.py | 17 +---- com/alipay/ams/api/model/tax_jurisdiction.py | 30 --------- ...y_tax_inquire_registration_list_request.py | 6 +- .../ams/api/request/pay/alipay_pay_request.py | 15 ----- .../pay/alipay_payment_session_request.py | 17 +++++ .../billing/alipay_tax_calculate_response.py | 17 +++++ ...alipay_vaulting_payment_method_response.py | 17 +++++ .../pay/alipay_vaulting_query_response.py | 17 +++++ 15 files changed, 303 insertions(+), 64 deletions(-) create mode 100644 com/alipay/ams/api/model/automatic_tax.py create mode 100644 com/alipay/ams/api/model/buyer_tax_id.py diff --git a/com/alipay/ams/api/model/acquirer_info.py b/com/alipay/ams/api/model/acquirer_info.py index 9a61232..f235ebb 100644 --- a/com/alipay/ams/api/model/acquirer_info.py +++ b/com/alipay/ams/api/model/acquirer_info.py @@ -16,6 +16,7 @@ def __init__(self): self.__acquirer_reason_description = None # type: str self.__ptsp_transaction_id = None # type: str self.__acquirer_card_token = None # type: str + self.__acquirer_fingerprint = None # type: str @property @@ -118,6 +119,16 @@ def acquirer_card_token(self): @acquirer_card_token.setter def acquirer_card_token(self, value): self.__acquirer_card_token = value + @property + def acquirer_fingerprint(self): + """ + An acquirer-generated, irreversible card fingerprint passed through for card identification, reconciliation, and risk deduplication. It is returned only for APO merchants enrolled in fingerprint passthrough when Checkout.com is the acquirer and the original scenario is card vaulting or payment with vaulting. It is not returned in other scenarios and may be empty. Maximum length: 64 characters. + """ + return self.__acquirer_fingerprint + + @acquirer_fingerprint.setter + def acquirer_fingerprint(self, value): + self.__acquirer_fingerprint = value @@ -144,6 +155,8 @@ def to_ams_dict(self): params['ptspTransactionId'] = self.ptsp_transaction_id if hasattr(self, "acquirer_card_token") and self.acquirer_card_token is not None: params['acquirerCardToken'] = self.acquirer_card_token + if hasattr(self, "acquirer_fingerprint") and self.acquirer_fingerprint is not None: + params['acquirerFingerprint'] = self.acquirer_fingerprint return params @@ -170,3 +183,5 @@ def parse_rsp_body(self, response_body): self.__ptsp_transaction_id = response_body['ptspTransactionId'] if 'acquirerCardToken' in response_body: self.__acquirer_card_token = response_body['acquirerCardToken'] + if 'acquirerFingerprint' in response_body: + self.__acquirer_fingerprint = response_body['acquirerFingerprint'] diff --git a/com/alipay/ams/api/model/automatic_tax.py b/com/alipay/ams/api/model/automatic_tax.py new file mode 100644 index 0000000..e845d7d --- /dev/null +++ b/com/alipay/ams/api/model/automatic_tax.py @@ -0,0 +1,37 @@ +import json + + + + +class AutomaticTax: + def __init__(self): + + self.__enabled = None # type: bool + + + @property + def enabled(self): + """ + Indicates whether automatic tax is enabled for this payment session. This field is required when automaticTax is provided. true enables automatic tax and false disables it for this session when merchant tax settings exist. + """ + return self.__enabled + + @enabled.setter + def enabled(self, value): + self.__enabled = value + + + + + def to_ams_dict(self): + params = dict() + if hasattr(self, "enabled") and self.enabled is not None: + params['enabled'] = self.enabled + return params + + + def parse_rsp_body(self, response_body): + if isinstance(response_body, str): + response_body = json.loads(response_body) + if 'enabled' in response_body: + self.__enabled = response_body['enabled'] diff --git a/com/alipay/ams/api/model/buyer.py b/com/alipay/ams/api/model/buyer.py index 1b8413c..b5bc854 100644 --- a/com/alipay/ams/api/model/buyer.py +++ b/com/alipay/ams/api/model/buyer.py @@ -1,6 +1,8 @@ import json from com.alipay.ams.api.model.user_name import UserName from com.alipay.ams.api.model.amount import Amount +from com.alipay.ams.api.model.buyer_tax_id import BuyerTaxId +from com.alipay.ams.api.model.address import Address @@ -19,6 +21,8 @@ def __init__(self): self.__successful_order_amount = None # type: Amount self.__date_of_last_paid_purchase = None # type: str self.__date_of_first_paid_purchase = None # type: str + self.__tax_ids = None # type: [BuyerTaxId] + self.__business_address = None # type: Address @property @@ -131,6 +135,26 @@ def date_of_first_paid_purchase(self): @date_of_first_paid_purchase.setter def date_of_first_paid_purchase(self, value): self.__date_of_first_paid_purchase = value + @property + def tax_ids(self): + """ + For createPaymentSession, these buyer tax IDs are used for B2B or reverse-charge determination when automatic tax is active. If omitted, null, invalid, or unusable, Antom calculates tax as B2C instead of rejecting the payment session. Because Buyer is a shared SDK model, omit this field in APIs that do not explicitly document support. Maximum size: 10. + """ + return self.__tax_ids + + @tax_ids.setter + def tax_ids(self, value): + self.__tax_ids = value + @property + def business_address(self): + """Gets the business_address of this Buyer. + + """ + return self.__business_address + + @business_address.setter + def business_address(self, value): + self.__business_address = value @@ -159,6 +183,10 @@ def to_ams_dict(self): params['dateOfLastPaidPurchase'] = self.date_of_last_paid_purchase if hasattr(self, "date_of_first_paid_purchase") and self.date_of_first_paid_purchase is not None: params['dateOfFirstPaidPurchase'] = self.date_of_first_paid_purchase + if hasattr(self, "tax_ids") and self.tax_ids is not None: + params['taxIds'] = self.tax_ids + if hasattr(self, "business_address") and self.business_address is not None: + params['businessAddress'] = self.business_address return params @@ -189,3 +217,12 @@ def parse_rsp_body(self, response_body): self.__date_of_last_paid_purchase = response_body['dateOfLastPaidPurchase'] if 'dateOfFirstPaidPurchase' in response_body: self.__date_of_first_paid_purchase = response_body['dateOfFirstPaidPurchase'] + if 'taxIds' in response_body: + self.__tax_ids = [] + for item in response_body['taxIds']: + obj = BuyerTaxId() + obj.parse_rsp_body(item) + self.__tax_ids.append(obj) + if 'businessAddress' in response_body: + self.__business_address = Address() + self.__business_address.parse_rsp_body(response_body['businessAddress']) diff --git a/com/alipay/ams/api/model/buyer_tax_id.py b/com/alipay/ams/api/model/buyer_tax_id.py new file mode 100644 index 0000000..298577f --- /dev/null +++ b/com/alipay/ams/api/model/buyer_tax_id.py @@ -0,0 +1,67 @@ +import json + + + + +class BuyerTaxId: + def __init__(self): + + self.__country = None # type: str + self.__region = None # type: str + self.__value = None # type: str + + + @property + def country(self): + """ + The two-letter ISO 3166-1 alpha-2 country or region code used to validate the tax ID. Maximum length: 2 characters. + """ + return self.__country + + @country.setter + def country(self, value): + self.__country = value + @property + def region(self): + """ + The two-character country-specific subdivision code. Required only when the applicable tax authority or country or region rule requires subdivision-level identification. Maximum length: 2 characters. + """ + return self.__region + + @region.setter + def region(self, value): + self.__region = value + @property + def value(self): + """ + The buyer tax ID value. The accepted format is country-specific. Maximum length: 64 characters. + """ + return self.__value + + @value.setter + def value(self, value): + self.__value = value + + + + + def to_ams_dict(self): + params = dict() + if hasattr(self, "country") and self.country is not None: + params['country'] = self.country + if hasattr(self, "region") and self.region is not None: + params['region'] = self.region + if hasattr(self, "value") and self.value is not None: + params['value'] = self.value + return params + + + def parse_rsp_body(self, response_body): + if isinstance(response_body, str): + response_body = json.loads(response_body) + if 'country' in response_body: + self.__country = response_body['country'] + if 'region' in response_body: + self.__region = response_body['region'] + if 'value' in response_body: + self.__value = response_body['value'] diff --git a/com/alipay/ams/api/model/goods.py b/com/alipay/ams/api/model/goods.py index abe5f22..9be4a2c 100644 --- a/com/alipay/ams/api/model/goods.py +++ b/com/alipay/ams/api/model/goods.py @@ -22,6 +22,8 @@ def __init__(self): self.__goods_discount_amount = None # type: Amount self.__goods_ends_on_time = None # type: str self.__cross_sell = None # type: Goods + self.__tax_code = None # type: str + self.__tax_behavior = None # type: str @property @@ -164,6 +166,26 @@ def cross_sell(self): @cross_sell.setter def cross_sell(self, value): self.__cross_sell = value + @property + def tax_code(self): + """ + For createPaymentSession, this is the product tax code used by Antom GlobalTax to classify the goods line. When automatic tax is active, omit it to use the merchant default tax code. Because Goods is a shared SDK model, omit this field in APIs that do not explicitly document support. Maximum length: 64 characters. + """ + return self.__tax_code + + @tax_code.setter + def tax_code(self, value): + self.__tax_code = value + @property + def tax_behavior(self): + """ + For createPaymentSession, this value indicates whether the goods-line price excludes or includes tax. Supported values are EXCLUSIVE and INCLUSIVE. When automatic tax is active, omit it to use the merchant tax behavior settings. Because Goods is a shared SDK model, omit this field in APIs that do not explicitly document support. Maximum length: 16 characters. + """ + return self.__tax_behavior + + @tax_behavior.setter + def tax_behavior(self, value): + self.__tax_behavior = value @@ -198,6 +220,10 @@ def to_ams_dict(self): params['goodsEndsOnTime'] = self.goods_ends_on_time if hasattr(self, "cross_sell") and self.cross_sell is not None: params['crossSell'] = self.cross_sell + if hasattr(self, "tax_code") and self.tax_code is not None: + params['taxCode'] = self.tax_code + if hasattr(self, "tax_behavior") and self.tax_behavior is not None: + params['taxBehavior'] = self.tax_behavior return params @@ -235,3 +261,7 @@ def parse_rsp_body(self, response_body): if 'crossSell' in response_body: self.__cross_sell = Goods() self.__cross_sell.parse_rsp_body(response_body['crossSell']) + if 'taxCode' in response_body: + self.__tax_code = response_body['taxCode'] + if 'taxBehavior' in response_body: + self.__tax_behavior = response_body['taxBehavior'] diff --git a/com/alipay/ams/api/model/order.py b/com/alipay/ams/api/model/order.py index 9320316..ad63ec2 100644 --- a/com/alipay/ams/api/model/order.py +++ b/com/alipay/ams/api/model/order.py @@ -35,6 +35,7 @@ def __init__(self): self.__need_declaration = None # type: bool self.__declaration = None # type: Declaration self.__order_type = None # type: str + self.__tax_calculation_id = None # type: str @property @@ -207,6 +208,16 @@ def order_type(self): @order_type.setter def order_type(self, value): self.__order_type = value + @property + def tax_calculation_id(self): + """ + For the pay API, this is the tax calculation ID returned by the Tax calculate API. It associates the order with a valid, unexpired tax calculation; omit it for the existing non-tax flow. Because Order is a shared SDK model, omit this field in APIs that do not explicitly document support. Maximum length: 64 characters. + """ + return self.__tax_calculation_id + + @tax_calculation_id.setter + def tax_calculation_id(self, value): + self.__tax_calculation_id = value @@ -247,6 +258,8 @@ def to_ams_dict(self): params['declaration'] = self.declaration if hasattr(self, "order_type") and self.order_type is not None: params['orderType'] = self.order_type + if hasattr(self, "tax_calculation_id") and self.tax_calculation_id is not None: + params['taxCalculationId'] = self.tax_calculation_id return params @@ -302,3 +315,5 @@ def parse_rsp_body(self, response_body): self.__declaration.parse_rsp_body(response_body['declaration']) if 'orderType' in response_body: self.__order_type = response_body['orderType'] + if 'taxCalculationId' in response_body: + self.__tax_calculation_id = response_body['taxCalculationId'] diff --git a/com/alipay/ams/api/model/shipping.py b/com/alipay/ams/api/model/shipping.py index 5eb3c73..025ae92 100644 --- a/com/alipay/ams/api/model/shipping.py +++ b/com/alipay/ams/api/model/shipping.py @@ -22,6 +22,8 @@ def __init__(self): self.__shipping_number = None # type: str self.__notes = None # type: str self.__tracking_url = None # type: str + self.__tax_code = None # type: str + self.__tax_behavior = None # type: str @property @@ -144,6 +146,26 @@ def tracking_url(self): @tracking_url.setter def tracking_url(self, value): self.__tracking_url = value + @property + def tax_code(self): + """ + For createPaymentSession, this is the tax code used by Antom GlobalTax to classify shipping. When automatic tax is active, omit it to use the default shipping tax code. Because Shipping is a shared SDK model, omit this field in APIs that do not explicitly document support. Maximum length: 64 characters. + """ + return self.__tax_code + + @tax_code.setter + def tax_code(self, value): + self.__tax_code = value + @property + def tax_behavior(self): + """ + For createPaymentSession, this value indicates whether the shipping fee excludes or includes tax. Supported values are EXCLUSIVE and INCLUSIVE. When automatic tax is active, omit it to use the merchant tax behavior settings. Because Shipping is a shared SDK model, omit this field in APIs that do not explicitly document support. Maximum length: 16 characters. + """ + return self.__tax_behavior + + @tax_behavior.setter + def tax_behavior(self, value): + self.__tax_behavior = value @@ -174,6 +196,10 @@ def to_ams_dict(self): params['notes'] = self.notes if hasattr(self, "tracking_url") and self.tracking_url is not None: params['trackingUrl'] = self.tracking_url + if hasattr(self, "tax_code") and self.tax_code is not None: + params['taxCode'] = self.tax_code + if hasattr(self, "tax_behavior") and self.tax_behavior is not None: + params['taxBehavior'] = self.tax_behavior return params @@ -208,3 +234,7 @@ def parse_rsp_body(self, response_body): self.__notes = response_body['notes'] if 'trackingUrl' in response_body: self.__tracking_url = response_body['trackingUrl'] + if 'taxCode' in response_body: + self.__tax_code = response_body['taxCode'] + if 'taxBehavior' in response_body: + self.__tax_behavior = response_body['taxBehavior'] diff --git a/com/alipay/ams/api/model/tax_breakdown.py b/com/alipay/ams/api/model/tax_breakdown.py index e094329..3806279 100644 --- a/com/alipay/ams/api/model/tax_breakdown.py +++ b/com/alipay/ams/api/model/tax_breakdown.py @@ -9,7 +9,6 @@ class TaxBreakdown: def __init__(self): self.__tax_type = None # type: str - self.__authority_name = None # type: str self.__tax_rate = None # type: str self.__tax_amount = None # type: Amount self.__taxable_amount = None # type: Amount @@ -20,7 +19,7 @@ def __init__(self): @property def tax_type(self): """ - The tax type. Supported values are SALES_TAX, VAT, GST, and OTHER. + The tax type. Supported values are CUIT, GST, VAT, CBS, IBS, HST, PST, RST, QST, JCT, SERVICE_TAX, IGV, SALES_TAX, and PERSONAL_PROPERTY_LEASE_TRANSACTION_TAX. This response field is extensible; accept unknown values without failing deserialization. """ return self.__tax_type @@ -28,16 +27,6 @@ def tax_type(self): def tax_type(self, value): self.__tax_type = value @property - def authority_name(self): - """ - The tax authority name. Maximum length: 128 characters. - """ - return self.__authority_name - - @authority_name.setter - def authority_name(self, value): - self.__authority_name = value - @property def tax_rate(self): """ The tax rate. Maximum length: 16 characters. @@ -95,8 +84,6 @@ def to_ams_dict(self): params = dict() if hasattr(self, "tax_type") and self.tax_type is not None: params['taxType'] = self.tax_type - if hasattr(self, "authority_name") and self.authority_name is not None: - params['authorityName'] = self.authority_name if hasattr(self, "tax_rate") and self.tax_rate is not None: params['taxRate'] = self.tax_rate if hasattr(self, "tax_amount") and self.tax_amount is not None: @@ -115,8 +102,6 @@ def parse_rsp_body(self, response_body): response_body = json.loads(response_body) if 'taxType' in response_body: self.__tax_type = response_body['taxType'] - if 'authorityName' in response_body: - self.__authority_name = response_body['authorityName'] if 'taxRate' in response_body: self.__tax_rate = response_body['taxRate'] if 'taxAmount' in response_body: diff --git a/com/alipay/ams/api/model/tax_jurisdiction.py b/com/alipay/ams/api/model/tax_jurisdiction.py index fd3eacf..0856a3d 100644 --- a/com/alipay/ams/api/model/tax_jurisdiction.py +++ b/com/alipay/ams/api/model/tax_jurisdiction.py @@ -8,9 +8,7 @@ def __init__(self): self.__country = None # type: str self.__region = None # type: str - self.__county = None # type: str self.__city = None # type: str - self.__district = None # type: str @property @@ -34,16 +32,6 @@ def region(self): def region(self, value): self.__region = value @property - def county(self): - """ - The county. Maximum length: 64 characters. - """ - return self.__county - - @county.setter - def county(self, value): - self.__county = value - @property def city(self): """ The city. Maximum length: 64 characters. @@ -53,16 +41,6 @@ def city(self): @city.setter def city(self, value): self.__city = value - @property - def district(self): - """ - The district. Maximum length: 64 characters. - """ - return self.__district - - @district.setter - def district(self, value): - self.__district = value @@ -73,12 +51,8 @@ def to_ams_dict(self): params['country'] = self.country if hasattr(self, "region") and self.region is not None: params['region'] = self.region - if hasattr(self, "county") and self.county is not None: - params['county'] = self.county if hasattr(self, "city") and self.city is not None: params['city'] = self.city - if hasattr(self, "district") and self.district is not None: - params['district'] = self.district return params @@ -89,9 +63,5 @@ def parse_rsp_body(self, response_body): self.__country = response_body['country'] if 'region' in response_body: self.__region = response_body['region'] - if 'county' in response_body: - self.__county = response_body['county'] if 'city' in response_body: self.__city = response_body['city'] - if 'district' in response_body: - self.__district = response_body['district'] diff --git a/com/alipay/ams/api/request/billing/alipay_tax_inquire_registration_list_request.py b/com/alipay/ams/api/request/billing/alipay_tax_inquire_registration_list_request.py index cf059f1..a2eb613 100644 --- a/com/alipay/ams/api/request/billing/alipay_tax_inquire_registration_list_request.py +++ b/com/alipay/ams/api/request/billing/alipay_tax_inquire_registration_list_request.py @@ -16,7 +16,7 @@ def __init__(self): @property def status(self): """ - The current status. Maximum length: 16 characters. Note: See documentation for details. + The registration status filter. Supported values are ACTIVE, SCHEDULED, EXPIRED, CANCELLED, and ALL. The default is ALL; omitted or null values are treated as ALL. """ return self.__status @@ -26,7 +26,7 @@ def status(self, value): @property def current_page(self): """ - The current page number. + The current page number. The default is 1. """ return self.__current_page @@ -36,7 +36,7 @@ def current_page(self, value): @property def page_size(self): """ - The number of records per page. + The number of registrations per page. The default is 20. Valid values are from 1 to 100. """ return self.__page_size diff --git a/com/alipay/ams/api/request/pay/alipay_pay_request.py b/com/alipay/ams/api/request/pay/alipay_pay_request.py index 5d0fc7d..f02ca82 100644 --- a/com/alipay/ams/api/request/pay/alipay_pay_request.py +++ b/com/alipay/ams/api/request/pay/alipay_pay_request.py @@ -53,7 +53,6 @@ def __init__(self): self.__merchant_account_id = None # type: str self.__dual_offline_payment = None # type: bool self.__subscription_id = None # type: str - self.__tax_calculation_id = None # type: str self.__locale = None # type: str @@ -348,16 +347,6 @@ def subscription_id(self): def subscription_id(self, value): self.__subscription_id = value @property - def tax_calculation_id(self): - """ - The tax calculation ID. This ID is obtained from the calculate API and used for subsequent payment posting verification and tax records. - """ - return self.__tax_calculation_id - - @tax_calculation_id.setter - def tax_calculation_id(self, value): - self.__tax_calculation_id = value - @property def locale(self): """ The language code used by Antom Hosted Checkout Page. This field applies only to non-POP Hosted Checkout Page requests. Supported values are en_US, pt_BR, pt_PT, es_ES, ko_KR, zh_CN, zh_HK, ms_MY, in_ID, th_TH, vi_VN, tl_PH, it_IT, de_DE, fr_FR, nl_NL, ja_JP, ro, pl_PL, ar_SA, tr_TR, hi_IN, and mn. Values are case-sensitive and are not trimmed or converted. When the field is omitted, null, empty, or contains only whitespace, the page selects a language from the region resolved from env.clientIp and falls back to en_US when no supported language can be resolved. Any other unsupported non-empty string that passes type and length validation falls back directly to en_US. A non-string value or a string longer than 8 characters is rejected with PARAM_ILLEGAL. The value automatic is unsupported and exceeds the maximum length. @@ -434,8 +423,6 @@ def to_ams_dict(self): params['dualOfflinePayment'] = self.dual_offline_payment if hasattr(self, "subscription_id") and self.subscription_id is not None: params['subscriptionId'] = self.subscription_id - if hasattr(self, "tax_calculation_id") and self.tax_calculation_id is not None: - params['taxCalculationId'] = self.tax_calculation_id if hasattr(self, "locale") and self.locale is not None: params['locale'] = self.locale return params @@ -518,7 +505,5 @@ def parse_rsp_body(self, response_body): self.__dual_offline_payment = response_body['dualOfflinePayment'] if 'subscriptionId' in response_body: self.__subscription_id = response_body['subscriptionId'] - if 'taxCalculationId' in response_body: - self.__tax_calculation_id = response_body['taxCalculationId'] if 'locale' in response_body: self.__locale = response_body['locale'] diff --git a/com/alipay/ams/api/request/pay/alipay_payment_session_request.py b/com/alipay/ams/api/request/pay/alipay_payment_session_request.py index 65a13dd..48f46de 100644 --- a/com/alipay/ams/api/request/pay/alipay_payment_session_request.py +++ b/com/alipay/ams/api/request/pay/alipay_payment_session_request.py @@ -17,6 +17,7 @@ from com.alipay.ams.api.model.payment_method import PaymentMethod from com.alipay.ams.api.model.available_payment_method import AvailablePaymentMethod from com.alipay.ams.api.model.billing_subscription import BillingSubscription +from com.alipay.ams.api.model.automatic_tax import AutomaticTax @@ -58,6 +59,7 @@ def __init__(self): self.__available_payment_method = None # type: AvailablePaymentMethod self.__payment_expiry_time = None # type: str self.__subscription = None # type: BillingSubscription + self.__automatic_tax = None # type: AutomaticTax @property @@ -380,6 +382,16 @@ def subscription(self): @subscription.setter def subscription(self, value): self.__subscription = value + @property + def automatic_tax(self): + """Gets the automatic_tax of this AlipayPaymentSessionRequest. + + """ + return self.__automatic_tax + + @automatic_tax.setter + def automatic_tax(self, value): + self.__automatic_tax = value def to_ams_json(self): @@ -453,6 +465,8 @@ def to_ams_dict(self): params['paymentExpiryTime'] = self.payment_expiry_time if hasattr(self, "subscription") and self.subscription is not None: params['subscription'] = self.subscription + if hasattr(self, "automatic_tax") and self.automatic_tax is not None: + params['automaticTax'] = self.automatic_tax return params @@ -544,3 +558,6 @@ def parse_rsp_body(self, response_body): if 'subscription' in response_body: self.__subscription = BillingSubscription() self.__subscription.parse_rsp_body(response_body['subscription']) + if 'automaticTax' in response_body: + self.__automatic_tax = AutomaticTax() + self.__automatic_tax.parse_rsp_body(response_body['automaticTax']) diff --git a/com/alipay/ams/api/response/billing/alipay_tax_calculate_response.py b/com/alipay/ams/api/response/billing/alipay_tax_calculate_response.py index 1b35b0b..908af1d 100644 --- a/com/alipay/ams/api/response/billing/alipay_tax_calculate_response.py +++ b/com/alipay/ams/api/response/billing/alipay_tax_calculate_response.py @@ -7,6 +7,7 @@ from com.alipay.ams.api.model.tax_breakdown import TaxBreakdown from com.alipay.ams.api.model.tax_calculated_shipping_cost import TaxCalculatedShippingCost from com.alipay.ams.api.model.tax_calculated_customer_details import TaxCalculatedCustomerDetails +from com.alipay.ams.api.model.tax_calculated_ship_from_details import TaxCalculatedShipFromDetails @@ -27,6 +28,7 @@ def __init__(self, rsp_body): self.__tax_date = None # type: str self.__shipping_cost = None # type: TaxCalculatedShippingCost self.__customer_details = None # type: TaxCalculatedCustomerDetails + self.__ship_from_details = None # type: TaxCalculatedShipFromDetails self.parse_rsp_body(rsp_body) @@ -140,6 +142,16 @@ def customer_details(self): @customer_details.setter def customer_details(self, value): self.__customer_details = value + @property + def ship_from_details(self): + """Gets the ship_from_details of this AlipayTaxCalculateResponse. + + """ + return self.__ship_from_details + + @ship_from_details.setter + def ship_from_details(self, value): + self.__ship_from_details = value @@ -168,6 +180,8 @@ def to_ams_dict(self): params['shippingCost'] = self.shipping_cost if hasattr(self, "customer_details") and self.customer_details is not None: params['customerDetails'] = self.customer_details + if hasattr(self, "ship_from_details") and self.ship_from_details is not None: + params['shipFromDetails'] = self.ship_from_details return params @@ -209,3 +223,6 @@ def parse_rsp_body(self, response_body): if 'customerDetails' in response_body: self.__customer_details = TaxCalculatedCustomerDetails() self.__customer_details.parse_rsp_body(response_body['customerDetails']) + if 'shipFromDetails' in response_body: + self.__ship_from_details = TaxCalculatedShipFromDetails() + self.__ship_from_details.parse_rsp_body(response_body['shipFromDetails']) diff --git a/com/alipay/ams/api/response/pay/alipay_vaulting_payment_method_response.py b/com/alipay/ams/api/response/pay/alipay_vaulting_payment_method_response.py index df61eb4..572c027 100644 --- a/com/alipay/ams/api/response/pay/alipay_vaulting_payment_method_response.py +++ b/com/alipay/ams/api/response/pay/alipay_vaulting_payment_method_response.py @@ -1,6 +1,7 @@ import json from com.alipay.ams.api.model.result import Result from com.alipay.ams.api.model.payment_method_detail import PaymentMethodDetail +from com.alipay.ams.api.model.acquirer_info import AcquirerInfo @@ -16,6 +17,7 @@ def __init__(self, rsp_body): self.__normal_url = None # type: str self.__scheme_url = None # type: str self.__applink_url = None # type: str + self.__acquirer_info = None # type: AcquirerInfo self.parse_rsp_body(rsp_body) @@ -79,6 +81,16 @@ def applink_url(self): @applink_url.setter def applink_url(self, value): self.__applink_url = value + @property + def acquirer_info(self): + """Gets the acquirer_info of this AlipayVaultingPaymentMethodResponse. + + """ + return self.__acquirer_info + + @acquirer_info.setter + def acquirer_info(self, value): + self.__acquirer_info = value @@ -97,6 +109,8 @@ def to_ams_dict(self): params['schemeUrl'] = self.scheme_url if hasattr(self, "applink_url") and self.applink_url is not None: params['applinkUrl'] = self.applink_url + if hasattr(self, "acquirer_info") and self.acquirer_info is not None: + params['acquirerInfo'] = self.acquirer_info return params @@ -116,3 +130,6 @@ def parse_rsp_body(self, response_body): self.__scheme_url = response_body['schemeUrl'] if 'applinkUrl' in response_body: self.__applink_url = response_body['applinkUrl'] + if 'acquirerInfo' in response_body: + self.__acquirer_info = AcquirerInfo() + self.__acquirer_info.parse_rsp_body(response_body['acquirerInfo']) diff --git a/com/alipay/ams/api/response/pay/alipay_vaulting_query_response.py b/com/alipay/ams/api/response/pay/alipay_vaulting_query_response.py index c0cb783..2e39d51 100644 --- a/com/alipay/ams/api/response/pay/alipay_vaulting_query_response.py +++ b/com/alipay/ams/api/response/pay/alipay_vaulting_query_response.py @@ -1,6 +1,7 @@ import json from com.alipay.ams.api.model.result import Result from com.alipay.ams.api.model.payment_method_detail import PaymentMethodDetail +from com.alipay.ams.api.model.acquirer_info import AcquirerInfo @@ -20,6 +21,7 @@ def __init__(self, rsp_body): self.__metadata = None # type: str self.__vaulting_result_code = None # type: str self.__vaulting_result_message = None # type: str + self.__acquirer_info = None # type: AcquirerInfo self.parse_rsp_body(rsp_body) @@ -123,6 +125,16 @@ def vaulting_result_message(self): @vaulting_result_message.setter def vaulting_result_message(self, value): self.__vaulting_result_message = value + @property + def acquirer_info(self): + """Gets the acquirer_info of this AlipayVaultingQueryResponse. + + """ + return self.__acquirer_info + + @acquirer_info.setter + def acquirer_info(self, value): + self.__acquirer_info = value @@ -149,6 +161,8 @@ def to_ams_dict(self): params['vaultingResultCode'] = self.vaulting_result_code if hasattr(self, "vaulting_result_message") and self.vaulting_result_message is not None: params['vaultingResultMessage'] = self.vaulting_result_message + if hasattr(self, "acquirer_info") and self.acquirer_info is not None: + params['acquirerInfo'] = self.acquirer_info return params @@ -176,3 +190,6 @@ def parse_rsp_body(self, response_body): self.__vaulting_result_code = response_body['vaultingResultCode'] if 'vaultingResultMessage' in response_body: self.__vaulting_result_message = response_body['vaultingResultMessage'] + if 'acquirerInfo' in response_body: + self.__acquirer_info = AcquirerInfo() + self.__acquirer_info.parse_rsp_body(response_body['acquirerInfo'])