NFX.Web.Pay NamespaceNFX Class Library

[This is preliminary documentation and is subject to change.]

 
Classes

  ClassDescription
Public classActualAccountData
Public classAddress
Primitive (maybe temporary) implementation of IAddress
Public classConfigBasedCurrencyMarket
Provides rate conversion services based on an APP config file
Public classConnectionParameters
Public classPaymentException
General NFX payment system specific exception
Public classPaySession
Represents session of PaySystem. All PaySystem operation requires session as mandatory parameter
Public classPaySystem
Base class for IPaySystemImplementation implementation. Instances of descendants of this class is typically created and configured in PaySystemStarter class. Then particular pay system can be obtained from PaySystem.Instances[PAY_SYSTEM_NAME] indexer
Public classPaySystemHost
Public classPaySystemStarter
Represents a starter that launches payment systems on startup
Public classPaySystemWithStaticFees
Public classPayWebTerminal
Public classTransaction
Represents an abstraction of financial operation performed with pay system
Public classTransaction Operation
Structures

  StructureDescription
Public structureAccount
Represents an account data vector that is - type of account identity (i.e. 'customer'), identity id (i.e. customer number '125') and account id within this identity (i.e. ref to customer #125 card '223322.....'). May also represent temporary web terminal token generated by IWebPayTerminal in which case IsWebTerminalToken = true
Interfaces

  InterfaceDescription
Public interfaceIActualAccountData
Represents actual data for supplied account object. Data represented by this interface is ALWAYS TRANSITIVE in memory as some fields are either never stored permanently (i.e. CVC) or ciphered in the store (account number)
Public interfaceIAddress
Represents address
Public interfaceICurrencyMarket
Represents a market that can convert buy/sell currencies
Public interfaceIPaySessionContext
Denotes a context of transaction execution. Can be used to provide additional information
Public interfaceIPaySystem
Describes an entity that can perform pay functions (i.e. charge, transfer)
Public interfaceIPaySystemHost
Represents a process-global entity that resolves account handle into actual account data and fetches existing transactions. This design provides an indirection level between pay systems (like Stripe, PayPal, Bank etc.) and particular application data store implementation as it decouples system-internal formats of transaction and account storage from provider-internal data (i.e. PayPal payment token string). The instance of implementor is a singleton accessible via PaySystem.PaySystemHost
Public interfaceIPaySystemHostImplementation
Denotes an implementation of IPaySystemHost
Public interfaceIPaySystemImplementation
Describes an entity that can perform pay functions with several usefull interfaces in NFX style
Public interfaceIPayWebTerminal
Represents a web terminal for pay systems that tokenize sensitive CC data via a call to provider so that actual CC numbers never touch our servers in a plain form, instead tokens/nonces are supplied back by the provider tokenizer. This is needed for PCI compliance.
Enumerations

  EnumerationDescription
Public enumerationAccountType
Represents account type because some pay services (i.e. Stripe) requires this info
Public enumerationProcessingFeeKind
Denotes processing fee types, such as: included in amount and surcharged.
Public enumerationTransaction OperationType
Public enumerationTransactionStatus
Denotes transaction status
Public enumerationTransactionType
Denotes transaction types, such as: charges, refunds, transfers