Skip to content

iPaymentPreference

iPaymentPreference is a contract interface that describes the shape of a payee's preferred payment method within the SAIF payment domain. It declares the nested PaymentPreferenceTypes enum and properties for bank-account routing, account-type, and channel-eligibility flags. The interface is defined in this library and implemented by consuming libraries — most likely clsPaymentPreference and clsProviderPaymentPreference in SAIF.Business.Payment.EFT.*

Several members related to international ACH transactions (IAT), Social Security Number, and payee email were present in source but commented out; they are excluded from the active surface per analysis rules.

Purpose

  • Provide a stable contract over payment-preference data that payment-processing workflows can consume without a direct dependency on the implementing class.
  • Declare the PaymentPreferenceTypes enum used across the payment domain.

Context

  • Namespace: SAIF.Business.Payment
  • Assembly/package: SAIF.BOF.Business.Payment

Public members

Member Signature Purpose
PaymentPreferenceType ReadOnly Property PaymentPreferenceType As PaymentPreferenceTypes Returns the payee's preferred payment channel as a PaymentPreferenceTypes enum value.
PaymentPreferenceTypeCode ReadOnly Property PaymentPreferenceTypeCode As String Returns the string code corresponding to the payment preference type.
Payee ReadOnly Property Payee As iPayee Returns the payee associated with this payment preference.
BankRoutingNumber Property BankRoutingNumber As String The ABA routing/transit number for the payee's bank.
BankAccountNumber Property BankAccountNumber As String The payee's bank account number.
BankAccountTypeCode Property BankAccountTypeCode As String Code identifying the bank account type (for example, checking or savings).
IsBusinessAccount Property IsBusinessAccount As Boolean Indicates the account is a business account.
SendEmailNotification Property SendEmailNotification As Boolean Indicates whether email notification should be sent for payments.
AllowDebitCard ReadOnly Property AllowDebitCard As Boolean Indicates debit-card payment is allowed for this payee; see BR-PAY-02.

Behavioral notes

  • AllowDebitCard is a ReadOnly Property; the condition governing this flag is defined and enforced by the implementing class.*
  • Commented-out members (IAT fields, SSN, payee email, PayeeTypeCode, PayeeID, Name, IsIAT, and related fields) are not part of the active contract and must not be treated as public surface.
  • The nested PaymentPreferenceTypes enum (Check, DirectDeposit, DebitCard, UnSpecified) is declared inside this interface; see PaymentPreferenceTypes.

Constraints and usage notes

  • Implementations of this interface must reside outside this library (for example, clsPaymentPreference and clsProviderPaymentPreference in SAIF.Business.Payment.EFT).*

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • Business\SAIF.Business.Payment\IPaymentPreference.vb