本发明涉及信息安全领域,尤其涉及一种风险控制的实现方法及终端。
背景技术:
目前,随着大规模集成电路技术、电子计算机技术、软件工程技术和通信技术的发展,以此为基础发展了非接触式智能卡技术也得以迅速发展。非接触式支付卡的正面印有帐户持有者的姓名和帐号,背面有一个包含帐户信息的磁条,非接触式支付卡内部嵌入了很小的“rfid”(射频识别)微芯片。芯片离终端距离足够近时,终端就可以从芯片中获取信息(如账号和姓名)。所以,持卡者无需在标准信用卡读取器中刷信用卡的磁条,只需在距离瞬间支付终端几厘米的位置拿着卡即可,而这种卡始终处于持卡者的手中。终端将通过电话线向发行该卡的银行发送信息,并检查卡上的账户余额,确认是否足够支付本次购物。如果余额足够,银行将向终端发出确认编号,交易被准许,持卡者就可以通过。
目前大部分的非接支付交易中,终端对某类应用的风险管理监控在交易发起前就已经确定。如终端刷到与先前应用环境不同的卡片时,需要修改内部设置好的先前应用的风险控制机制,即需要对终端重新下载当前应用的风险管理参数,但是这样会影响到先前应用的风险控制机制,使用较为繁琐。
技术实现要素:
本发明的目的是为了克服现有技术的不足,提供一种风险控制的方法及终端。
本发明提供了一种风险控制的实现方法,包括:
当终端进行预处理之后且询卡成功时,执行以下步骤:
步骤s1:所述终端根据目录选择方式给卡片发送近场支付系统环境命令,当接收到所述卡片返回的第一响应时执行步骤s2;
步骤s2:所述终端根据所述第一响应中的文件控制模板中的信息构建应用列表;
步骤s3:所述终端根据预设方法从所述应用列表中选择一个有效的卡片应用,并向所述卡片发送卡片应用标识命令,当接收到所述卡片返回的第二响应时执行步骤s4;
步骤s4:所述终端根据预先设置的第三标识判断选择的卡片应用是否支持动态风险限额,是则执行步骤s5,否则执行步骤s7;
步骤s5:所述终端根据所述第二响应中的卡片应用计划标识在终端支持的终端应用计划标识中寻找匹配的终端应用计划标识,如找到则执行步骤s6,如未找到则执行步骤s7;
步骤s6:所述终端通过与所述寻找到的终端应用计划标识对应的风险管理参数进行终端风险控制,将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7;
步骤s7:所述终端根据当前风险管理参数判断所述选择的卡片应用是否允许被运行,是则执行步骤s8,否则将所述选择的卡片应用设为无效,返回步骤s3;
步骤s8:所述终端根据选择的卡片应用执行对应交易。
进一步地,所述步骤s2包括:
步骤s21:所述终端判断所述第一响应中的状态码是否为第一预设数据,是则执行步骤s22,否则结束;
步骤s22:所述终端判断所述第一响应中的文件控制模板中是否存在目录入口点,是则执行步骤s23,否则结束;
步骤s23:所述终端从所述文件控制模板中选择一个未处理的目录入口点并将其标记为已处理,执行步骤s24;
步骤s24:所述终端判断所述文件控制模板中的卡片应用目录文件名与终端支持的终端应用标识名是否匹配,是则执行步骤s25,否则执行步骤s26;
步骤s25:所述终端将匹配的卡片应用目录文件名、卡片应用名称和对应的终端应用标识添加到应用列表中,执行步骤s26;
步骤s26:所述终端判断文件控制模板中是否还有其他未处理的目录入口点,是则返回步骤s23,否则执行步骤s3。
进一步地,所述步骤s3包括:
步骤s31:所述终端判断所述应用列表是否为空,是则结束,否则执行步骤s32;
步骤s32:所述终端判断所述应用列表中是否只有一个卡片应用名称,是则执行步骤s33,否则执行步骤s34;
步骤s33:所述终端根据所述应用列表中的卡片应用名称选择相应的卡片应用,执行步骤s35;
步骤s34:所述终端根据文件控制模板中的最高卡片应用优先级选择相应的未处理的卡片应用,执行步骤s35;
步骤s35:所述终端向所述卡片发送卡片应用标识命令,当接收到所述卡片返回的第二响应时执行步骤s36;
步骤s36:所述终端判断所述第二响应中的状态码是否为第一预设值,是则执行步骤s4,否则返回步骤s31;
相应的,将所述选择的卡片应用设为无效具体为:将应用列表中选择的卡片应用设为已处理。
进一步地,所述步骤s6包括:
步骤s61:所述终端初始化与所述寻找到的终端应用计划标识对应的风险管理参数;
步骤s62:所述终端根据所述风险管理参数判断风险管理执行条件是否符合要求,是则设置与所述寻找到的终端应用计划标识对应的风险管理参数,并将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7,否则执行步骤s7。
进一步地,所述风险管理参数包括所述非接应用不允许标识;
所述设置与所述寻找到的终端应用计划标识对应的风险管理参数具体为:所述终端将与所述寻找到的终端应用计划标识对应的非接应用不允许标识置位;
所述步骤s7具体为:所述终端判断当前风险管理参数中的非接应用不允许标识是否置位,是则将所述选择的卡片应用设为无效,返回步骤s3,否则执行步骤s8。
进一步地,所述终端初始化与所述寻找到的终端应用计划标识对应的风险管理参数包括:所述终端获取授权金额并保存;将所述非接应用不允许标识、持卡人验证标识、需要联机密文传输标识复位。
进一步地,所述步骤s62包括:
步骤a1:所述终端判断选择的卡片应用是否支持单位货币,是则执行步骤a2,否则执行步骤s7;
步骤a2:所述终端判断授权金额是否存在且为单位货币,是则执行步骤a3,否则执行步骤s7;
步骤a3:所述终端将所述需要联机密文传输标识置位,并将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7。
进一步地,所述步骤s62包括:
步骤b1:所述终端判断选择的卡片应用是否支持零金额交易,是则执行步骤b2,否则执行步骤s7;
步骤b2:所述终端判断授权金额是否为零,是则执行步骤b3,否则执行步骤s7;
步骤b3:所述终端判断终端是否有联机功能,是则执行步骤b5,否则执行步骤b4;
步骤b4:所述终端判断终端是否仅支持脱机工作状态,是则将所述非接应用不允许标识置位,并将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7,否则执行步骤s7;
步骤b5:所述终端判断选择的卡片应用是否需要联机密文,是则将需要联机密文传输标识置位,并将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7;否则将与所述非接应用不允许标识置位,并将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7;
或
步骤b1’:所述终端判断选择的卡片应用是否支持零金额交易,是则执行步骤b2’,否则执行步骤s7;
步骤b’2:所述终端判断授权金额是否为零,是则执行步骤b3’,否则执行步骤s7;
步骤b3’:所述终端判断终端是否有联机功能,是则将需要联机密文传输标识置位,并将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7,否则执行步骤b4’;
步骤b4’:所述终端判断终端是否仅支持脱机工作状态,是则将所述非接应用不允许标识置位,并将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7,否则执行步骤s7。
进一步地,所述步骤s62包括:
步骤c1:所述终端判断选择的卡片应用是否支持非接交易限额检查,是则执行步骤c2,否则执行步骤c3;
步骤c2:所述终端判断授权金额是否小于非接交易金额,是则执行步骤s7,否则执行步骤c3;
步骤c3:所述终端将所述非接应用不允许标识置位,并将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7。
进一步地,所述步骤s62包括:
步骤d1:所述终端判断选择的卡片应用是否支持持卡人验证方法限额检查,是则执行步骤d2,否则执行步骤s7;
步骤d2:所述终端判断授权金额是否小于持卡人验证方法金额,是则执行步骤s7,否则执行步骤d3;
步骤d3:所述终端将所述持卡人验证标识置位,并将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7。
进一步地,所述步骤s62包括:
步骤e1:所述终端判断选择的卡片应用是否支持非接最低限额交易检查,是则执行步骤e2,否则执行步骤s7;
步骤e2:所述终端判断是否存有非接最低限额,是则执行步骤e3,否则执行步骤e5;
步骤e3:所述终端判断授权金额是否大于非接最低限额,是则执行步骤e4,否则执行步骤s7;
步骤e4:所述终端将所述需要联机密文传输标识置位,并将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7;
步骤e5:所述终端判断是否存在终端最低限额,是则执行步骤e6,否则执行步骤s7;
步骤e6:所述终端判断授权金额是否大于所述终端最低限额,是则执行步骤e7,否则执行步骤s7;
步骤e7:所述终端将所述需要联机密文传输标识置位,并将所述对应的风险管理参数作为当前风险管理参数,执行步骤s7。
进一步地,所述终端进行预处理包括:
步骤p1:所述终端将第一个未处理的终端应用作为当前终端应用;
步骤p2:所述终端初始化当前终端应用的风险管理参数;
步骤p3:所述终端根据风险管理参数判断当前终端应用的风险管理执行条件是否符合要求,是则设置当前终端应用的风险管理参数,执行步骤p4,否则执行步骤p4;
步骤p4:所述终端判断全部终端应用是否处理完成,是则进行询卡,否则将下一个未处理的终端应用作为当前终端应用,返回步骤p2。
进一步地,所述终端初始化当前终端应用的风险管理参数包括:所述终端获取授权金额并保存;将所述非接应用不允许标识、持卡人验证标识、需要联机密文传输标识复位。
进一步地,所述步骤p3包括:
步骤a1:所述终端判断当前终端应用是否支持单位货币,是则执行步骤a2,否则执行步骤p4;
步骤a2:所述终端判断授权金额是否存在且为单位货币,是则执行步骤a3,否则执行步骤p4;
步骤a3:所述终端将所述需要联机密文传输标识置位,执行步骤p4。
进一步地,所述步骤p3包括:
步骤b1:所述终端判断当前终端应用是否支持零金额交易,是则执行步骤b2,否则执行步骤p4;
步骤b2:所述终端判断授权金额是否为零,是则执行步骤b3,否则执行步骤p4;
步骤b3:所述终端判断终端是否有联机功能,是则执行步骤b5,否则执行步骤b4;
步骤b4:所述终端判断终端是否仅支持脱机工作状态,是则将非接应用不允许标识置位,执行步骤p4,否则执行步骤p4;
步骤b5:所述终端判断当前终端应用是否需要联机密文,是则将需要联机密文传输标识置位,执行步骤p4;否则将非接应用不允许标识置位,执行步骤p4;
或
步骤b1’:所述终端判断当前终端应用是否支持零金额交易,是则执行步骤b2’,否则执行步骤p4;
步骤b2’:所述终端判断授权金额是否为零,是则执行步骤b3’,否则执行步骤p4;
步骤b3’:所述终端判断终端是否有联机功能,是则将所述需要联机密文传输标识置位,执行步骤p4,否则执行步骤b4’;
步骤b4’:所述终端判断终端是否仅支持脱机工作状态,是则将所述非接应用不允许标识置位,执行步骤p4,否则执行步骤p4。
进一步地,所述步骤p3包括:
步骤c1:所述终端判断当前终端应用是否支持非接交易限额检查,是则执行步骤c2,否则执行步骤c3;
步骤c2:所述终端判断授权金额是否小于非接交易金额,是则执行步骤p4,否则执行步骤c3;
步骤c3:所述终端将所述非接应用不允许标识置位,执行步骤p4。
进一步地,所述步骤p3包括:
步骤d1:所述终端判断当前终端应用是否支持持卡人验证方法限额检查,是则执行步骤d2,否则执行步骤p4;
步骤d2:所述终端判断授权金额是否小于持卡人验证方法金额,是则执行步骤p4,否则执行步骤d3;
步骤d3:所述终端将所述持卡人验证标识置位,执行步骤p4。
进一步地,所述步骤p3包括:
步骤e1:所述终端判断当前终端应用是否支持非接最低限额交易检查,是则执行步骤e2,否则执行步骤p4;
步骤e2:所述终端判断是否存有非接最低限额,是则执行步骤e3,否则执行步骤e5;
步骤e3:所述终端判断授权金额是否大于非接最低限额,是则执行步骤e4,否则执行步骤p4;
步骤e4:所述终端将需要联机密文传输标识置位,执行步骤p4;
步骤e5:所述终端判断是否存在终端最低限额,是则执行步骤e6,否则执行步骤p4;
步骤e6:所述终端判断授权金额是否大于所述终端最低限额,是则执行步骤e7,否则执行步骤p4;
步骤e7:所述终端将所述需要联机密文传输标识置位,执行步骤p4。
进一步地,所述进行询卡包括:所述终端向所述卡片发送询卡指令,如接收到所述卡片返回的正确响应则询卡成功,执行步骤s1,否则询卡失败,结束。
本发明又提供了一种风险控制的实现终端,包括:
预处理模块,用于进行预处理;
询卡模块,用于在预处理模块进行预处理之后进行询卡;
第一发送模块,用于在询卡模块进行询卡成功之后根据目录选择方式给卡片发送近场支付系统环境命令;
第一接收模块,用于在第一发送模块发送近场支付系统环境命令之后接收所述卡片返回的第一响应;
构建模块,用于根据所述第一响应中的文件控制模板中的信息构建应用列表;
选择模块,用于根据预设方法从所述应用列表中选择一个有效的卡片应用;
第二发送模块,用于在所述选择模块选择有效的卡片应用之后向所述卡片发送卡片应用标识命令;
第二接收模块,用于在所述第二发送模块发送卡片应用标识命令之后接收所述卡片返回的第二响应;
第一判断模块,用于根据预先设置的第三标识判断选择的卡片应用是否支持动态风险限额,当判断为否时将预处理过程中的风险管理参数作为当前风险管理参数;
第一寻找模块,用于当所述第一判断模块判断为是时根据所述第二响应中的卡片应用计划标识在终端支持的终端应用计划标识中寻找匹配的终端应用计划标识;
风险控制模块,用于在所述第一寻找模块寻找到终端应用计划标识时,通过与所述寻找到的终端应用计划标识对应的风险管理参数进行终端风险控制,将所述对应的风险管理参数作为当前风险管理参数;
第二判断模块,用于在第一判断模块判断为是时、所述第一寻找模块未找到匹配的终端应用计划标识时和所述风险控制模块将所述对应的风险管理参数作为当前风险管理参数之后,根据当前风险管理参数判断所述选择的卡片应用是否允许被运行;
设置模块,用于当所述第二判断模块判断为否时将所述选择的卡片应用设为无效,触发所述选择模块;
执行模块,用于当所述第二判断模块判断为是时根据选择的卡片应用执行对应交易。
进一步地,所述构建模块包括:
第一判断子模块,用于判断所述第一响应中的状态码是否为第一预设数据;
第二判断子模块,用于在所述第一判断子模块判断为是时,判断所述第一响应中的文件控制模板中是否存在目录入口点;
第一选择子模块,用于在所述第二判断子模块判断为是时,从所述文件控制模板中选择一个未处理的目录入口点并将其标记为已处理;
第三判断子模块,用于判断所述文件控制模板中的卡片应用目录文件名与终端支持的终端应用标识名是否匹配;
添加子模块,用于在所述第三判断子模块判断为是时,将匹配的卡片应用目录文件名、卡片应用名称和对应的终端应用标识添加到应用列表中;
第四判断子模块,用于在所述第三判断子模块判断为否时和所述添加子模块将匹配的卡片应用目录文件名、卡片应用名称和对应的终端应用标识添加到应用列表中之后,判断文件控制模板中是否还有其他未处理的目录入口点,是则触发所述第一选择子模块,否则触发所述选择模块。
进一步地,所述选择模块包括:
第五判断子模块,用于判断所述应用列表是否为空;
第六判断子模块,用于在所述第五判断子模块判断为否时,判断所述应用列表中是否只有一个卡片应用名称;
第二选择子模块,用于在所述第六判断子模块判断为是时,根据所述应用列表中的卡片应用名称选择相应的卡片应用;
第三选择子模块,用于在所述第六判断子模块判断为否时,根据文件控制模板中的最高卡片应用优先级选择相应的未处理的卡片应用;
第七判断子模块,用于判断所述第二接收模块接收到的第二响应中的状态码是否为第一预设值,是则触发所述第一判断模块,否则触发所述第五判断子模块;
所述第二发送模块,用于在所述第二选择子模块和所述第三选择子模块选择了卡片应用之后向所述卡片发送卡片应用标识命令;
所述设置模块具体用于当所述第二判断模块判断为否时将应用列表中选择的卡片应用设为已处理,触发所述选择模块。
进一步地,所述风险控制模块包括:
第一初始化子模块,用于初始化与所述寻找到的终端应用计划标识对应的风险管理参数;
第八判断子模块,用于根据所述风险管理参数判断风险管理执行条件是否符合要求,判断为否时触发所述第二判断模块;
设置作为子模块,用于在所述第八判断子模块判断为是时,设置与所述寻找到的终端应用计划标识对应的风险管理参数,将所述对应的风险管理参数作为当前风险管理参数。
进一步地,所述风险管理参数包括所述非接应用不允许标识;
所述设置作为子模块具体用于将与所述寻找到的终端应用计划标识对应的非接应用不允许标识置位,将所述对应的风险管理参数作为当前风险管理参数;
所述第二判断模块具体用于判断当前风险管理参数中的非接应用不允许标识是否置位。
进一步地,所述第一初始化子模块具体用于获取授权金额并保存;将所述非接应用不允许标识复位、持卡人验证标识、需要联机密文传输标识复位。
进一步地,所述第八判断子模块包括:
第一判断单元,用于判断选择的卡片应用是否支持单位货币,判断为否时触发第一作为子模块;
第二判断单元,用于在所述第一判断单元判断为是时,判断授权金额是否存在且为单位货币,判断为否时触发第一作为子模块;
所述设置作为子模块具体用于在所述第二判断单元判断为是时,将所述需要联机密文传输标识置位,并将所述对应的风险管理参数作为当前风险管理参数。
进一步地,所述第八判断子模块包括:
第三判断单元,用于判断选择的卡片应用是否支持零金额交易,判断为否时触发第一作为子模块;
第四判断单元,用于在所述第三判断单元判断为是时,判断授权金额是否为零,判断为否时触发第一作为子模块;
第五判断单元,用于在所述第四判断单元判断为是时,判断终端是否有联机功能;
第六判断单元,用于在所述第五判断单元判断为否时,判断终端是否仅支持脱机工作状态,判断为否时触发所述第一作为子模块;
第七判断单元,用于在所述第五判断单元判断为是时,判断选择的卡片应用是否需要联机密文;
所述设置作为子模块具体用于在所述第六判断单元判断为是时将非接应用不允许标识置位,并将所述对应的风险管理参数作为当前风险管理参数;在所述第七判断单元判断为是时将需要联机密文传输标识置位,并将所述对应的风险管理参数作为当前风险管理参数;在所述第七判断单元判断为否时将所述非接应用不允许标识置位,并将所述对应的风险管理参数作为当前风险管理参数;
或所述第八判断子模块包括:
第三判断单元,用于判断选择的卡片应用是否支持零金额交易,判断为否时触发第一作为子模块;
第四判断单元,用于在所述第三判断单元判断为是时,判断授权金额是否为零,判断为否时触发第一作为子模块;
第五判断单元,用于在所述第四判断单元判断为是时,判断终端是否有联机功能;
第六判断单元,用于在所述第五判断单元判断为否时,判断终端是否仅支持脱机工作状态,判断为否时触发第一作为子模块;
所述设置作为子模块具体用于在所述第五判断单元判断为是时将需要联机密文传输标识置位,并将所述对应的风险管理参数作为当前风险管理参数;在所述第六判断单元判断为是时将所述非接应用不允许标识置位,并将所述对应的风险管理参数作为当前风险管理参数。
进一步地,所述第八判断子模块包括:
第九判断单元,用于判断选择的卡片应用是否支持非接交易限额检查;
第十判断单元,用于在所述第九判断单元判断为是时,判断授权金额是否小于非接交易金额,判断为是时触发第一作为子模块;
所述设置作为子模块具体用于在所述第九判断单元判断为否时和所述第十判断单元判断为否时,将所述非接应用不允许标识置位,并将所述对应的风险管理参数作为当前风险管理参数。
进一步地,所述第八判断子模块包括:
第十一判断单元,用于判断选择的卡片应用是否支持持卡人验证方法限额检查,判断为否时触发第一作为子模块;
第十二判断单元,用于在所述第十一判断单元判断为是时,判断授权金额是否小于持卡人验证方法金额,判断为是时触发第一作为子模块;
所述设置作为子模块具体用于在所述第十二判断单元判断为否时将所述持卡人验证标识置位,并将所述对应的风险管理参数作为当前风险管理参数。
进一步地,所述第八判断子模块包括:
第十三判断单元,用于判断选择的卡片应用是否支持非接最低限额交易检查,判断为否时触发第一作为子模块;
第十四判断单元,用于在所述第十三判断单元判断为是时,判断是否存有非接最低限额;
第十五判断单元,用于在所述第十四判断单元判断为是时,判断授权金额是否大于非接最低限额,判断为否时触发第一作为子模块;
第十六判断单元,用于在所述第十四判断单元判断为否时,判断是否存在终端最低限额,判断为否时触发第一作为子模块;
第十七判断单元,用于在所述第十六判断单元判断为是时,判断授权金额是否大于所述终端最低限额,判断为否时触发第一作为子模块;
所述设置作为子模块具体用于在所述第十五判断单元判断为是时将所述需要联机密文传输标识置位,并将所述对应的风险管理参数作为当前风险管理参数;在所述第十七判断单元判断为是时将所述需要联机密文传输标识置位,并将所述对应的风险管理参数作为当前风险管理参数。
进一步地,所述预处理模块包括:
第二作为子模块,用于将第一个未处理的终端应用作为当前终端应用;
第二初始化子模块,用于初始化当前终端应用的风险管理参数;
第九判断子模块,用于根据风险管理参数判断当前终端应用的风险管理执行条件是否符合要求;
第一设置子模块,用于当所述第九判断子模块判断为是时设置当前终端应用的风险管理参数;
第十判断子模块,用于当所述第九判断子模块判断为否时和所述第一设置子模块设置当前终端应用的风险管理参数之后,判断全部终端应用是否处理完成,是则触发所述询卡模块;
第三作为子模块,用于在所述第十判断子模块判断为否时将下一个未处理的终端应用作为当前终端应用。
进一步地,第二初始化子模块具体用于获取授权金额并保存;将所述非接应用不允许标识、将持卡人验证标识、需要联机密文传输标识复位。
进一步地,所述第九判断子模块包括:
第十八判断单元,用于判断当前终端应用是否支持单位货币,判断为否时触发所述第十判断子模块;
第十九判断单元,用于当所述第十八判断单元判断为是时判断授权金额是否存在且为单位货币,判断为否时触发所述第十判断子模块;
所述第一设置子模块具体用于在所述第十九判断单元判断为是时将所述需要联机密文传输标识置位,触发所述第十判断子模块。
进一步地,所述第九判断子模块包括:
第二十判断单元,用于判断当前终端应用是否支持零金额交易,判断为否时触发所述第十判断子模块;
第二十一判断单元,用于当所述第二十判断单元判断为是时判断授权金额是否为零,判断为否时触发所述第十判断子模块;
第二十二判断单元,用于当所述第二十一判断单元判断为是时判断终端是否有联机功能;
第二十三判断单元,用于当所述第二十二判断单元判断为否时判断终端是否仅支持脱机工作状态,判断为否时触发所述第十判断子模块;
第二十四判断单元,用于当所述第二十二判断单元判断为是时判断当前终端应用是否需要联机密文;
所述第一设置子模块具体用于当所述第二十三判断单元判断为是时将所述非接应用不允许标识置位;当所述第二十四判断单元判断为是时将所述需要联机密文传输标识置位;当所述第二十四判断单元判断为否时将非接应用不允许标识置位;
或所述第九判断子模块包括:
第二十判断单元,用于判断当前终端应用是否支持零金额交易,判断为否时触发所述第十判断子模块;
第二十一判断单元,用于当所述第二十判断单元判断为是时判断授权金额是否为零,判断为否时触发所述第十判断子模块;
第二十二判断单元,用于当所述第二十一判断单元判断为是时判断终端是否有联机功能;
第二十三判断单元,用于当所述第二十二判断单元判断为否时判断终端是否仅支持脱机工作状态,判断为否时触发所述第十判断子模块;
所述第一设置子模块具体用于当所述第二十二判断单元判断为是时将所述需要联机密文传输标识置位;当所述第二十三判断单元判断为是时将所述非接应用不允许标识置位。
进一步地,所述第九判断子模块包括:
第二十四判断单元,用于判断当前终端应用是否支持非接交易限额检查;
第二十五判断单元,用于在所述第二十四判断单元判断为是时判断授权金额是否小于非接交易金额,判断为是时触发所述第十判断子模块;
所述第一设置子模块具体用于当所述第二十四判断单元判断为否时和所述第二十五判断单元判断为否时将所述非接应用不允许标识置位。
进一步地,所述第九判断子模块包括:
第二十六判断单元,用于判断当前终端应用是否支持持卡人验证方法限额检查,判断为否时触发所述第十判断子模块;
第二十七判断单元,用于在所述第二十六判断单元判断为是时判断授权金额是否小于持卡人验证方法金额,判断为是时所述第十判断子模块;
所述第一设置子模块具体用于当所述第二十七判断单元判断为否时将所述持卡人验证标识置位。
进一步地,所述第九判断子模块包括:
第二十八判断单元,用于判断当前终端应用是否支持非接最低限额交易检查,判断为否时触发所述第十判断子模块;
第二十九判断单元,用于在所述第二十八判断单元判断为是时判断是否存有非接最低限额;
第三十判断单元,用于在所述第二十九判断单元判断为是时判断授权金额是否大于非接最低限额,判断为否时触发所述第十判断子模块;
第三十一判断单元,用于在所述第二十九判断单元判断为否时判断是否存在终端最低限额,判断为否时触发所述第十判断子模块;
第三十二判断单元,用于在所述第三十一判断单元判断为是时判断授权金额是否大于所述终端最低限额,判断为否时触发所述第十判断子模块;
所述第一设置子模块具体用于当所述第三十判断单元判断为是时和当所述第三十二判断单元判断为是时将所述需要联机密文传输标识置位。
进一步地,所述询卡模块具体用于向所述卡片发送询卡指令,如接收到所述卡片返回的正确响应则询卡成功,否则询卡失败。
本发明与现有技术相比,具有以下优点:
本发明技术方案适用于终端对不同卡片在不同应用环境的使用情况,实现了同时支持不同应用环境的不同风险管理参数配置功能,避免终端频繁下载更换风险管理参数或在不影响先前的风险控制机制情况下支持更多的应用环境。
附图说明
图1为本发明实施例一提供的一种风险控制的实现方法流程图;
图2为本发明实施例二提供的一种风险控制的实现方法流程图;
图3为本发明实施例二中步骤101的细化流程图;
图4为本发明实施例二中步骤103的细化流程图;
图5为本发明实施例二中步骤b16的细化流程图;
图6为本发明实施例三提供的一种风险控制的实现终端示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种风险控制的实现方法,如图1所示,包括:
当终端进行预处理之后且询卡成功时,执行以下步骤:
步骤s1:终端根据目录选择方式给卡片发送近场支付系统环境命令,当接收到卡片返回的第一响应时执行步骤s2;
步骤s2:终端根据第一响应中的文件控制模板中的信息构建应用列表;
步骤s3:终端根据预设方法从应用列表中选择一个有效的卡片应用,并向卡片发送卡片应用标识命令,当接收到卡片返回的第二响应时执行步骤s4;
步骤s4:终端根据预先设置的第三标识判断选择的卡片应用是否支持动态风险限额,是则执行步骤s5,否则执行步骤s7;
步骤s5:终端根据第二响应中的卡片应用计划标识在终端支持的终端应用计划标识中寻找匹配的终端应用计划标识,如找到则执行步骤s6,如未找到则执行步骤s7;
步骤s6:终端通过与寻找到的终端应用计划标识对应的风险管理参数进行终端风险控制,将对应的风险管理参数作为当前风险管理参数,执行步骤s7;
步骤s7:终端根据当前风险管理参数判断选择的卡片应用是否允许被运行,是则执行步骤s8,否则将选择的卡片应用设为无效,返回步骤s3;
步骤s8:终端根据选择的卡片应用执行对应交易。
在本实施例中,终端进行预处理包括:
步骤p1:终端将第一个未处理的终端应用作为当前终端应用;
步骤p2:终端初始化当前终端应用的风险管理参数;
具体的,步骤p2包括:终端获取授权金额并保存;将非接应用不允许标识、持卡人验证标识、需要联机密文传输标识复位;
步骤p3:终端根据风险管理参数判断当前终端应用的风险管理执行条件是否符合要求,是则设置当前终端应用的风险管理参数,执行步骤p4,否则执行步骤p4;
本实施例中步骤p3的具体实现过程在实施例二中进行详述;
步骤p4:终端判断全部终端应用是否处理完成,是则进行询卡,否则将下一个未处理的终端应用作为当前终端应用,返回步骤p2。
实施例二
本发明实施例二提供一种风险控制的实现方法,如图2所示,包括:步骤101:终端进行预处理;
具体的,在本实施例中,步骤101的实现过程如图3所示,包括:
步骤a0:终端将第一个终端应用作为当前终端应用;
例如,在本实施例中,终端中有四个应用,分别为:
其中,在零金额检查中,如为option2则代表应用不允许联机交易,如为option1则代表请求联机交易;
步骤a1:终端获取授权金额并保存;
具体的,在本实施例中,授权金额=交易金额+返现金额;
例如,交易金额为23元,返现5元,则授权金额为28元;
步骤a2:终端将非接应用不允许标识复位;
具体的,在本实施例中,非接应用不允许标识在预处理开始的时候初始化为0,通过预处理过程后,该值有可能为1,表示这笔非接交易不允许执行,应终止交易;接下来进行应用选择,在选定一个应用后,判断终端是否支持drl(动态风险限额)和卡片是否支持pid,如果条件满足,且终端提供的pid和卡片返回的pid匹配,则取消预处理阶段的所有结果,重新进行风险管理操作(过程和预处理一样),获取非接应用不允许标识,判断非接应用不允许标识的值,如果为1,则取消当前交易,如果为0,则继续当前交易;
步骤a3:终端将持卡人验证标识和需要联机密文传输标识复位;
具体的,在本实施例中,终端交易属性的第2字节中从低位起的第7位为需要持卡人验证标识,第2字节中从低位起的第8位为需要联机密文传输标识,步骤a3具体为:终端将交易属性的第2字节中从低位起的第7位和第8位置为0;
步骤a4:终端判断当前终端应用是否支持单位货币,是则执行步骤a5,否则执行步骤a7;
例如,在本实施例中,人民币的单位货币为1元;
步骤a5:终端判断授权金额是否存在且为单位货币,是则执行步骤a6,否则执行步骤a7;
步骤a6:终端将需要联机密文传输标识置位,执行步骤a7;
具体的,在本实施例中,步骤a6包括:终端交易属性的第2字节中从低位起的第8位置为1;
步骤a7:终端判断当前终端应用是否支持零金额交易,是则执行步骤a8,否则执行步骤a14;
步骤a8:终端判断授权金额是否为零,是则执行步骤a9,否则执行步骤a14;
步骤a9:终端判断终端是否有联机功能,是则执行步骤a11,否则执行步骤a10;
具体的,在本实施例中,步骤a9包括:终端判断终端交易属性第1字节中从低位起的第4位是否为零,是则具有联机功能,否则没有联机功能;
优选的,在本实施例中,步骤a9之后可执行步骤a12,删除步骤a11、a13;
步骤a10:终端判断终端是否仅支持脱机工作状态,是则将非接应用不允许标识置位,执行步骤a14,否则执行步骤a14;
具体的,在本实施例中,终端根据预先设置的工作状态标识判断终端是否仅支持脱机工作状态,如工作状态标识为1则终端仅支持脱机工作状态,如工作状态为2则终端仅支持联机工作状态,如工作状态为3则终端既支持脱机工作状态也支持联机工作状态;
步骤a11:终端判断当前终端应用是否需要联机密文,是则执行步骤a12,否则执行步骤a13;
具体的,在本实施例中,终端判断当前能联机的终端在零金额条件下选择配置选项,如为1则需要联机密文,如为2则不需要联机密文;
步骤a12:终端将需要联机密文传输标识置位,执行步骤a14;
具体的,在本实施例中,步骤a12包括:终端将终端交易属性的第2字节中从低位起的第8位置为1;
步骤a13:终端将非接应用不允许标识置位,执行步骤a14;
在本实施例中,步骤a7-a13替换为:
步骤a7’:终端判断当前终端应用是否支持零金额交易,是则执行步骤a8’,否则执行步骤a14;
步骤a8’:终端判断授权金额是否为零,是则执行步骤a9’,否则执行步骤a14;
步骤a9’:终端判断终端是否有联机功能,是则执行步骤a10’,否则执行步骤a11’;
步骤a10’:设置联机密文标识,执行步骤a14;
步骤a11’:终端判断终端是否仅支持脱机工作状态,是则步骤a12’,否则执行步骤a14;
步骤a12’:终端将非接应用不允许标识置位,执行步骤a14;
步骤a14:终端判断当前终端应用是否支持非接交易限额检查,是则执行步骤a15,否则执行步骤a17;
步骤a15:终端判断授权金额是否小于非接交易金额,是则执行步骤a16,否则执行步骤a17;
步骤a16:终端将非接应用不允许标识置位,执行步骤a17;
步骤a17:终端判断当前终端应用是否支持持卡人验证方法限额检查,是则执行步骤a18,否则执行步骤a20;
具体的,在本实施例中,终端判断预设的第二标识是否置位,是则支持持卡人验证,否则不支持持卡人验证;
步骤a18:终端判断授权金额是否小于持卡人验证方法金额,是则执行步骤a19,否则执行步骤a20;
步骤a19:终端将持卡人验证标识置位,执行步骤a20;
具体的,在本实施例中,步骤a19包括:终端将交易属性的第2字节中从低位起的第7位置为1,执行步骤a20;
步骤a20:终端判断当前终端应用是否支持非接最低限额交易检查,是则执行步骤a21,否则执行步骤a27;
步骤a21:终端判断是否存有非接最低限额,是则执行步骤a22,否则执行步骤a24;
步骤a22:终端判断授权金额是否大于非接最低限额,是则执行步骤a23,否则执行步骤a27;
具体的,在本实施例中,非接最低限额用于判断交易是否需要进行联机处理,如果交易金额大于非接最低限额,则该笔交易需要进行联机,否则该笔交易不需要进行联机;例如,本实施例中的非接最低限额为50;
步骤a23:终端将需要联机密文传输标识置位,执行步骤a27;
在本实施例中,步骤a23具体为:终端将终端交易属性的第2字节中从低位起的第8位置为1,执行步骤a27;
步骤a24:终端判断是否存在终端最低限额,是则执行步骤a25,否则执行步骤a27;
步骤a25:终端判断授权金额是否大于终端最低限额,是则执行步骤a26,否则执行步骤a27;
步骤a26:终端将需要联机密文传输标识置位,执行步骤a27;
在本实施例中,步骤a23具体为:终端将终端交易属性的第2字节中从低位起的第8位置为1,执行步骤a27;
步骤a27:终端判断全部终端应用是否处理完成,是则执行步骤102,否则将下一个终端应用作为当前终端应用,返回步骤a1;
在本实施例中,步骤a4、a7、a14、a17、a20的执行顺序可以任意调换;其中,步骤a4-步骤a6(预处理过程中的风险管理参数为需要联机密文传输标识)、步骤a7-步骤a13(预处理过程中的风险管理参数为非接应用不允许标识和需要联机密文传输标识)、步骤a14-步骤a16(预处理过程中的风险管理参数为非接应用不允许标识)、步骤a17-步骤a19(预处理过程中的风险管理参数为持卡人验证标识)、步骤a20-步骤a26(预处理过程中的风险管理参数为需要联机密文传输标识)可以单独作为步骤101的实现过程、也可以任意组合作为步骤101的实现过程;
步骤102:终端进行询卡,如询卡成功则执行步骤103,如询卡失败则结束;
具体的,在本实施例中,步骤102包括:终端向卡片发送询卡指令,如接收到卡片返回的正确响应则询卡成功,执行步骤103,否则询卡失败,结束;
步骤103:终端选择卡片应用;
具体的,在本实施例中,步骤103的实现过程如图4所示,包括:
步骤b1:终端根据目录选择方式给卡片发送近场支付系统环境命令,并等待接收第一响应;
例如,本实施例的近场支付系统环境命令为00a404000e325041592e5359532e4444463031;返回的第一响应为6f32840e325041592e5359532e4444463031a520bf0c1d611b4f08a000000003101008500c5649534120544553542030318701019000;其中状态码为9000;
步骤b2:当终端接收到第一响应时,判断第一响应中的状态码是否为第一预设数据,是则执行步骤b3,否则结束;
例如,在本实施例中,第一预设数据为9000;
步骤b3:终端判断第一响应中的文件控制模板中是否存在目录入口点,是则执行步骤b4,否则结束;
步骤b4:终端从文件控制模板中选择一个未处理的目录入口点并将其标记为已处理,执行步骤b5;
步骤b5:终端判断文件控制模板中的卡片应用目录文件名与终端支持的终端应用标识名是否匹配,是则执行步骤b6,否则执行步骤b7;
步骤b6:终端将匹配的卡片应用目录文件名、卡片应用名称和对应的终端应用标识添加到应用列表中,执行步骤b7;
具体的,在本实施例中,应用列表包括卡片应用目录文件名、卡片应用名称、终端应用标识、卡片应用首选名、卡片应用标签、卡片应用优先级;
步骤b7:终端判断文件控制模板中是否还有其他未处理的目录入口点,是则返回步骤b4,否则执行步骤b8;
步骤b8:终端判断应用列表是否为空,是则结束,否则执行步骤b9;
步骤b9:终端判断应用列表中是否只有一个卡片应用名称,是则执行步骤b10,否则执行步骤b11;
步骤b10:终端根据应用列表中的卡片应用名称选择相应的卡片应用,执行步骤b12;
步骤b11:终端根据文件控制模板中的最高卡片应用优先级选择相应的未处理的卡片应用,执行步骤b12;
步骤b12:终端向卡片发送卡片应用标识命令,并等待接收卡片返回的第二响应;
在本实施例中,步骤b12中卡片返回的第二响应中包括状态码和应用计划标识;
例如,本实施例的终端应用标识命令为00a4040008a000000003101008;返回的第二响应为6f4d8408a000000003101008a541500c5649534120544553542030318701019f380c9f66049f02069f37045f2a025f2d046573656e9f1101019f120c50726566204e616d65203031bf0c049f5a01019000,其中应用标识为9f5a,对应的值为01;状态码为9000;
步骤b13:当终端接收到第二响应时,判断第二响应中的状态码是否为第一预设值,是则执行步骤b14,否则返回步骤b8;
步骤b14:终端根据预先设置的第三标识判断选择的卡片应用是否支持动态风险限额,是则执行步骤b15,否则执行步骤b17;
具体的,在本实施例中,动态风险限额(英文简称drl),表示可以动态修改风险限额,是终端的一个属性标识,如果设置了该标识,则需要进行drl处理,否则,不需要进行drl处理;
步骤b15:终端根据卡片返回的第二响应中的卡片应用计划标识在终端支持的终端应用计划标识中寻找匹配的终端应用计划标识,是则执行步骤b16,否则执行步骤b17;
在本实施例中,如卡片返回的应用计划标识与终端支持的中的应用计划标识相匹配则终端修改默认风险管理参数的配置(即执行步骤b16),如卡片返回的应用计划标识与终端支持的终端应用计划标识不匹配则终端使用默认风险管理参数继续进行交易;
例如本实施例中的默认风险管理参数如下:
其中,在零金额检查中,如为option2则代表应用不允许联机交易,如为option1则代表请求联机交易;
步骤b16:终端通过与寻找到的终端应用计划标识对应的风险管理参数进行终端风险管理,将对应的风险管理参数作为当前风险管理参数,执行步骤b17;
步骤b17:终端根据当前风险管理参数判断选择的卡片应用是否允许被运行,是则执行步骤104,否则将选择的卡片应用设为无效,返回步骤b8;
具体的,在本实施例中,步骤b17包括:终端判断非接应用不允许标识是否置位,是则返回步骤b8,否则执行步骤104;
步骤104:终端根据选择的卡片应用执行对应交易。
在本实施例中,步骤b16包括:
步骤b161:终端初始化与寻找到的终端应用计划标识对应的风险管理参数;
在本实施例中,风险管理参数包括非接应用不允许标识;
步骤b162:终端根据风险管理参数判断风险管理执行条件是否符合要求,是则设置与寻找到的终端应用计划标识对应的风险管理参数,并将对应的风险管理参数作为当前风险管理参数,执行步骤b17,否则执行步骤b17。
具体的,在本实施例中,设置与寻找到的终端应用计划标识对应的风险管理参数具体为:终端将与寻找到的终端应用计划标识对应的非接应用不允许标识置位;
相应的,步骤b17具体为:终端判断当前风险管理参数中的非接应用不允许标识是否置位,是则将选择的卡片应用设为无效,返回步骤b8,否则执行步骤104。
具体的,在本实施例中,终端初始化与寻找到的终端应用计划标识对应的风险管理参数包括:终端获取授权金额并保存;将非接应用不允许标识、持卡人验证标识、需要联机密文传输标识复位。步骤b16的实现过程还可如图5所示,包括:
步骤c1:终端获取授权金额并保存;
具体的,在本实施例中,授权金额=交易金额+返现金额;
步骤c2:终端将非接应用不允许标识复位;
具体的,在本实施例中,非接应用不允许标识在预处理开始的时候初始化为0,通过预处理过程后,该值有可能为1,表示这笔非接交易不允许执行,应终止交易;接下来进行应用选择,在选定一个应用后,判断终端是否支持drl(动态风险限额)和卡片是否支持pid,如果条件满足,且终端提供的pid和卡片返回的pid匹配,则取消预处理阶段的所有结果,重新进行风险管理操作(过程和预处理一样),获取非接应用不允许标识,判断非接应用不允许标识的值,如果为1,则取消该笔交易,如果为0,则继续交易;
步骤c3:终端将持卡人验证标识和需要联机密文传输标识复位;
具体的,在本实施例中,终端交易属性的第2字节中从低位起的第7位为需要持卡人验证标识,第2字节中从低位起的第8位为需要联机密文传输标识,步骤c3具体为:终端将交易属性的第2字节中从低位起的第7位和第8位置为0;
步骤c4:终端判断选择的卡片应用是否支持单位货币,是则执行步骤c5,否则执行步骤c7;
例如,在本实施例中,人民币的单位货币为1元;
步骤c5:终端判断授权金额是否存在且为单位货币,是则执行步骤c6,否则执行步骤c7;
步骤c6:终端将需要联机密文传输标识置位,执行步骤c7;
具体的,在本实施例中,步骤c6包括:终端交易属性的第2字节中从低位起的第8位置为1;
步骤c7:终端判断选择的卡片应用是否支持零金额交易,是则执行步骤c8,否则执行步骤c15;
步骤c8:终端判断授权金额是否为零,是则执行步骤c9,否则执行步骤c15;
步骤c9:终端判断终端是否有联机功能,是则执行步骤c11,否则执行步骤c10;
具体的,在本实施例中,步骤c9包括:终端判断终端交易属性第1字节中从低位起的第4位是否为零,是则具有联机功能,否则没有联机功能;
优选的,在本实施例中,步骤c9之后可执行步骤c12,删除步骤c11、c13;
步骤c10:终端判断终端是否仅支持脱机工作状态,是则将非接应用不允许标识置位,执行步骤c14,否则执行步骤c14;
具体的,在本实施例中,终端根据预先设置的工作状态标识判断终端是否仅支持脱机工作状态,如工作状态标识为1则终端仅支持脱机工作状态,如工作状态为2则终端仅支持联机工作状态,如工作状态为3则终端既支持脱机工作状态也支持联机工作状态;
步骤c11:终端判断选择的卡片应用是否需要联机密文,是则执行步骤c12,否则执行步骤c13;
具体的,在本实施例中,终端判断当前能联机的终端在零金额条件下选择配置选项,如为1则需要联机密文,如为2则不需要联机密文;
步骤c12:终端将需要联机密文传输标识置位,执行步骤c14;
具体的,在本实施例中,步骤c12包括:终端将终端交易属性的第2字节中从低位起的第8位置为1;
步骤c13:终端将非接应用不允许标识置位,执行步骤c14;
在本实施例中,步骤c7-c13替换为:
步骤c7’:终端判断当前终端应用是否支持零金额交易,是则执行步骤c8’,否则执行步骤c14;
步骤c8’:终端判断授权金额是否为零,是则执行步骤c9’,否则执行步骤c14;
步骤c9’:终端判断终端是否有联机功能,是则执行步骤c10’,否则执行步骤c11’;
步骤c10’:设置联机密文标识,执行步骤c14;
步骤c11’:终端判断终端是否仅支持脱机工作状态,是则步骤c12’,否则执行步骤c14;
步骤c12’:终端将非接应用不允许标识置位,执行步骤c14;
步骤c14:终端判断选择的卡片应用是否支持非接交易限额检查,是则执行步骤c15,否则执行步骤c16;
步骤c15:终端判断授权金额是否小于非接交易金额,是则执行步骤c16,否则执行步骤c17;
步骤c16:终端将非接应用不允许标识置位,执行步骤c17;
步骤c17:终端判断选择的卡片应用是否支持持卡人验证方法限额检查,是则执行步骤c18,否则执行步骤c20;
具体的,在本实施例中,终端判断预设的第二标识是否置位,是则支持持卡人验证,否则不支持持卡人验证;
步骤c18:终端判断授权金额是否小于持卡人验证方法金额,是则执行步骤c19,否则执行步骤c20;
步骤c19:终端将持卡人验证标识置位,执行步骤c20;
具体的,在本实施例中,步骤c19包括:终端将交易属性的第2字节中从低位起的第7为置为1,执行步骤c20;
步骤c20:终端判断选择的卡片应用是否支持非接最低限额交易检查,是则执行步骤c21,否则执行步骤b17;
步骤c21:终端判断是否存有非接最低限额,是则执行步骤c22,否则执行步骤c24;
步骤c22:终端判断授权金额是否大于非接最低限额,是则执行步骤c23,否则执行步骤102;
具体的,在本实施例中,非接最低限额用于判断交易是否需要进行联机处理,如果交易金额大于非接最低限额,则该笔交易需要进行联机,否则该笔交易不需要进行联机;
步骤c23:终端将需要联机密文传输标识置位,执行步骤102;
在本实施例中,步骤c23具体为:终端将终端交易属性的第2字节中从低位起的第8位置为1,执行步骤b17;
步骤c24:终端判断是否存在终端最低限额,是则执行步骤c25,否则执行步骤b17;
步骤c25:终端判断授权金额是否大于终端最低限额,是则执行步骤c26,否则执行步骤102;
步骤c26:终端将需要联机密文传输标识置位,执行步骤102;
在本实施例中,步骤c26具体为:终端将终端交易属性的第2字节中从低位起的第8位置为1,执行步骤b17;
其中,步骤c4-步骤c6(对应的风险管理参数为需要联机密文传输标识)、步骤c7-步骤c13(对应的风险管理参数为非接应用不允许标识和需要联机密文传输标识)、步骤c14-步骤c16(对应的风险管理参数为非接应用不允许标识)、步骤c17-步骤c19(对应的风险管理参数为持卡人验证标识)、步骤c20-步骤c26(对应的风险管理参数为需要联机密文传输标识)可以单独作为步骤b16的实现过程、也可以任意组合作为步骤b16的实现过程。
在本实施例中,步骤b16执行之后在执行步骤b17之前还包括:终端将对应的风险管理参数作为当前风险管理参数。
本实施例的技术方案是在终端上增加额外的风险管理参数设置,实现对不同应用的不同风险控制机制,从而确保在应用环境发生变化的情况下自动更换风险管理参数设置。
具体实现为:大多数的非接交易,在应用选择后,直接进行内核交易。本专利在终端应用选择后,发起内核交易前,通过判断该应用返回的数据中的pid是否与保存的应用pid匹配,如匹配,则修改先前的应用风险管理参数,终端根据当前应用pid,重新加载对应的风险管理参数,进行风险管理监控,并使用最新的风险管理参数进行交易,从而实现不同应用的不同风险控制机制的目的;如果不匹配,则不改变先前终端风险管理监控,继续使用先前的风险管理结果进行交易。
实施例三
本发明实施例三提供一种风险控制的实现装置,如图6所示,包括:
预处理模块601,用于进行预处理;
询卡模块602,用于在预处理模块601进行预处理之后进行询卡;
具体的,在本实施例中,询卡模块602具体用于向卡片发送询卡指令,如接收到卡片返回的正确响应则询卡成功,否则询卡失败;
第一发送模块603,用于在询卡模块602进行询卡成功之后根据目录选择方式给卡片发送近场支付系统环境命令;
第一接收模块604,用于在第一发送模块603发送近场支付系统环境命令之后接收卡片返回的第一响应;
构建模块605,用于根据第一响应中的文件控制模板中的信息构建应用列表;
具体的,在本实施例中,构建模块605包括:
第一判断子模块,用于判断第一响应中的状态码是否为第一预设数据;
第二判断子模块,用于在第一判断子模块判断为是时,判断第一响应中的文件控制模板中是否存在目录入口点;
第一选择子模块,用于在第二判断子模块判断为是时,从文件控制模板中选择一个未处理的目录入口点并将其标记为已处理;
第三判断子模块,用于判断文件控制模板中的卡片应用目录文件名与终端支持的终端应用标识名是否匹配;
添加子模块,用于在第三判断子模块判断为是时,将匹配的卡片应用目录文件名、卡片应用名称和对应的终端应用标识添加到应用列表中;
第四判断子模块,用于在第三判断子模块判断为否时和添加子模块将匹配的卡片应用目录文件名、卡片应用名称和对应的终端应用标识添加到应用列表中之后,判断文件控制模板中是否还有其他未处理的目录入口点,是则触发第一选择子模块,否则触发选择模块606;
选择模块606,用于根据预设方法从应用列表中选择一个有效的卡片应用;
具体的,在本实施例中,选择模块606包括:
第五判断子模块,用于判断应用列表是否为空;
第六判断子模块,用于在第五判断子模块判断为否时,判断应用列表中是否只有一个卡片应用名称;
第二选择子模块,用于在第六判断子模块判断为是时,根据应用列表中的卡片应用名称选择相应的卡片应用;
第三选择子模块,用于在第六判断子模块判断为否时,根据文件控制模板中的最高卡片应用优先级选择相应的未处理的卡片应用;
第七判断子模块,用于判断第二接收模块接收到的第二响应中的状态码是否为第一预设值,是则触发第一判断模块,否则触发第五判断子模块;
第二发送模块,用于在第二选择子模块和第三选择子模块选择了卡片应用之后向卡片发送卡片应用标识命令;
第二发送模块607,用于在选择模块606选择有效的卡片应用之后向卡片发送卡片应用标识命令;
第二接收模块608,用于在第二发送模块607发送卡片应用标识命令之后接收卡片返回的第二响应;
第一判断模块609,用于根据预先设置的第三标识判断选择的卡片应用是否支持动态风险限额,当判断为否时将预处理过程中的风险管理参数作为当前风险管理参数;
第一寻找模块610,用于当第一判断模块609判断为是时根据第二响应中的卡片应用计划标识在终端支持的终端应用计划标识中寻找匹配的终端应用计划标识;
风险控制模块611,用于在第一寻找模块610寻找到终端应用计划标识时,通过与寻找到的终端应用计划标识对应的风险管理参数进行终端风险控制,将对应的风险管理参数作为当前风险管理参数;
第二判断模块612,用于在第一判断模块609判断为是时、第一寻找模块610未找到匹配的终端应用计划标识时和风险控制模块611将对应的风险管理参数作为当前风险管理参数之后,根据当前风险管理参数判断选择的卡片应用是否允许被运行;
设置模块613,用于当第二判断模块612判断为否时将选择的卡片应用设为无效,触发选择模块606;
在本实施例中,设置模块613具体用于当第二判断模块612判断为否时将应用列表中选择的卡片应用设为已处理,触发选择模块606;
执行模块614,用于当第二判断模块612判断为是时根据选择的卡片应用执行对应交易。
在本实施例中,风险控制模块611包括:
第一初始化子模块,用于初始化与寻找到的终端应用计划标识对应的风险管理参数;
第八判断子模块,用于根据风险管理参数判断风险管理执行条件是否符合要求,判断为否时触发第二判断模块612;
设置作为子模块,用于在第八判断子模块判断为是时,设置与寻找到的终端应用计划标识对应的风险管理参数,将对应的风险管理参数作为当前风险管理参数。
相应的,风险管理参数包括非接应用不允许标识;设置作为子模块具体用于将与寻找到的终端应用计划标识对应的非接应用不允许标识置位,将对应的风险管理参数作为当前风险管理参数;
第二判断模块612具体用于判断当前风险管理参数中的非接应用不允许标识是否置位。
本实施例中的第一初始化子模块具体用于获取授权金额并保存;将非接应用不允许标识复位、持卡人验证标识、需要联机密文传输标识复位。
在本实施例中,第八判断子模块有以下几种实现方式,可以为单独一种方式实现,也可以是几种方式的组合;
(一)第八判断子模块包括:
第一判断单元,用于判断选择的卡片应用是否支持单位货币,判断为否时触发第一作为子模块;
第二判断单元,用于在第一判断单元判断为是时,判断授权金额是否存在且为单位货币,判断为否时触发第一作为子模块;
设置作为子模块具体用于在第二判断单元判断为是时,将需要联机密文传输标识置位,并将对应的风险管理参数作为当前风险管理参数。
(二)第八判断子模块包括:
第三判断单元,用于判断选择的卡片应用是否支持零金额交易,判断为否时触发第一作为子模块;
第四判断单元,用于在第三判断单元判断为是时,判断授权金额是否为零,判断为否时触发第一作为子模块;
第五判断单元,用于在第四判断单元判断为是时,判断终端是否有联机功能;
第六判断单元,用于在第五判断单元判断为否时,判断终端是否仅支持脱机工作状态,判断为否时触发第一作为子模块;
第七判断单元,用于在第五判断单元判断为是时,判断选择的卡片应用是否需要联机密文;
设置作为子模块具体用于在第六判断单元判断为是时将非接应用不允许标识置位,并将对应的风险管理参数作为当前风险管理参数;在第七判断单元判断为是时将需要联机密文传输标识置位,并将对应的风险管理参数作为当前风险管理参数;在第七判断单元判断为否时将非接应用不允许标识置位,并将对应的风险管理参数作为当前风险管理参数;
或第八判断子模块包括:
第三判断单元,用于判断选择的卡片应用是否支持零金额交易,判断为否时触发第一作为子模块;
第四判断单元,用于在第三判断单元判断为是时,判断授权金额是否为零,判断为否时触发第一作为子模块;
第五判断单元,用于在第四判断单元判断为是时,判断终端是否有联机功能;
第六判断单元,用于在第五判断单元判断为否时,判断终端是否仅支持脱机工作状态,判断为否时触发第一作为子模块;
设置作为子模块具体用于在第五判断单元判断为是时将需要联机密文传输标识置位,并将对应的风险管理参数作为当前风险管理参数;在第六判断单元判断为是时将非接应用不允许标识置位,并将对应的风险管理参数作为当前风险管理参数。
(三)第八判断子模块包括:
第九判断单元,用于判断选择的卡片应用是否支持非接交易限额检查;
第十判断单元,用于在第九判断单元判断为是时,判断授权金额是否小于非接交易金额,判断为是时触发第一作为子模块;
设置作为子模块具体用于在第九判断单元判断为否时和第十判断单元判断为否时,将非接应用不允许标识置位,并将对应的风险管理参数作为当前风险管理参数。
(四)第八判断子模块包括:
第十一判断单元,用于判断选择的卡片应用是否支持持卡人验证方法限额检查,判断为否时触发第一作为子模块;
第十二判断单元,用于在第十一判断单元判断为是时,判断授权金额是否小于持卡人验证方法金额,判断为是时触发第一作为子模块;
设置作为子模块具体用于在第十二判断单元判断为否时将持卡人验证标识置位,并将对应的风险管理参数作为当前风险管理参数。
(五)第八判断子模块包括:
第十三判断单元,用于判断选择的卡片应用是否支持非接最低限额交易检查,判断为否时触发第一作为子模块;
第十四判断单元,用于在第十三判断单元判断为是时,判断是否存有非接最低限额;
第十五判断单元,用于在第十四判断单元判断为是时,判断授权金额是否大于非接最低限额,判断为否时触发第一作为子模块;
第十六判断单元,用于在第十四判断单元判断为否时,判断是否存在终端最低限额,判断为否时触发第一作为子模块;
第十七判断单元,用于在第十六判断单元判断为是时,判断授权金额是否大于终端最低限额,判断为否时触发第一作为子模块;
设置作为子模块具体用于在第十五判断单元判断为是时将需要联机密文传输标识置位,并将对应的风险管理参数作为当前风险管理参数;在第十七判断单元判断为是时将需要联机密文传输标识置位,并将对应的风险管理参数作为当前风险管理参数。
在本实施例中,预处理模块601包括:
第二作为子模块,用于将第一个未处理的终端应用作为当前终端应用;
第二初始化子模块,用于初始化当前终端应用的风险管理参数;
其中,第二初始化子模块具体用于获取授权金额并保存;将非接应用不允许标识、将持卡人验证标识、需要联机密文传输标识复位;
第九判断子模块,用于根据风险管理参数判断当前终端应用的风险管理执行条件是否符合要求;
第一设置子模块,用于当第九判断子模块判断为是时设置当前终端应用的风险管理参数;
第十判断子模块,用于当第九判断子模块判断为否时和第一设置子模块设置当前终端应用的风险管理参数之后,判断全部终端应用是否处理完成,是则触发询卡模块602;
第三作为子模块,用于在第十判断子模块判断为否时将下一个未处理的终端应用作为当前终端应用。
在本实施例中,第九判断子模块有以下几种实现方式,可以为单独一种方式实现,也可以是几种方式的组合;
(1)第九判断子模块包括:
第十八判断单元,用于判断当前终端应用是否支持单位货币,判断为否时触发第十判断子模块;
第十九判断单元,用于当第十八判断单元判断为是时判断授权金额是否存在且为单位货币,判断为否时触发第十判断子模块;
第一设置子模块具体用于在第十九判断单元判断为是时将需要联机密文传输标识置位,触发第十判断子模块。
(2)第九判断子模块包括:
第二十判断单元,用于判断当前终端应用是否支持零金额交易,判断为否时触发第十判断子模块;
第二十一判断单元,用于当第二十判断单元判断为是时判断授权金额是否为零,判断为否时触发第十判断子模块;
第二十二判断单元,用于当第二十一判断单元判断为是时判断终端是否有联机功能;
第二十三判断单元,用于当第二十二判断单元判断为否时判断终端是否仅支持脱机工作状态,判断为否时触发第十判断子模块;
第二十四判断单元,用于当第二十二判断单元判断为是时判断当前终端应用是否需要联机密文;
第一设置子模块具体用于当第二十三判断单元判断为是时将非接应用不允许标识置位;当第二十四判断单元判断为是时将需要联机密文传输标识置位;当第二十四判断单元判断为否时将非接应用不允许标识置位;
或第九判断子模块包括:
第二十判断单元,用于判断当前终端应用是否支持零金额交易,判断为否时触发第十判断子模块;
第二十一判断单元,用于当第二十判断单元判断为是时判断授权金额是否为零,判断为否时触发第十判断子模块;
第二十二判断单元,用于当第二十一判断单元判断为是时判断终端是否有联机功能;
第二十三判断单元,用于当第二十二判断单元判断为否时判断终端是否仅支持脱机工作状态,判断为否时触发第十判断子模块;
第一设置子模块具体用于当第二十二判断单元判断为是时将需要联机密文传输标识置位;当第二十三判断单元判断为是时将非接应用不允许标识置位。
(3)第九判断子模块包括:
第二十四判断单元,用于判断当前终端应用是否支持非接交易限额检查;
第二十五判断单元,用于在第二十四判断单元判断为是时判断授权金额是否小于非接交易金额,判断为是时触发第十判断子模块;
第一设置子模块具体用于当第二十四判断单元判断为否时和第二十五判断单元判断为否时将非接应用不允许标识置位。
(4)第九判断子模块包括:
第二十六判断单元,用于判断当前终端应用是否支持持卡人验证方法限额检查,判断为否时触发第十判断子模块;
第二十七判断单元,用于在第二十六判断单元判断为是时判断授权金额是否小于持卡人验证方法金额,判断为是时第十判断子模块;
第一设置子模块具体用于当第二十七判断单元判断为否时将持卡人验证标识置位。
(5)第九判断子模块包括:
第二十八判断单元,用于判断当前终端应用是否支持非接最低限额交易检查,判断为否时触发第十判断子模块;
第二十九判断单元,用于在第二十八判断单元判断为是时判断是否存有非接最低限额;
第三十判断单元,用于在第二十九判断单元判断为是时判断授权金额是否大于非接最低限额,判断为否时触发第十判断子模块;
第三十一判断单元,用于在第二十九判断单元判断为否时判断是否存在终端最低限额,判断为否时触发第十判断子模块;
第三十二判断单元,用于在第三十一判断单元判断为是时判断授权金额是否大于终端最低限额,判断为否时触发第十判断子模块;
第一设置子模块具体用于当第三十判断单元判断为是时和当第三十二判断单元判断为是时将需要联机密文传输标识置位。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。