Namespace NFX.Web.Pay
Classes
ActualAccountData
Address
Primitive (maybe temporary) implementation of IAddress
ConfigBasedCurrencyMarket
Provides rate conversion services based on an APP config file
ConnectionParameters
PaymentException
General NFX payment system specific exception
PaySession
Represents session of PaySystem. All PaySystem operation requires session as mandatory parameter
PaySystem
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
PaySystemHost
PaySystemStarter
Represents a starter that launches payment systems on startup
PaySystemWithStaticFees
PayWebTerminal
Transaction
Represents an abstraction of financial operation performed with pay system
Transaction.Operation
Structs
Account
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
IActualAccountData
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)
IAddress
Represents address
ICurrencyMarket
Represents a market that can convert buy/sell currencies
ICurrencyMarketImplementation
IPaySessionContext
Denotes a context of transaction execution. Can be used to provide additional information
IPaySystem
Describes an entity that can perform pay functions (i.e. charge, transfer)
IPaySystemHost
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
IPaySystemHostImplementation
Denotes an implementation of IPaySystemHost
IPaySystemImplementation
Describes an entity that can perform pay functions with several usefull interfaces in NFX style
IPaySystemWithFee
Pay system with fee
IPayWebTerminal
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.
Enums
AccountType
Represents account type because some pay services (i.e. Stripe) requires this info
ProcessingFeeKind
Denotes processing fee types, such as: included in amount and surcharged.
Transaction.OperationType
TransactionStatus
Denotes transaction status
TransactionType
Denotes transaction types, such as: charges, refunds, transfers