Payment Models

Payment models for ACPortal API.

class ab.api.models.payments.PaymentParams(*, jobSubKey=None)[source]

Bases: RequestModel

Query parameters for GET /job/{jobDisplayId}/payment.

Parameters:

jobSubKey (str | None)

job_sub_key: str | None
model_config = {'alias_generator': <function _to_camel>, 'extra': 'forbid', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ab.api.models.payments.PaymentInfo(*, totalAmount=None, balanceDue=None, paymentStatus=None, payments=None, **extra_data)[source]

Bases: ResponseModel

Payment state for a job — GET /job/{jobDisplayId}/payment.

Parameters:
  • totalAmount (float | None)

  • balanceDue (float | None)

  • paymentStatus (str | None)

  • payments (List[dict] | None)

  • extra_data (Any)

total_amount: float | None
balance_due: float | None
payment_status: str | None
payments: List[dict] | None
model_config = {'alias_generator': <function _to_camel>, 'extra': 'allow', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ab.api.models.payments.PaymentSource(*, sourceId=None, type=None, lastFour=None, brand=None, isDefault=None, **extra_data)[source]

Bases: ResponseModel

Stored payment method — GET /job/{jobDisplayId}/payment/sources.

Parameters:
  • sourceId (str | None)

  • type (str | None)

  • lastFour (str | None)

  • brand (str | None)

  • isDefault (bool | None)

  • extra_data (Any)

source_id: str | None
type: str | None
last_four: str | None
brand: str | None
is_default: bool | None
model_config = {'alias_generator': <function _to_camel>, 'extra': 'allow', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ab.api.models.payments.ACHSessionResponse(*, sessionId=None, clientSecret=None, **extra_data)[source]

Bases: ResponseModel

ACH payment session — POST /job/{jobDisplayId}/payment/ACHPaymentSession.

Parameters:
  • sessionId (str | None)

  • clientSecret (str | None)

  • extra_data (Any)

session_id: str | None
client_secret: str | None
model_config = {'alias_generator': <function _to_camel>, 'extra': 'allow', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ab.api.models.payments.PayBySourceRequest(*, sourceId=None, amount=None)[source]

Bases: RequestModel

Body for POST /job/{jobDisplayId}/payment/bysource.

Parameters:
  • sourceId (str | None)

  • amount (float | None)

source_id: str | None
amount: float | None
model_config = {'alias_generator': <function _to_camel>, 'extra': 'forbid', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ab.api.models.payments.ACHSessionRequest(*, returnUrl=None)[source]

Bases: RequestModel

Body for POST /job/{jobDisplayId}/payment/ACHPaymentSession.

Parameters:

returnUrl (str | None)

return_url: str | None
model_config = {'alias_generator': <function _to_camel>, 'extra': 'forbid', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ab.api.models.payments.ACHCreditTransferRequest(*, amount=None)[source]

Bases: RequestModel

Body for POST /job/{jobDisplayId}/payment/ACHCreditTransfer.

Parameters:

amount (float | None)

amount: float | None
model_config = {'alias_generator': <function _to_camel>, 'extra': 'forbid', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ab.api.models.payments.AttachBankRequest(*, token=None)[source]

Bases: RequestModel

Body for POST /job/{jobDisplayId}/payment/attachCustomerBank.

Parameters:

token (str | None)

token: str | None
model_config = {'alias_generator': <function _to_camel>, 'extra': 'forbid', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ab.api.models.payments.VerifyACHRequest(*, amounts=None)[source]

Bases: RequestModel

Body for POST /job/{jobDisplayId}/payment/verifyJobACHSource.

Parameters:

amounts (List[int] | None)

amounts: List[int] | None
model_config = {'alias_generator': <function _to_camel>, 'extra': 'forbid', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class ab.api.models.payments.BankSourceRequest(*, sourceId=None)[source]

Bases: RequestModel

Body for POST /job/{jobDisplayId}/payment/banksource.

Parameters:

sourceId (str | None)

source_id: str | None
model_config = {'alias_generator': <function _to_camel>, 'extra': 'forbid', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].