借贷记联机脚本

clear

reset

auto_response on

prompt on

load_script "util\pboc_global_fun.txt"

? "全局变量初始化"

g_pse           = "1PAY.SYS.DDF01"

g_ppse          = "2PAY.SYS.DDF01"

g_aid           = a0 00 00 03 33 01 01

g_key_AC        = 11223344006677881122334455007788

g_key_MAC       = 8B4F854F0831FBF2635A212E4DDDB92A

g_key_ENC       = 11220044556677881122330055667788

 

g_key_AC_SM     = 11223344006677881122334455007788

g_key_MAC_SM    = 8B4F854F0831FBF2635A212E4DDDB92A

g_key_ENC_SM    = 11220044556677881122330055667788

 

g_input_9f02    = 000000001000

g_input_9f03    = 000000000000

g_input_95      = 0000000000

g_input_9f1a    = 0156

g_input_5f2a    = 0156

g_input_9f66    = 56000000

                //--  9F66 = 56 00 00 00

                //--字节0

                //--56   ---   0 1 0 1 0 1 1 0

                //----bit     7 =  0   不支持非接触磁条 (MSD)

                //----bit     6 =  1   支持非接触PBOC

                //----bit     5 =  0   不支持非接触qPBOC

                //----bit     4 =  1   支持接触PBOC

                //----bit     3 =  0   终端具有联机能力

                //----bit     2 =  1   支持联机PIN

                //----bit     1 =  1   支持签名

                //----bit     0 =  0   预留

                //--字节1

                //--00   ---   0 0 0 0 0 0 0 0

                //----bit     7 =  0   不要求联机密文

                //----bit     6 =  0   不要求CVM

                //----bit 5 - 0 =  0 0 0 0 0 0   RFU

                //--字节2

                //--00   ---   0 0 0 0 0 0 0 0   RFU

                //--字节3

                //--00   ---   0 0 0 0 0 0 0 0

                //----bit     7 =  0   终端仅支持00版本的fDDA

                //----bit 6 - 0 =  0 0 0 0 0 0 0   RFU

g_input_9f33    = E0E8E8

g_input_9f4E    = "庆丰包子铺月坛店"

g_input_9f4e    = $g_input_9f4e "                                                  "

g_input_9f4e    = hleft( $g_input_9f4e, 14 )

g_input_9f7a    = 00                // 是否是电子现金

g_input_9c      = 00                // 消费类型我们不用管

 

g_input_8a      = 3030

g_input_df69    = 00

g_input_df60    = 00

 

? "借贷记普通交易,消费10元"

? "选择pboc的Aid"

00 a4 04 00 ( $g_aid )

if sw != 9000

    pause

endif

set resp

g_output_pdol   = gettlv( $resp, 6f a5 9f38 )

g_output_9f4d   = gettlv( $resp, 6f a5 bf0c 9f4d )

if $g_output_9f4d != ""

    g_output_log_sfi    = hmid( $g_output_9f4d, 00, 01 )

else

    g_output_log_sfi    = ""

endif

 

// 生成随机数,交易日期,交易时间

call make_something

 

call filling_dol( $g_output_pdol )

 

? "------------GPO"

80 a8 00 00 ( 83 ( $g_current_filling ) )

if sw != 9000

    pause

endif

set resp

rr              = gettlv( $resp, 80 )

g_output_aip    = hleft( $rr, 02 )

g_output_afl    = hmid( $rr, 02 )

 

? "------------读记录"

call read_all_record( $g_output_afl )

 

? "------------GAC1"

 

g_output_cdol1  = gettlv( $g_output_all_record, 8c )

 

call filling_dol( $g_output_cdol1 )

 

80 ae 80 00 ( $g_current_filling )

if sw != 9000

    pause

endif

set resp

rr              = gettlv( $resp, 80 )

g_output_cid    = hleft( $rr, 01 )

g_output_atc    = hmid( $rr, 01, 02 )

g_output_ac     = hmid( $rr, 03, 08 )

g_output_other  = hmid( $rr, 0b )

g_output_cvr    = hmid( $g_output_other, 03, 04 )

 

call calc_ac1( $g_output_cvr )

 

if $g_output_ac != $the_calc_ac

    ?

    ? "GAC1 外部计算ac与卡内不一致"

    pause

else

    ? "GAC1 外部计算ac与卡内一致"

endif

 

? "------------发卡行认证"

call issuer_auth( $g_input_8a, $the_calc_ac )

if sw ! = 90 00

    pause

endif

 

? "------------GAC2"

 

g_output_cdol2  = gettlv( $g_output_all_record, 8d )

 

call filling_dol( $g_output_cdol2 )

 

80 ae 40 00 ( $g_current_filling )

if sw != 9000

    pause

endif

if sw != 9000

    pause

endif

set resp

rr              = gettlv( $resp, 80 )

g_output_cid    = hleft( $rr, 01 )

g_output_atc    = hmid( $rr, 01, 02 )

g_output_ac     = hmid( $rr, 03, 08 )

g_output_other  = hmid( $rr, 0b )

g_output_cvr    = hmid( $g_output_other, 03, 04 )

 

call calc_ac2( $g_output_cvr )

 

if $g_output_ac != $the_calc_ac

    ?

    ? "GAC2 外部计算ac与卡内不一致"

    pause

else

    ? "GAC2 外部计算ac与卡内一致"

endif

 

? "------------读交易日志"

 

if $g_output_log_sfi == ""

    ? "没有交易日志"

else

    ? "有交易日志"

    call check_last_trade_log( $g_output_log_sfi )

endif

 

? "借贷记联机交易成功"

 

end

 

 

 

猜你喜欢

转载自blog.csdn.net/jennyvenus/article/details/22493479