Source code for terminusgps.authorizenet.api.address_profiles

from authorizenet import apicontractsv1, apicontrollers
from authorizenet.apicontrollersbase import APIOperationBase
from lxml.objectify import ObjectifiedElement

__all__ = [
    "create_customer_shipping_address",
    "get_customer_shipping_address",
    "update_customer_shipping_address",
    "delete_customer_shipping_address",
]


[docs] def create_customer_shipping_address( customer_profile_id: int, address: apicontractsv1.customerAddressType, default: bool = False, ) -> tuple[ObjectifiedElement, type[APIOperationBase]]: """ `createCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-shipping-address>`_. :param customer_profile_id: An Authorizenet customer profile id. :type customer_profile_id: int :param address: An Authorizenet customer address element. :type address: ~authorizenet.apicontractsv1.customerAddressType :param default: Whether to set the address profile as default. Default is :py:obj:`False`. :type default: bool :returns: A tuple containing an Authorizenet API request element and controller class. :rtype: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]] """ request = apicontractsv1.createCustomerShippingAddressRequest() request.customerProfileId = str(customer_profile_id) request.address = address request.defaultShippingAddress = str(default).lower() return request, apicontrollers.createCustomerShippingAddressController
[docs] def get_customer_shipping_address( customer_profile_id: int, address_profile_id: int ) -> tuple[ObjectifiedElement, type[APIOperationBase]]: """ `getCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-shipping-address>`_. :param customer_profile_id: An Authorizenet customer profile id. :type customer_profile_id: int :param address_profile_id: An Authorizenet customer address profile id. :type address_profile_id: int :returns: A tuple containing an Authorizenet API request element and controller class. :rtype: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]] """ request = apicontractsv1.getCustomerShippingAddressRequest() request.customerProfileId = str(customer_profile_id) request.customerAddressId = str(address_profile_id) return request, apicontrollers.getCustomerShippingAddressController
[docs] def update_customer_shipping_address( customer_profile_id: int, address: apicontractsv1.customerAddressType, default: bool = False, ) -> tuple[ObjectifiedElement, type[APIOperationBase]]: """ `updateCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-update-customer-shipping-address>`_. :param customer_profile_id: An Authorizenet customer profile id. :type customer_profile_id: int :param address: An Authorizenet customer address element. :type address: ~authorizenet.apicontractsv1.customerAddressType :param default: Whether to set the address profile as default. Default is :py:obj:`False`. :type default: bool :returns: A tuple containing an Authorizenet API request element and controller class. :rtype: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]] """ request = apicontractsv1.updateCustomerShippingAddressRequest() request.customerProfileId = str(customer_profile_id) request.address = address request.defaultShippingAddress = str(default).lower() return request, apicontrollers.updateCustomerShippingAddressController
[docs] def delete_customer_shipping_address( customer_profile_id: int, address_profile_id: int ) -> tuple[ObjectifiedElement, type[APIOperationBase]]: """ `deleteCustomerShippingAddressRequest <https://developer.authorize.net/api/reference/index.html#customer-profiles-delete-customer-shipping-address>`_. :param customer_profile_id: An Authorizenet customer profile id. :type customer_profile_id: int :param address_profile_id: An Authorizenet customer address profile id. :type address_profile_id: int :returns: A tuple containing an Authorizenet API request element and controller class. :rtype: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]] """ request = apicontractsv1.deleteCustomerShippingAddressRequest() request.customerProfileId = str(customer_profile_id) request.customerAddressId = str(address_profile_id) return request, apicontrollers.deleteCustomerShippingAddressController