Business-OCV

 view release on metacpan or  search on metacpan

OCV.pm  view on Meta::CPAN

(

	# transaction response (same for all "transactions")
	TT_TRANS_RESPONSE() =>
		[
			StartFlag	=> 'A1',
			Length		=> 'A-4',	# right-justify the length
			Type		=> 'A1',
			ClientID	=> 'A' . CLIENTIDLEN,

			TxnRef			=> 'A' . TXNREFLEN, 
			Result			=> 'A1', 
			ResponseCode	=> 'A2',
			ResponseText	=> 'A20',
			AccountNum		=> 'A4',
			STAN			=> 'A6',
			AuthCode		=> 'A6',
			TerminalID		=> 'A8',	# also referred to as CATID
			MerchantID		=> 'A15',	# also referred to as CAID
			Retry			=> 'A1',
			SettleDate		=> 'A8',
			CardBin			=> 'A2',
			CardDesc		=> 'A20',
			PreAuth			=> 'A12',
			AcquirerID		=> 'A1'
		],

	TT_LOGON() => 
		[
			StartFlag	=> 'A1',
			Length		=> 'A-4',
			Type		=> 'A1',
			ClientID	=> 'A' . CLIENTIDLEN,

			UnitID			=> 'A1',
			VPPNum			=> 'A3',
			ResponseCode	=> 'A2',
			ResponseText	=> 'A20'
		],

	# the statistics request has one of two possible response messages
	TT_STATS() . STATS_CURRENT() =>
		[
			StartFlag	=> 'A1',
			Length		=> 'A-4',
			Type		=> 'A1',
			ClientID	=> 'A' . CLIENTIDLEN,

			SubCode			=> 'A1',
			LinkStatus		=> 'A1',
			LinkText		=> 'A20',
			PinPadStatus	=> 'A1',
			NumPhysPinPads	=> 'A1',
			NumVirtPinPads	=> 'A3',
			NumTransTx		=> 'A8',
			NumTransRx		=> 'A8',
			NumClients		=> 'A3',
			PeakClients		=> 'A3',
			StartTime		=> 'A20',
			ElapsedTime		=> 'A20',
			RejectQTimeout	=> 'A4',
			RejectParameter	=> 'A4',
			RejectOffline	=> 'A4',
			RejectBusy		=> 'A4',
			RejectLink		=> 'A4',
			NumStatusReq	=> 'A4',
			EFTSvrAddress	=> 'A15',
			EFTSvrPort		=> 'A4',
			PinPadPort		=> 'A12',
			PinPadTimeout	=> 'A3',
			NetworkName		=> 'A20',
			VPPsPeak		=> 'A3',
			VPPsCurrent		=> 'A3',
			TPMCurrent		=> 'A3',
			TPMPeak			=> 'A3'
		],

	TT_STATS() . STATS_PERMANENT() =>
		[
			StartFlag	=> 'A1',
			Length		=> 'A-4',
			Type		=> 'A1',
			ClientID	=> 'A' . CLIENTIDLEN,

			SubCode		=> 'A1',
			StartCount	=> 'A3',
			TPMPeak		=> 'A30',
			VPPsPeak	=> 'A30',
			PinPadQPeak	=> 'A30',
			ClientPeak	=> 'A30'
		],

	TT_VPPCONFIG() =>
		[
			StartFlag	=> 'A1',
			Length		=> 'A-4',
			Type		=> 'A1',
			ClientID	=> 'A' . CLIENTIDLEN,

			PinPadID	=> 'A',		# which physical pin pad?
			VPPNum		=> 'A3',	# which virtual pin pad?
			ResponseCode	=> 'A2',
			ResponseText	=> 'A20'
		],

	TT_VPPSTATUS() =>
		[
			StartFlag	=> 'A1',
			Length		=> 'A-4',
			Type		=> 'A1',
			ClientID	=> 'A' . CLIENTIDLEN,

			PinPadID	=> 'A',		# which physical pin pad?
			VPPNum		=> 'A3',	# which virtual pin pad?
			Status		=> 'A',		# current status (see vppstatus()
			NetworkType	=> 'A',
			NetworkID	=> 'A11',
			MerchantID	=> 'A15',
			TerminalID	=> 'A8',
			ClientType	=> 'A',		# unused
			Enabled		=> 'A',
			AccountNum	=> 'A4'
		],

	# the Totals response consists of multiple parts: the main message, 
	# and 16 Totals submessages.
	TT_TOTALS() =>
		[
			StartFlag	=> 'A1',
			Length		=> 'A-4',



( run in 0.775 second using v1.01-cache-2.11-cpan-364913b4093 )