From 0d842ce0a1fca792c71f6b3fc49a0d49ccb91f49 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 16 Jun 2016 15:41:43 +0000 Subject: [PATCH] [SIGNED-OFF] Bug 16757 - Add support for Fee Paid to SIP cli emulator for testing Signed-off-by: Rhonda Kuiper --- misc/sip_cli_emulator.pl | 79 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/misc/sip_cli_emulator.pl b/misc/sip_cli_emulator.pl index f1799ee..49114bb 100755 --- a/misc/sip_cli_emulator.pl +++ b/misc/sip_cli_emulator.pl @@ -46,6 +46,13 @@ my $item_identifier; my $fee_acknowledged = 0; +my $fee_type; +my $payment_type; +my $currency_type; +my $fee_amount; +my $fee_identifier; +my $transaction_id; + my $terminator = q{}; my @messages; @@ -66,6 +73,13 @@ GetOptions( "s|summary=s" => \$summary, + "fee-type=s" => \$fee_type, + "payment-type=s" => \$payment_type, + "currency-type=s" => \$currency_type, + "fee-amount=s" => \$fee_amount, + "fee-identifier=s" => \$fee_identifier, + "transaction-id=s" => \$transaction_id, + "t|terminator=s" => \$terminator, "m|message=s" => \@messages, @@ -218,6 +232,32 @@ my $handlers = { 'fee_acknowledged', ], }, + fee_paid => { + name => 'Fee Paid', + subroutine => \&build_fee_paid_command_message, + parameters => { + transaction_date => $transaction_date, + fee_type => $fee_type, + payment_type => $payment_type, + currency_type => $currency_type, + fee_amount => $fee_amount, + institution_id => $location_code, + patron_identifier => $patron_identifier, + terminal_password => $terminal_password, + patron_password => $patron_password, + fee_identifier => $fee_identifier, + transaction_id => $transaction_id, + }, + optional => [ + 'fee_type', # has default + 'payment_type', # has default + 'currency_type', #has default + 'terminal_password', + 'patron_password', + 'fee_identifier', + 'transaction_id', + ], + }, }; my $data = run_command_message('login'); @@ -457,6 +497,36 @@ sub build_renew_command_message { . build_field( FID_FEE_ACK, $fee_acknowledged, { optional => 1 } ); } +sub build_fee_paid_command_message { + my ($params) = @_; + + my $transaction_date = $params->{transaction_date}; + my $fee_type = $params->{fee_type} || '01'; + my $payment_type = $params->{payment_type} || '00'; + my $currency_type = $params->{currency_type} || 'USD'; + my $fee_amount = $params->{fee_amount}; + my $institution_id = $params->{location_code}; + my $patron_identifier = $params->{patron_identifier}; + my $terminal_password = $params->{terminal_password}; + my $patron_password = $params->{patron_password}; + my $fee_identifier = $params->{fee_identifier}; + my $transaction_id = $params->{transaction_id}; + + return + FEE_PAID + . $transaction_date + . $fee_type + . $payment_type + . $currency_type + . build_field( FID_FEE_AMT, $fee_amount ) + . build_field( FID_INST_ID, $institution_id ) + . build_field( FID_PATRON_ID, $patron_identifier ) + . build_field( FID_TERMINAL_PWD, $terminal_password, { optional => 1 } ) + . build_field( FID_PATRON_PWD, $patron_password, { optional => 1 } ) + . build_field( FID_FEE_ID, $fee_identifier, { optional => 1 } ) + . build_field( FID_TRANSACTION_ID, $transaction_id, { optional => 1 } ); +} + sub build_field { my ( $field_identifier, $value, $params ) = @_; @@ -500,6 +570,13 @@ Options: -fa --fee-acknowledged Sends a confirmation of checkout fee + --fee-type Fee type for Fee Paid message, defaults to '01' + --payment-type Payment type for Fee Paid message, default to '00' + --currency-type Currency type for Fee Paid message, defaults to 'USD' + --fee-amount Fee amount for Fee Paid message, required + --fee-identifier Fee identifier for Fee Paid message, optional + --transaction-id Transaction id for Fee Paid message, optional + -m --message SIP2 message to execute Implemented Messages: @@ -509,6 +586,6 @@ Options: checkout checkin renew - + fee_paid / } -- 2.1.4