SAIF.Business.Payment.EFT overview¶
Documentation context: Packaged Component (NuGet)
SAIF.Business.Payment.EFT is the primary implementation library for ACH/EFT electronic payment processing in the SAIF BOF ecosystem. It is the largest and most database-interaction-heavy of the payment-domain libraries, providing concrete business objects for bank account management, EFT authorization, debit-card enrollment, payment detail/allocation, ACH batch generation, payment addenda, and payment return handling. It fulfills the IBankAccount and iPaymentPreference interface contracts defined in SAIF.Business.Payment.
Purpose¶
- Implements full CRUD lifecycle for EFT-related entities (bank accounts, payment details, EFT authorizations, debit-card enrollment requests, payment returns, and supporting code tables) against an Oracle database via the SAIF BOF
IBusinessCriteriapattern. - Consumed by downstream application and service layers that orchestrate ACH/EFT payments, claim payment workflows, and ePay integrations.
Responsibilities¶
- Manage bank account records with masking and account-type classification (
clsBankAccount/clsBankAccountCollection). - Determine payee and provider payment-method preferences — check, direct deposit, or debit card (
clsPaymentPreference,clsProviderPaymentPreference). - Record payee EFT authorization and consent (
clsEFTAuthorization/clsEFTAuthorizationCollection). - Process and track debit-card payment enrollment requests (
clsDebitCardEnrollmentRequest). - Record individual payment line items and their allocation across claim/benefit categories (
clsPaymentDetail,clsPaymentAllocation). - Generate and track ACH batch/file identifiers and payment batch numbers (
clsAchFileID,clsPaymentBatchNumber). - Attach NACHA addenda records to EFT transactions (
clsPaymentAddenda). - Process returned/failed EFT payments and their classification by reason, status, and type (
clsPaymentReturnand return-code tables). - Compute dynamically calculated balance values at runtime (
DynamicallyCalculatedBalanceInfoFactory). - Expose a comprehensive set of code-table lookup classes supporting all EFT/ACH reference data.
Key components¶
clsBankAccount/clsBankAccountCollection: concrete bank-account business object implementingIBankAccount.clsPaymentPreference/clsProviderPaymentPreference: payment-method preference objects implementingiPaymentPreference.clsEFTAuthorization/clsEFTAuthorizationCollection: EFT authorization/consent records stored inPAYMENT_AUTHORIZATION.clsDebitCardEnrollmentRequest/clsDebitCardEnrollmentRequestCollection: debit-card enrollment tracking.clsPaymentDetail/clsPaymentDetailCollection: individual payment line items.clsPaymentAllocation/clsPaymentAllocationCollection: payment allocations across benefit categories.clsPaymentAddenda/clsPaymentAddendaCollection: NACHA ACH addenda records.clsPaymentReturn/clsPaymentReturnCollection+ return code tables: full ACH return-handling subsystem.clsAchFileID/clsPaymentBatchNumber: ACH batch/file identifier tracking.- Transfer/session DTOs:
clsBankAccountTransfer,clsPaymentAuthorizationSessionTransfer,clsSessionTransfer. DynamicallyCalculatedBalanceInfo/DynamicallyCalculatedBalanceInfoFactory: runtime balance calculation.- Eighteen code-table lookup classes covering all ACH/EFT reference data.
Related documentation¶
- Index
- Architecture
- Dependencies
- Operations and processes
- Business rules
- Database tables
- SQL catalog
- API reference
- Configuration
Sources¶
Business\SAIF.Business.Payment.EFT\SAIF.BOF.Business.Payment.EFT.vbprojBusiness\SAIF.Business.Payment.EFT\SAIF.BOF.Business.Payment.EFT.nuspecBusiness\SAIF.Business.Payment.EFT\clsBankAccount.vbBusiness\SAIF.Business.Payment.EFT\clsPaymentPreference.vbBusiness\SAIF.Business.Payment.EFT\clsEFTAuthorization.vbBusiness\SAIF.Business.Payment.EFT\clsPaymentDetail.vbBusiness\SAIF.Business.Payment.EFT\clsPaymentReturn.vbBusiness\SAIF.Business.Payment.EFT\DynamicallyCalculatedBalanceInfoFactory.vb