Skip to content

SAIF.Business.Payment overview

Documentation context: NuGet package (nuspec-referenced)

SAIF.Business.Payment is a component-tier BOF business library in the payment domain. It defines shared contracts (IBankAccount, iPaymentPreference) used by downstream payment-processing libraries and hosts the claim-payee-eligibility business object (clsEligPayeeClaim/clsEligPayeeClaimCollection). This is a contract-only library: despite the presence of IBusinessCriteria nested classes, no live SQL is executed; both business objects use in-memory BOF factory scaffolding.

Purpose

  • Define the IBankAccount and iPaymentPreference contracts that describe the public shape of bank-account and payment-preference data, enabling implementing libraries (primarily SAIF.Business.Payment.EFT) to fulfill the contracts independently.*
  • Model claim-level payee eligibility via clsEligPayeeClaim and clsEligPayeeClaimCollection.
  • Distribute as a NuGet package consumed by downstream payment and claim libraries.

Responsibilities

  • Declare the IBankAccount read-only interface (routing number, account number, account-type flags).
  • Declare the iPaymentPreference interface and the PaymentPreferenceTypes enum (Check, DirectDeposit, DebitCard, UnSpecified).
  • Provide clsEligPayeeClaim as the business object representing an eligible payee for a claim payment.
  • Provide clsEligPayeeClaimCollection as the in-memory collection of eligible-payee records for a claim.

Key components

  • clsEligPayeeClaim: BOF business object inheriting clsBusinessBase; models a single eligible-payee-for-claim record.
  • clsEligPayeeClaimCollection: BOF collection inheriting clsBusinessCollectionBase; assembles an in-memory list of eligible payees for a given claim.
  • IBankAccount: read-only contract interface describing a bank account's public shape.
  • iPaymentPreference: contract interface describing a payee's preferred payment method.
  • PaymentPreferenceTypes: enum providing payment-method type codes.

Note: Statements marked with * are inferred from code behavior rather than explicit documentation or comments.

Sources

  • Business\SAIF.Business.Payment\clsEligPayeeClaim.vb
  • Business\SAIF.Business.Payment\clsEligPayeeClaimCollection.vb
  • Business\SAIF.Business.Payment\IBankAccount.vb
  • Business\SAIF.Business.Payment\IPaymentPreference.vb
  • Business\SAIF.Business.Payment\SAIF.BOF.Business.Payment.nuspec