class tax_tables_t(gxml.Node): merchant_calculated = gxml.Boolean('@merchant-calculated', default=False) default = gxml.Complex('default-tax-table', default_tax_table_t) alternates = gxml.List('alternate-tax-tables', gxml.Complex('alternate-tax-table', alternate_tax_table_t), required=False)
class address_filters_t(gxml.Node): allowed_areas = gxml.Complex('allowed-areas', allowed_areas_t, required=False) excluded_areas = gxml.Complex('excluded-areas', excluded_areas_t, required=False) allow_us_po_box = gxml.Boolean('allow-us-po-box', required=False)
class risk_information_t(gxml.Node): avs_response = gxml.String('avs-response', values=AVS_VALUES) billing_address = gxml.Complex('billing-address', billing_address_t) buyer_account_age = gxml.Integer('buyer-account-age') cvn_response = gxml.String('cvn-response', values=CVN_VALUES) eligible_for_protection = gxml.Boolean('eligible-for-protection') ip_address = gxml.IP('ip-address') partial_cc_number = gxml.String('partial-cc-number') # partial CC Number
class digital_content_t(gxml.Node): description = gxml.Html('description', max_length=1024, required=False) email_delivery = gxml.Boolean('email-delivery', required=False) key = gxml.String('key', required=False) url = gxml.String('url', required=False) display_disposition = gxml.String('display-disposition', required=False, values=DISPLAY_DISPOSITION)
class checkout_shopping_cart_t(gxml.Document): tag_name = 'checkout-shopping-cart' shopping_cart = gxml.Complex('shopping-cart', shopping_cart_t) checkout_flow_support = gxml.Complex( 'checkout-flow-support/merchant-checkout-flow-support', checkout_flow_support_t) request_initial_auth_details = gxml.Boolean( 'order-processing-support/request-initial-auth-details', required=False)
class result_t(gxml.Node): shipping_name = gxml.String('@shipping-name') address_id = gxml.String('@address-id') total_tax = gxml.Complex('total-tax', price_t, required=False) shipping_rate = gxml.Complex('shipping-rate', price_t, required=False) shippable = gxml.Boolean('shippable', required=False) merchant_code_results = gxml.Complex('merchant-code-results', merchant_code_results_t, required=False)
class calculate_t(gxml.Node): addresses = gxml.List('addresses', gxml.Complex('anonymous-address', anonymous_address_t), required=False) merchant_code_strings = gxml.Complex( 'merchant-code-strings/merchant-code-string', merchant_code_string_t, required=False) shipping = gxml.Complex('shipping', shipping_in_calculate_t, required=False) tax = gxml.Boolean('tax')
class order_adjustment_t(gxml.Node): adjustment_total = gxml.Complex('adjustment-total', price_t, required=False) merchant_calculation_successful = gxml.Boolean( 'merchant-calculation-successful', required=False) merchant_codes = gxml.Complex('merchant-codes', merchant_codes_t, required=False) shipping = gxml.Complex('shipping', shipping_in_order_adjustment_t, required=False) total_tax = gxml.Complex('total-tax', price_t, required=False)
class cancel_items_t(abstract_order_t): tag_name = 'cancel-items' reason = gxml.String('comment') comment = gxml.String('comment') item_ids = gxml.List('item-ids', gxml.Complex('item-id', item_id_t)) send_email = gxml.Boolean('send-email', required=False)
class discount_result_t(gxml.Node): valid = gxml.Boolean('valid') calculated_amount = gxml.Complex('calculated-amount', price_t) code = gxml.String('code') message = gxml.String('message', max_length=255)
class return_items_t(abstract_order_t): tag_name = 'return-items' item_ids = gxml.List('item-ids', gxml.Complex('item-id', item_id_t)) send_email = gxml.Boolean('send-email', required=False)
class send_buyer_message_t(abstract_order_t): tag_name = 'send-buyer-message' send_email = gxml.Boolean('send-email', required=False) message = gxml.String('message')
class deliver_order_t(abstract_order_t): tag_name = 'deliver-order' tracking_data = gxml.Complex('tracking-data', tracking_data_t, required=False) send_email = gxml.Boolean('send-email', required=False)
class ship_items_t(abstract_order_t): tag_name = 'ship-items' item_shipping_information_list = gxml.List( 'item-shipping-information-list', gxml.Complex('item-shipping-information', item_shipping_information_t)) send_email = gxml.Boolean('send-email')
class buyer_marketing_preferences_t(gxml.Node): email_allowed = gxml.Boolean('email-allowed') def read(self, node): return gxml.Node.read(self, node)
class reset_items_shipping_information_t(abstract_order_t): tag_name = 'reset-items-shipping-information' item_ids = gxml.List('item-ids', gxml.Complex('item-id', item_id_t)) send_email = gxml.Boolean('send-email', required=False)
class checkout_flow_support_t(gxml.Node): """ >>> test_node( ... checkout_flow_support_t( ... parameterized_urls = [ ... parameterized_url_t( ... url='http://google.com/', ... parameters=[url_parameter_t(name='a', type='buyer-id')] ... ), ... parameterized_url_t( ... url='http://yahoo.com/', ... parameters=[url_parameter_t(name='a', type='shipping-city'), ... url_parameter_t(name='b', type='tax-amount')] ... ), ... parameterized_url_t( ... url='http://mozilla.com/', ... parameters=[url_parameter_t(name='a', type='order-total'), ... url_parameter_t(name='b', type='shipping-region'), ... url_parameter_t(name='c', type='shipping-country-code')] ... ) ... ], ... ) ... , ... ''' ... <node> ... <parameterized-urls> ... <parameterized-url url="http://google.com/"> ... <parameters> ... <url-parameter name="a" type="buyer-id"/> ... </parameters> ... </parameterized-url> ... <parameterized-url url="http://yahoo.com/"> ... <parameters> ... <url-parameter name="a" type="shipping-city"/> ... <url-parameter name="b" type="tax-amount"/> ... </parameters> ... </parameterized-url> ... <parameterized-url url="http://mozilla.com/"> ... <parameters> ... <url-parameter name="a" type="order-total"/> ... <url-parameter name="b" type="shipping-region"/> ... <url-parameter name="c" type="shipping-country-code"/> ... </parameters> ... </parameterized-url> ... </parameterized-urls> ... </node> ... ''' ... ) """ edit_cart_url = gxml.Url('edit-cart-url', required=False) # optional, URL continue_shopping_url = gxml.Url('continue-shopping-url', required=False) # optional, URL tax_tables = gxml.Complex('tax-tables', tax_tables_t, required=False) # optional, tax_tables_t shipping_methods = gxml.Complex( 'shipping-methods', shipping_methods_t, required=False) # optional, shipping_methods_t parameterized_urls = gxml.List('parameterized-urls', gxml.Complex('parameterized-url', parameterized_url_t), required=False) merchant_calculations = gxml.Complex( 'merchant-calculations', merchant_calculations_t, required=False) # optional, merchant_calculations_t request_buyer_phone_number = gxml.Boolean( 'request-buyer-phone-number', required=False) # optional, Boolean analytics_data = gxml.String('analytics-data', required=False) platform_id = gxml.Long('platform-id', required=False) rounding_policy = gxml.Complex('rounding-policy', rounding_policy_t, required=False)
class default_tax_rule_t(tax_rule_t): shipping_taxed = gxml.Boolean('shipping-taxed', required=False)
class merchant_calculations_t(gxml.Node): merchant_calculations_url = gxml.Url('merchant-calculations-url') accept_merchant_coupons = gxml.Boolean('accept-merchant-coupons', required=False) accept_gift_certificates = gxml.Boolean('accept-gift-certificates', required=False)
class alternate_tax_table_t(gxml.Node): name = gxml.String('@name') standalone = gxml.Boolean('@standalone') alternate_tax_rules = gxml.List( 'alternate-tax-rules', gxml.Complex('alternate-tax-rule', alternate_tax_rule_t))