From 6b1705535658623ba864091f3f0134bb79b5d859 Mon Sep 17 00:00:00 2001 From: Blake Nall Date: Wed, 27 May 2026 13:35:05 -0500 Subject: [PATCH] Added hosted page endpoints --- terminusgps/authorizenet/api/__init__.py | 1 + terminusgps/authorizenet/api/accept.py | 46 ++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 terminusgps/authorizenet/api/accept.py diff --git a/terminusgps/authorizenet/api/__init__.py b/terminusgps/authorizenet/api/__init__.py index fc627506..116ac5a8 100644 --- a/terminusgps/authorizenet/api/__init__.py +++ b/terminusgps/authorizenet/api/__init__.py @@ -1,3 +1,4 @@ +from .accept import * from .address_profiles import * from .customer_profiles import * from .payment_profiles import * diff --git a/terminusgps/authorizenet/api/accept.py b/terminusgps/authorizenet/api/accept.py new file mode 100644 index 00000000..3154c2c7 --- /dev/null +++ b/terminusgps/authorizenet/api/accept.py @@ -0,0 +1,46 @@ +from authorizenet import apicontractsv1, apicontrollers +from authorizenet.apicontrollersbase import APIOperationBase +from lxml.objectify import ObjectifiedElement + +__all__ = ["get_accept_customer_profile_page", "get_accept_payment_page"] + + +def get_accept_customer_profile_page( + customer_profile_id: int, settings: apicontractsv1.ArrayOfSetting +) -> tuple[ObjectifiedElement, type[APIOperationBase]]: + """ + `getHostedProfilePageRequest `_. + + :param customer_profile_id: An Authorizenet customer profile id. + :type customer_profile_id: int + :param settings: Hosted customer profile page settings. + :type settings: ~authorizenet.apicontractsv1.ArrayOfSetting + :returns: A tuple containing an Authorizenet API request element and controller class. + :rtype: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]] + + """ + request = apicontractsv1.getHostedProfilePageRequest() + request.customerProfileId = customer_profile_id + request.hostedProfileSettings = settings + return request, apicontrollers.getHostedProfilePageController + + +def get_accept_payment_page( + transaction_request: apicontractsv1.transactionRequestType, + settings: apicontractsv1.ArrayOfSetting, +) -> tuple[ObjectifiedElement, type[APIOperationBase]]: + """ + `getHostedPaymentPageRequest `_. + + :param transaction_request: A transaction request. + :type transaction_request: ~authorizenet.apicontractsv1.transactionRequestType + :param settings: Hosted payment page settings. + :type settings: ~authorizenet.apicontractsv1.ArrayOfSetting + :returns: A tuple containing an Authorizenet API request element and controller class. + :rtype: tuple[~lxml.objectify.ObjectifiedElement, type[~authorizenet.apicontrollersbase.APIOperationBase]] + + """ + request = apicontractsv1.getHostedPaymentPageRequest() + request.transactionRequest = transaction_request + request.hostedPaymentSettings = settings + return request, apicontrollers.getHostedPaymentPageController