clsEFTAuthorization¶
clsEFTAuthorization is the EFT authorization/consent business object in SAIF.Business.Payment.EFT. It persists and retrieves payee electronic-funds-transfer authorization records in the PAYMENT_AUTHORIZATION Oracle table. Authorization records establish a payee's consent to receive payments via ACH/EFT and carry all required NACHA fields including customer identity, bank account reference, prenote tracking, IAT flags, and revocation status.
Purpose¶
- Create, retrieve, update, and delete EFT authorization records in
PAYMENT_AUTHORIZATION. - Support multiple retrieval variants: by sequence number, by auto-pay confirmation number, and (possibly) by CustomerID via a stored procedure.
- Track prenote success/failure dates, revocation status, and IAT (International ACH Transaction) address fields.
Context¶
- Namespace:
SAIF.Business.Payment.EFT - Assembly/package:
SAIF.BOF.Business.Payment.EFT(NuGet) - Implements:
IBusinessCriteria - Inherits:
clsBusinessBase(SAIF.BOF.Framework)
Public members¶
| Member | Signature | Purpose |
|---|---|---|
PaymentAuthorizationSeqNum |
Property PaymentAuthorizationSeqNum As Decimal |
Primary key for the authorization record. |
AuthorizationTypeCode |
Property AuthorizationTypeCode As String |
Code identifying the authorization type (FK to AUTHORIZATION_TYPE_CODE). |
EnrollRequestSeqNum |
Property EnrollRequestSeqNum As Decimal |
FK to DEBIT_CARD_ENROLLMENT_REQUEST. |
AuthDate |
Property AuthDate As Date |
Date the authorization was established. |
BankAccountSeqNum |
Property BankAccountSeqNum As Decimal |
FK to BANK_ACCOUNT. |
CustomerID |
Property CustomerID As String |
Payee customer identifier. |
CustomerSecondID |
Property CustomerSecondID As String |
Secondary customer identifier. |
CustomerTypeCode |
Property CustomerTypeCode As String |
Customer type code (FK to CUSTOMER_TYPE_CODE). |
PaymentSourceSystemCode |
Property PaymentSourceSystemCode As String |
Source system code for the payment. |
PrenoteRequiredFlag |
Property PrenoteRequiredFlag As String |
Indicates whether a prenote is required before live payment. |
PrenoteSuccessDate |
Property PrenoteSuccessDate As Date |
Date the prenote succeeded. |
PrenoteFailDate |
Property PrenoteFailDate As Date |
Date the prenote failed. |
RevokeReasonCode |
Property RevokeReasonCode As String |
Revocation reason code (FK to REVOKE_REASON_CODE). |
RevokeDate |
Property RevokeDate As Date |
Date the authorization was revoked. |
AutoPayConfirmationNum |
Property AutoPayConfirmationNum As String |
Auto-pay confirmation number. |
IATFlag |
Property IATFlag As String |
International ACH Transaction flag. |
IATCity |
Property IATCity As String |
IAT city address field. |
IATStreetAddress |
Property IATStreetAddress As String |
IAT street address field. |
PaymentDayOFMonthNum |
Property PaymentDayOFMonthNum As Decimal |
Day of month for scheduled payments. |
CustomerEmailNotificationFlag |
Property CustomerEmailNotificationFlag As String |
Email notification preference. |
UpdateDate |
Property UpdateDate As Date |
Last update date. |
UpdateUser |
Property UpdateUser As String |
User who last updated the record. |
Behavioral notes¶
BeforeRetrieveselects among three variants: (A) retrieve byPaymentAuthorizationSeqNum, (B) retrieve byAutoPayConfirmationNum, or (C) CustomerID branch that callsPK72970_EPAY.retrieve_EFTAuth_ByCustomerIDstored procedure (status: not-found in this environment — possibly dead code).**InsertSQLinserts 33 parameters intoPAYMENT_AUTHORIZATION;RowsAffected = 1enforced.*UpdateSQLupdates 30 parameters including revoke status and IAT fields;RowsAffected = 1enforced.*DeleteSQLhard-deletes the row fromPAYMENT_AUTHORIZATION(unlikeclsBankAccountwhich soft-deletes).*clsEFTAuthorizationCollection.BeforeRetrievecallsBuildSQL()to append dynamicWHEREpredicates (by bank account ID, date ranges, customer IDs, authorization type, prenote flags) andORDER BY auth_date DESC.*
Constraints and usage notes¶
- An EFT authorization record must exist before payment detail records can be electronically disbursed to the payee.
- The CustomerID retrieval branch references a stored procedure whose Oracle source was not available in this environment; treat that path as potentially dead code until confirmed.**
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
Business\SAIF.Business.Payment.EFT\clsEFTAuthorization.vbBusiness\SAIF.Business.Payment.EFT\clsEFTAuthorizationCollection.vb