ibilling.client
Interface SessionConnection

All Known Implementing Classes:
RMISessionConnection, XMLSessionConnection

public interface SessionConnection

Abstraction of communication mechanism/protocol between client and server. Used internally by Session object.

Since:
1.0

Field Summary
static java.lang.String CLIENT_EMAIL_DOMAIN
          E-mail domain (e.g.
static java.lang.String CLIENT_EMAIL_ENCODED
          MD5 hash in hexadecimal form of lowercase version of e-mail.
static java.lang.String CLIENT_IP_ADDRESS
          Client IP Address (IP address of customer placing order)
static java.lang.String CLIENT_PASSWORD_ENCODED
          MD5 hash in hexadecimal form of lowercase version of your customer's password.
static java.lang.String CLIENT_USER_NAME_ENCODED
          MD5 hash in hexadecimal form of lowercase version of your customer's user name.
static java.lang.String CONNECTION_TYPE
          Type of connection: xml or rmi.
static java.lang.String DEBUG
          For bedug mode
static java.lang.String FIND_ACCOUNT_TRANSACTION
          Name of the query to search AccountTransactions
static java.lang.String FIND_CUSTOMER_ACCOUNT
          Name of the query to search CustomerAccounts
static java.lang.String FIND_PAYMENT_OPTION
          Name of the query to search PaymentOptions
static java.lang.String FIND_PAYMENT_PLAN
          Name of the query to search PaymentPlans
static java.lang.String KEYSTORE_PASSWORD
          Keystore password (for SSL).
static java.lang.String KEYSTORE_PATH
          Path to keystore (for SSL).
static java.lang.String LOAD_OBJECT
          Name of the query to load ClientObject
static java.lang.String PAYMENT_OPTION_VERIFICATION_AMOUNT
          Amount authorized to verify new payment options (no charge is made).
static java.lang.String PROCESSOR_HOST
          HTTPs URL or JNDI path to the processing server.
 
Method Summary
 java.util.List<ClientObject> find(SessionContext sessionContext, java.lang.String queryName, java.util.Map<java.lang.String,java.lang.Object> parameters)
          Communicates find message to server
 void login(java.lang.Integer merchantAccountCode, java.lang.String password, java.util.Map<java.lang.String,java.lang.Object> config)
          Communicates login message to the server
 void logout()
          Communicates logout message to the server for a single CustomerAccount
 void save(SessionContext sessionContext, java.util.List<CustomerAccount> customerAccounts)
          Communicates save message to the server for a list of CustomerAccounts
 

Field Detail

DEBUG

static final java.lang.String DEBUG
For bedug mode

See Also:
Constant Field Values

PROCESSOR_HOST

static final java.lang.String PROCESSOR_HOST
HTTPs URL or JNDI path to the processing server.

See Also:
Constant Field Values

CONNECTION_TYPE

static final java.lang.String CONNECTION_TYPE
Type of connection: xml or rmi.

See Also:
Constant Field Values

PAYMENT_OPTION_VERIFICATION_AMOUNT

static final java.lang.String PAYMENT_OPTION_VERIFICATION_AMOUNT
Amount authorized to verify new payment options (no charge is made).

See Also:
Constant Field Values

KEYSTORE_PATH

static final java.lang.String KEYSTORE_PATH
Path to keystore (for SSL).

See Also:
Constant Field Values

KEYSTORE_PASSWORD

static final java.lang.String KEYSTORE_PASSWORD
Keystore password (for SSL).

See Also:
Constant Field Values

FIND_CUSTOMER_ACCOUNT

static final java.lang.String FIND_CUSTOMER_ACCOUNT
Name of the query to search CustomerAccounts

See Also:
Constant Field Values

FIND_PAYMENT_OPTION

static final java.lang.String FIND_PAYMENT_OPTION
Name of the query to search PaymentOptions

See Also:
Constant Field Values

FIND_ACCOUNT_TRANSACTION

static final java.lang.String FIND_ACCOUNT_TRANSACTION
Name of the query to search AccountTransactions

See Also:
Constant Field Values

FIND_PAYMENT_PLAN

static final java.lang.String FIND_PAYMENT_PLAN
Name of the query to search PaymentPlans

See Also:
Constant Field Values

LOAD_OBJECT

static final java.lang.String LOAD_OBJECT
Name of the query to load ClientObject

See Also:
Constant Field Values

CLIENT_IP_ADDRESS

static final java.lang.String CLIENT_IP_ADDRESS
Client IP Address (IP address of customer placing order)

See Also:
Constant Field Values

CLIENT_EMAIL_DOMAIN

static final java.lang.String CLIENT_EMAIL_DOMAIN
E-mail domain (e.g. hotmail.com, aol.com)

See Also:
Constant Field Values

CLIENT_EMAIL_ENCODED

static final java.lang.String CLIENT_EMAIL_ENCODED
MD5 hash in hexadecimal form of lowercase version of e-mail. Used by carderEmail output to check against database of high risk e-mails. Must convert e-mail to lowercase before passing to MD5 hash function. MD5 hash is used to protect privacy of customer while having a unique identifier for the e-mail.

See Also:
Constant Field Values

CLIENT_USER_NAME_ENCODED

static final java.lang.String CLIENT_USER_NAME_ENCODED
MD5 hash in hexadecimal form of lowercase version of your customer's user name. Used by highRiskUsername output to check against database of high risk user names. Must convert user name to lowercase before passing to MD5 hash function.

See Also:
Constant Field Values

CLIENT_PASSWORD_ENCODED

static final java.lang.String CLIENT_PASSWORD_ENCODED
MD5 hash in hexadecimal form of lowercase version of your customer's password. Used by highRiskPassword output to check against database of high risk passwords. Must convert password to lowercase before passing to MD5 hash function.

See Also:
Constant Field Values
Method Detail

login

void login(java.lang.Integer merchantAccountCode,
           java.lang.String password,
           java.util.Map<java.lang.String,java.lang.Object> config)
Communicates login message to the server

Parameters:
merchantAccountCode - merchant account code
password - password
config - configuration Map usually indicating connection URL and SSL related parameters

logout

void logout()
Communicates logout message to the server for a single CustomerAccount


save

void save(SessionContext sessionContext,
          java.util.List<CustomerAccount> customerAccounts)
          throws ClientException
Communicates save message to the server for a list of CustomerAccounts

Parameters:
customerAccounts - List of CustomerAccounts to be saved
Throws:
ClientException - in case of communication or validation issues

find

java.util.List<ClientObject> find(SessionContext sessionContext,
                                  java.lang.String queryName,
                                  java.util.Map<java.lang.String,java.lang.Object> parameters)
                                  throws ClientException
Communicates find message to server

Parameters:
queryName - name of the query to be executed by the server
parameters - search parameters to use within the query
Returns:
List of objects that matched search criteria
Throws:
ClientException - in case of communication or validation issues