一种多银行支付处理方法及节点与流程

    专利查询2022-08-17  122



    1.本技术涉及金融及其他领域,具体涉及一种多银行支付处理方法及节点。


    背景技术:

    2.非银行机构传统的支付方式,需要通过登录各家银行的网上银行或者线下完成支付操作,如果机构需要通过不同的银行账户进行支付,则需要在不同的银行网银上进行切换,完成支付操作,在操作上极为不方便,同时耗时长,对于客户体验上极差,并且支付效率低。


    技术实现要素:

    3.针对现有技术中的问题,本技术提供一种多银行支付处理方法及节点,接收非银行机构传输的支付请求信息;所述支付请求信息包括支付金额数据和支付账户信息,获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据,向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据。本发明可兼容所有银行的支付,通过配置化的方式,提供了多银行支付方式,对于一笔交易可以同时采用多个银行组合支付,满足客户对不同支付渠道的要求。提升客户的便捷性,操作简单耗时少,大大提升了工作效率。
    4.本发明的一方面,提供一种多银行支付处理方法,包括:
    5.接收非银行机构传输的支付请求信息;所述支付请求信息包括支付金额数据和支付账户信息;
    6.获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据;
    7.向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据。
    8.在优选的实施例中,基于所有账户余额选择至少一个支付银行,包括:
    9.对所有账户余额数据按照从大到小的顺序进行排序,生成余额序列;
    10.判断所述余额序列中的首个序列位的余额数据是否不小于所述支付金额数据;
    11.若否,按照所述余额序列的顺序依次判断相邻的下一个序列位之前所有序列位的余额数据总和是否不小于所述支付金额数据,直至一序列位之前所有序列位的余额数据总和大于或等于所述支付金额数据;
    12.选择该序列位之前的所有序列位对应的支付银行。
    13.在优选的实施例中,基于所有账户余额选择至少一个支付银行,包括:
    14.获取所述支付账户对应各支付银行的支付频次数据;
    15.根据所有账户余额和所述各支付银行的支付频次数据确定对应的银行优先级;
    16.根据所述银行优先级,确定支付银行。
    17.在优选的实施例中,所述根据所有账户余额和所述各支付银行的支付频次数据确定对应的银行优先级,包括:
    18.将所述账户余额按照从大到小的顺序进行排序,得到账户余额序列;
    19.将所述账户余额序列的首位所对应的银行余额优先级确定为第一余额优先级,将第二位所对应的银行余额优先级确定为第二余额优先级,其中所述第一余额优先级等级高于第二余额优先级等级,以此类推直至所述账户余额序列中的末位所对应的银行余额优先级被确定为第n余额优先级,n为账户余额序列的长度;
    20.将各支付银行的支付频次数据按照从大到小的顺序排列形成频次序列;
    21.将所述频次序列的首位所对应的银行频次优先级确定为第一频次优先级,将第二位所对应的银行频次优先级确定为第二频次优先级,其中所述第一频次优先级等级高于第二频次优先级等级,以此类推直至所述频次序列中的末位所对应的银行频次优先级被确定为第m频次优先级,m为频次序列的长度;
    22.将每个银行所在账户余额序列的余额优先级和频次序列中的频次优先级叠加生成各支付银行的银行优先级。
    23.在优选的实施例中,所述根据所述银行优先级,确定支付银行,包括:
    24.对所述银行优先级进行排序,得到银行优先级序列;
    25.基于支付金额数据、所有账户余额和所述银行优先级序列选择至少一个支付银行。
    26.在优选的实施例中,基于支付金额数据、所有账户余额和所述银行优先级序列选择至少一个支付银行,包括:
    27.判断所述银行优先级序列中的首个序列位的余额数据是否不小于所述支付金额数据;
    28.若否,按照所述银行优先级序列的顺序依次判断相邻的下一个序列位之前所有序列位的余额数据总和是否不小于所述支付金额数据,直至一序列位之前所有序列位的余额数据总和大于或等于所述支付金额数据;
    29.选择该序列位之前的所有序列位对应的支付银行。
    30.在优选的实施例中,还包括:
    31.监控所述支付请求的数量和交互失败率,若其中任意一个超出设定阈值则生成预警信号。
    32.本发明的又一方面,提供一种多银行支付处理节点,包括:
    33.支付请求接收模块,接收非银行机构传输的支付请求信息;所述支付请求信息包括支付金额数据和支付账户信息;
    34.支付银行选择模块,获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据;
    35.请求报文传输模块,向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据。
    36.在优选的实施例中,支付银行选择模块,包括:
    37.余额序列生成单元,对所有账户余额数据按照从大到小的顺序进行排序,生成余额序列;
    38.余额判断单元,判断所述余额序列中的首个序列位的余额数据是否不小于所述支付金额数据;
    39.迭代单元,若否,按照所述余额序列的顺序依次判断相邻的下一个序列位之前所有序列位的余额数据总和是否不小于所述支付金额数据,直至一序列位之前所有序列位的余额数据总和大于或等于所述支付金额数据;
    40.支付银行选择单元,选择该序列位之前的所有序列位对应的支付银行。
    41.在优选的上实施例中,支付银行选择模块,包括:
    42.支付频次数据生成单元,获取所述支付账户对应各支付银行的支付频次数据;
    43.优先级生成单元,根据所有账户余额和所述各支付银行的支付频次数据确定对应的银行优先级;
    44.支付确定单元,根据所述银行优先级,确定支付银行。
    45.在优选的上实施例中,所述优先级生成单元,包括:
    46.余额序列生成单元,将所述账户余额按照从大到小的顺序进行排序,得到账户余额序列;
    47.余额优先级确定单元,将所述账户余额序列的首位所对应的银行余额优先级确定为第一余额优先级,将第二位所对应的银行余额优先级确定为第二余额优先级,其中所述第一余额优先级等级高于第二余额优先级等级,以此类推直至所述账户余额序列中的末位所对应的银行余额优先级被确定为第n余额优先级,n为账户余额序列的长度;
    48.频次序列生成单元,将各支付银行的支付频次数据按照从大到小的顺序排列形成频次序列;
    49.频次优先级确定单元,将所述频次序列的首位所对应的银行频次优先级确定为第一频次优先级,将第二位所对应的银行频次优先级确定为第二频次优先级,其中所述第一频次优先级等级高于第二频次优先级等级,以此类推直至所述频次序列中的末位所对应的银行频次优先级被确定为第m频次优先级,m为频次序列的长度;
    50.银行优先级确定单元,将每个银行所在账户余额序列的余额优先级和频次序列中的频次优先级叠加生成各支付银行的银行优先级。
    51.在优选的上实施例中,所述支付确定单元,包括:
    52.银行优先级排序单元,对所述银行优先级进行排序,得到银行优先级序列;
    53.支付银行选择单元,基于支付金额数据、所有账户余额和所述银行优先级序列选择至少一个支付银行。
    54.在优选的上实施例中,支付银行选择单元,包括:
    55.支付金额判断单元,判断所述银行优先级序列中的首个序列位的余额数据是否不小于所述支付金额数据;
    56.支付金额迭代确定单元,若否,按照所述银行优先级序列的顺序依次判断相邻的下一个序列位之前所有序列位的余额数据总和是否不小于所述支付金额数据,直至一序列位之前所有序列位的余额数据总和大于或等于所述支付金额数据;
    57.选择单元,选择该序列位之前的所有序列位对应的支付银行。
    58.在优选的实施例中,还包括:
    59.监控预警模块,监控所述支付请求的数量和交互失败率,若其中任意一个超出设定阈值则生成预警信号。
    60.本发明的又一方面,本技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种多银行支付处理方法。
    61.本发明的又一方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的一种多银行支付处理方法。
    62.由上述技术方案可知,本技术提供的一种多银行支付处理方法,通过获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据,之后向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据。本发明可兼容所有银行的支付,通过配置化的方式,提供了多银行支付方式,对于一笔交易可以同时采用多个银行组合支付,满足客户对不同支付渠道的要求。提升客户的便捷性,操作简单耗时少,大大提升了工作效率。
    附图说明
    63.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
    64.图1是本技术实施例中一种多银行支付处理方法流程示意图。
    65.图2是本技术实施例中支付银行选择的流程示意图之一。
    66.图3是本技术实施例中支付银行选择的流程示意图之二。
    67.图4是本技术实施例中银行优先级确定步骤的流程示意图。
    68.图5是一种多银行支付处理节点结构示意图。
    69.图6是本技术实施例中的电子设备的结构示意图。
    具体实施方式
    70.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
    71.需要说明的是,本技术公开的一种多银行支付处理方法及节点可用于金融领域,也可用于除金融及其他领域之外的任意领域,本技术公开的一种多银行支付处理方法及节点的应用领域不做限定。
    72.非银行机构传统的支付方式,需要通过登录各家银行的网上银行或者线下完成支付操作,如果机构需要通过不同的银行账户进行支付,则需要在不同的银行网银上进行切换,完成支付操作,在操作上极为不方便,同时耗时长,对于客户体验上极差,并且支付效率
    低。
    73.针对现有技术中的问题,本技术提供一种多银行支付处理方法及节点,通过获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据,之后向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据,从而本发明可兼容所有银行的支付,通过配置化的方式,提供了多银行支付方式,对于一笔交易可以同时采用多个银行组合支付,满足客户对不同支付渠道的要求。提升客户的便捷性,操作简单耗时少,大大提升了工作效率。
    74.下面结合附图对本发明提供的一种多银行支付处理方法及节点进行详细说明。
    75.在具体的实施例中,提供一种多银行支付处理方法,如图1,具体步骤包括:
    76.s1:接收非银行机构传输的支付请求信息;所述支付请求信息包括支付金额数据和支付账户信息;
    77.具体的,非银行机构若需要向某个收款银行账户支付相关金额,需要根据支付金额信息,收款银行信息等生成支付请求信息。例如一家公司由于业务需求,需要向a银行的1235567890卡号转入1000元,则根据该支付需求,生成支付请求信息,请求信息为向a银行1235567890转入1000.00。
    78.s2:获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据;
    79.具体的,非银行机构一般会存在多个可用于支付的银行账户,这些银行账户可以是相同银行的不同账户,也可以是不同银行的不同账户。对于支付银行的确定,是根据非银行机构所有银行账户的优先级来进行的。
    80.在具体的实施例中,银行优先级为银行余额优先级,该实施例中,步骤s2具体如图2所示,包括:
    81.s211:对所有账户余额数据按照从大到小的顺序进行排序,生成余额序列;
    82.s212:判断所述余额序列中的首个序列位的余额数据是否不小于所述支付金额数据;
    83.s213:若否,按照所述余额序列的顺序依次判断相邻的下一个序列位之前所有序列位的余额数据总和是否不小于所述支付金额数据,直至一序列位之前所有序列位的余额数据总和大于或等于所述支付金额数据;
    84.s214:选择该序列位之前的所有序列位对应的支付银行。
    85.本实施例中,基于余额进行选择,可以优先使用余额较多的银行账户。
    86.在其他实施例中,本技术的组合支付还可以更为灵活,基于银行优先级进行组合,如下所示。
    87.如图3所示,本发明的步骤s2包括:
    88.s221:获取所述支付账户对应各支付银行的支付频次数据;
    89.s222:根据所有账户余额和所述各支付银行的支付频次数据确定对应的银行优先级;
    90.s223:根据所述银行优先级,确定支付银行。
    91.本技术中,进一步结合用户的使用频率,对于用户主动多次采用的账户优先组合
    支付,从而避免用户的“非常用”账号被使用,提高用户体验。
    92.具体的,如图4所示,步骤s222具体包括:
    93.s2221:将所述账户余额按照从大到小的顺序进行排序,得到账户余额序列;
    94.s2222:将所述账户余额序列的首位所对应的银行余额优先级确定为第一余额优先级,将第二位所对应的银行余额优先级确定为第二余额优先级,其中所述第一余额优先级等级高于第二余额优先级等级,以此类推直至所述账户余额序列中的末位所对应的银行余额优先级被确定为第n余额优先级,n为账户余额序列的长度;
    95.s2223:将各支付银行的支付频次数据按照从大到小的顺序排列形成频次序列;
    96.s2224:将所述频次序列的首位所对应的银行频次优先级确定为第一频次优先级,将第二位所对应的银行频次优先级确定为第二频次优先级,其中所述第一频次优先级等级高于第二频次优先级等级,以此类推直至所述频次序列中的末位所对应的银行频次优先级被确定为第m频次优先级,m为频次序列的长度;
    97.s2225:将每个银行所在账户余额序列的余额优先级和频次序列中的频次优先级叠加生成各支付银行的银行优先级。
    98.具体的,以单独余额优先级为例,在后续的银行余额优先级的确定中,采用大额优先原则,即优先使用账户金额多的银行账户支付。为了确定银行的余额优先级,首先需要获取到该非银行机构所拥有的每个银行的账户金额。例如一家公司需要向一个a银行账户支付20万元。该公司目前拥有的银行账户涉及多个银行,例如a银行的账户金额为100万,b银行的账户金额为50万,c银行70万,e银行30万。
    99.具体的,获取了所有银行账户金额后,根据账户余额确定对应银行的余额优先级。对于余额优先级的设定,按照大额优先的原则,账户金额大的余额优先级高,账户金额小的余额优先级低。例如一个账户00001的金额为100万,一个账户00002的金额为50万,则账户00001的余额优先级高于账户00002,即在确定支付银行账户时优先原则账户00001进行支付。
    100.举例而言,将获取到的所有银行账户金额按照从大到小的顺序进行排列,例如获取到的银行账户金额有6个,分别为a银行账户金额100万,b银行账户金额为70万,c银行账户金额为20万,e银行15万,f银行12万,d银行16万,按照从大到小的顺序排列可得100万,70万,20万,16万,15万,12万,其对应的银行序列为a银行,b银行,c银行,d银行,e银行,f银行。
    101.得到账户金额序列即可得到对应的银行序列,根据大额优先的原则,账户金额大的账户余额优先级高于账户金额小的余额优先级。故将所述账户金额序列的首位所对应的银行余额优先级确定为第一余额优先级,将第二位所对应的银行余额优先级确定为第二余额优先级,其中所述第一余额优先级等级高于第二余额优先级等级,以此类推直至所述账户金额序列中的末位所对应的银行的余额优先级被确定为第n余额优先级,n为账户金额序列的长度。在具体的实施例中,例如账户金额序列为100万,70万,20万,16万,15万,12万,其对应的银行序列为a银行,b银行,c银行,d银行,e银行,f银行。那么a银行为第一余额优先级,b银行为第二余额优先级,c银行为第三余额优先级,d银行为第四余额优先级,e银行为第五余额优先级,f银行为第六余额优先级。
    102.对于频次优先级采用相同的原理进行确定,所不同的是,上述实施例中的余额替换为频次,在此不做赘述,可以理解,假设最终结果为:a银行为第三频次优先级,b银行为第
    二频次优先级,c银行为第一频次优先级,d银行为第六频次优先级,e银行为第四频次优先级,f银行为第五频次优先级。
    103.因此对于a银行而言,其银行优先级为:4(第一余额优先级 第三频次优先级),以此类推,对于多个银行而言,其数据更加随机,因此优先级相同的概率较小,而对于优先级相同的排序,可以按照某一规则决定并列排序或者先后排序,本技术不做限制。
    104.在一些实施例中,上述的支付银行选择步骤包括:
    105.s231:对所述银行优先级进行排序,得到银行优先级序列;
    106.s232:基于支付金额数据、所有账户余额和所述银行优先级序列选择至少一个支付银行。
    107.具体的,步骤s232具体包括:
    108.s2321:判断所述银行优先级序列中的首个序列位的余额数据是否不小于所述支付金额数据;
    109.s2322:若否,按照所述银行优先级序列的顺序依次判断相邻的下一个序列位之前所有序列位的余额数据总和是否不小于所述支付金额数据,直至一序列位之前所有序列位的余额数据总和大于或等于所述支付金额数据;
    110.s2323:选择该序列位之前的所有序列位对应的支付银行。
    111.具体的,当非银行机构所有银行账户的优先级被确定了,则支付银行的确定原则为优先级高的银行作为支付银行。若第一优先级所对应的银行账户金额小于待支付金额,则将第一优先级和第二优先级所对应的银行一起作为支付银行。若第一优先级和第二优先级所对应的银行账户金额总额仍然小于待支付金额,也将第一优先级,第二优先级和第三优先级所对应的银行一起作为支付银行。
    112.在具体的实施例中,由于每个银行的安全设置各不相同,其能够读取的报文信息是需要根据各银行的报文规则进行转换的。在具体的实施例中,常见的报文格式有:定长报文,分隔符报文,xml报文格式,sop报文格式,ltts报文,ltts2报文,serial报文,iso8583报文格式,cnpas1报文,cnpas2报文等。例如a银行的报文格式采用的是xml报文格式,则将与a银行相关的交互请求转换为a银行规定的xml报文格式;b银行采用的定长报文格式,则将与b银行相关的交互请求转换为b银行规定的定长报文格式。在具体的实施例中,根据每个银行的报文规则转换为各银行的报文后,为了传输的安全性,还需要将报文进行加密。每个银行的加密规则各不相同,例如a银行的加密规则为首先生成本次交互的数字签名,然后对报文进行对称加密。
    113.s3:向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据;
    114.具体的,经过加密处理后的支付请求信息(可通过报文形式传输))通过有线或者无线网络传输至各银行。在具体的实施例中,可用于通讯传输的协议有多种,例如tcp通讯,tuxedo通讯,http通讯,web service通讯,jms通讯,mq通讯等。根据每个银行规定的传输协议,将加密后的支付请求报文传输至各银行。例如a银行采用的是tcp通讯协议,其建立连接使用三次握手协议建立连接。当主动方发出syn连接请求后,等待对方回答syn ack,并最终对对方的syn执行ack确认。这种建立连接的方法可以防止产生错误的连接,tcp使用的流量
    控制协议是可变大小的滑动窗口协议。tcp三次握手的过程如下:客户端发送syn(seq=x)报文给服务器端,进入syn_send状态;服务器端收到syn报文,回应一个syn(seq=y)ack(ack=x 1)报文,进入syn_recv状态;客户端收到服务器端的syn报文,回应一个ack(ack=y 1)报文,进入established状态。三次握手完成,tcp客户端和服务器端成功地建立连接,可以开始传输数据了。
    115.各银行根据支付请求执行完对应的业务逻辑后,根据执行结果生成支付应答报文,然后经过加密处理后,传输至支付处理的服务器。在具体的实施例中,每个银行的支付应答报文的格式各不相同,加密规则也不同,并且采用的传输方式也不同。支付处理的服务器需要针对每个银行的报文格式,加密规则及传输方式,采用与之对应的接收方法和解析方法。
    116.在具体的实施例中,支付处理节点需要对支付请求的数量,交互的失败率进行监控,以防止系统奔溃,若其中任意一个超出设定阈值则生成预警信号。例如支付请求的数量的设定阈值为1000,当前接收到的支付请求的数量为1200,超出了设定阈值,则生成一预警信号,以便人工干预。
    117.结合一具体实施场景对本发明作进一步说明。
    118.场景1:一公司采买生产原料,需要向原料供应商的a银行账户支付货款100万。
    119.根据本发明的多银行支付处理方法,该公司根据实际情况,将原料供应商的a银行账户信息,需要支付金额信息组成支付请求,上传至支付处理节点。支付处理节点获取该公司所有的账户金额信息,并且进行排序,从而确定支付银行。例如该公司的账户金额信息有5条,分别为a银行50万,c银行80万,b银行40万,d银行70万,e银行60万,频次优先级有5条,分别为a银行5次,c银行8次,b银行4次,d银行7次,e银行6次。对账户金额和频次进行从大到小排序后可得,c银行为第一优先级,d银行为第二优先级,e银行为第三优先级,a银行为第四优先级,b银行为第五优先级。由于待支付金额大于c银行账户金额,但小于c银行和d银行账户金额总和,故将c银行和d银行一起确定为支付银行,其中由c银行账户支付80万,由d银行账户支付20万,分别生成对应的支付请求。根据c银行和d银行的报文规则和加密规则,分别将支付请求转换为加密的支付请求报文,并根据各银行的通讯协议向各银行传输各自的支付请求报文。当c银行和d银行完成相应的支付业务操作后,会生成对应的支付应答报文并传输至支付处理节点。支付处理节点接收并解析支付应答报文,然后显示支付是否成功。
    120.由以上描述可知,本发明提供的一种多银行支付处理方法,接收非银行机构传输的支付请求信息;所述支付请求信息包括支付金额数据和支付账户信息,获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据,向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据,从而本发明可兼容所有银行的支付,通过配置化的方式,提供了多银行支付方式,对于一笔交易可以同时采用多个银行组合支付,满足客户对不同支付渠道的要求。提升客户的便捷性,操作简单耗时少,大大提升了工作效率。
    121.从软件层面来说,本技术提供一种用于执行所述一种多银行支付处理方法中全部或部分内容的多银行支付处理节点的实施例,参见图5,所述多银行支付处理节点具体包含有如下内容:
    122.支付请求接收模块1,接收非银行机构传输的支付请求信息;所述支付请求信息包括支付金额数据和支付账户信息;
    123.支付银行选择模块2,获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据;
    124.请求报文传输模块3,向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据。
    125.由以上描述可知,本发明提供的多银行支付处理节点,本节点接收非银行机构传输的支付请求信息;所述支付请求信息包括支付金额数据和支付账户信息,获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据,向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据。本发明可兼容所有银行的支付,通过配置化的方式,提供了多银行支付方式,对于一笔交易可以同时采用多个银行组合支付,满足客户对不同支付渠道的要求。提升客户的便捷性,操作简单耗时少,大大提升了工作效率。
    126.具体的,非银行机构若需要向某个收款银行账户支付相关金额,需要根据支付金额信息,收款银行信息等生成支付请求信息。例如一家公司由于业务需求,需要向a银行的1235567890卡号转入1000元,则根据该支付需求,生成支付请求信息,请求信息为向a银行1235567890转入1000.00。
    127.具体的,非银行机构一般会存在多个可用于支付的银行账户,这些银行账户可以是相同银行的不同账户,也可以是不同银行的不同账户。对于支付银行的确定,是根据非银行机构所有银行账户的优先级来进行的。
    128.本实施例中,基于余额进行选择,可以优先使用余额较多的银行账户。
    129.在其他实施例中,本技术的组合支付还可以更为灵活,基于银行优先级进行组合,如下所示。
    130.在优选的上实施例中,支付银行选择模块,包括:
    131.支付频次数据生成单元,获取所述支付账户对应各支付银行的支付频次数据;
    132.优先级生成单元,根据所有账户余额和所述各支付银行的支付频次数据确定对应的银行优先级;
    133.支付确定单元,根据所述银行优先级,确定支付银行。
    134.具体的,在后续的银行优先级的确定中,采用大额优先原则,即优先使用账户金额多的银行账户支付。为了确定银行的优先级,首先需要获取到该非银行机构所拥有的每个银行的账户金额。例如一家公司需要向一个a银行账户支付20万元。该公司目前拥有的银行账户涉及多个银行,例如a银行的账户金额为100万,b银行的账户金额为50万,c银行70万,e银行30万。
    135.具体的,获取了所有银行账户金额后,根据账户余额确定对应银行的优先级。对于优先级的设定,按照大额优先的原则,账户金额大的优先级高,账户金额小的优先级低。例如一个账户00001的金额为100万,一个账户00002的金额为50万,则账户00001的优先级高于账户00002,即在确定支付银行账户时优先原则账户00001进行支付。
    136.本技术中,进一步结合用户的使用频率,对于用户主动多次采用的账户优先组合支付,从而避免用户的“非常用”账号被使用,提高用户体验。
    137.在优选的上实施例中,所述优先级生成单元,包括:
    138.余额序列生成单元,将所述账户余额按照从大到小的顺序进行排序,得到账户余额序列;
    139.余额优先级确定单元,将所述账户余额序列的首位所对应的银行余额优先级确定为第一余额优先级,将第二位所对应的银行余额优先级确定为第二余额优先级,其中所述第一余额优先级等级高于第二余额优先级等级,以此类推直至所述账户余额序列中的末位所对应的银行余额优先级被确定为第n余额优先级,n为账户余额序列的长度;
    140.频次序列生成单元,将各支付银行的支付频次数据按照从大到小的顺序排列形成频次序列;
    141.频次优先级确定单元,将所述频次序列的首位所对应的银行频次优先级确定为第一频次优先级,将第二位所对应的银行频次优先级确定为第二频次优先级,其中所述第一频次优先级等级高于第二频次优先级等级,以此类推直至所述频次序列中的末位所对应的银行频次优先级被确定为第m频次优先级,m为频次序列的长度;
    142.银行优先级确定单元,将每个银行所在账户余额序列的余额优先级和频次序列中的频次优先级叠加生成各支付银行的银行优先级。
    143.举例而言,将获取到的所有银行账户金额按照从大到小的顺序进行排列,例如获取到的银行账户金额有6个,分别为a银行账户金额100万,b银行账户金额为70万,c银行账户金额为20万,e银行15万,f银行12万,d银行16万,按照从大到小的顺序排列可得100万,70万,20万,16万,15万,12万,其对应的银行序列为a银行,b银行,c银行,d银行,e银行,f银行。
    144.得到账户金额序列即可得到对应的银行序列,根据大额优先的原则,账户金额大的账户余额优先级高于账户金额小的余额优先级。故将所述账户金额序列的首位所对应的银行余额优先级确定为第一余额优先级,将第二位所对应的银行余额优先级确定为第二余额优先级,其中所述第一余额优先级等级高于第二余额优先级等级,以此类推直至所述账户金额序列中的末位所对应的银行的余额优先级被确定为第n余额优先级,n为账户金额序列的长度。在具体的实施例中,例如账户金额序列为100万,70万,20万,16万,15万,12万,其对应的银行序列为a银行,b银行,c银行,d银行,e银行,f银行。那么a银行为第一余额优先级,b银行为第二余额优先级,c银行为第三余额优先级,d银行为第四余额优先级,e银行为第五余额优先级,f银行为第六余额优先级。
    145.对于频次优先级采用相同的原理进行确定,所不同的是,上述实施例中的余额替换为频次,在此不做赘述,可以理解,假设最终结果为:a银行为第三频次优先级,b银行为第二频次优先级,c银行为第一频次优先级,d银行为第六频次优先级,e银行为第四频次优先级,f银行为第五频次优先级。
    146.因此对于a银行而言,其银行优先级为:4(第一余额优先级 第三频次优先级),以此类推,对于多个银行而言,其数据更加随机,因此优先级相同的概率较小,而对于优先级相同的排序,可以按照某一规则决定并列排序或者先后排序,本技术不做限制。
    147.当非银行机构所有银行账户的优先级被确定了,则支付银行的确定原则为优先级高的银行作为支付银行。若第一优先级所对应的银行账户金额小于待支付金额,则将第一
    优先级和第二优先级所对应的银行一起作为支付银行。若第一优先级和第二优先级所对应的银行账户金额总额仍然小于待支付金额,也将第一优先级,第二优先级和第三优先级所对应的银行一起作为支付银行。
    148.在具体的实施例中,由于每个银行的安全设置各不相同,其能够读取的报文信息是需要根据各银行的报文规则进行转换的。在具体的实施例中,常见的报文格式有:定长报文,分隔符报文,xml报文格式,sop报文格式,ltts报文,ltts2报文,serial报文,iso8583报文格式,cnpas1报文,cnpas2报文等。例如a银行的报文格式采用的是xml报文格式,则将与a银行相关的交互请求转换为a银行规定的xml报文格式;b银行采用的定长报文格式,则将与b银行相关的交互请求转换为b银行规定的定长报文格式。在具体的实施例中,根据每个银行的报文规则转换为各银行的报文后,为了传输的安全性,还需要将报文进行加密。每个银行的加密规则各不相同,例如a银行的加密规则为首先生成本次交互的数字签名,然后对报文进行对称加密。
    149.在优选的上实施例中,所述支付确定单元,包括:
    150.银行优先级排序单元,对所述银行优先级进行排序,得到银行优先级序列;
    151.支付银行选择单元,基于支付金额数据、所有账户余额和所述银行优先级序列选择至少一个支付银行。
    152.在优选的上实施例中,支付银行选择单元,包括:
    153.支付金额判断单元,判断所述银行优先级序列中的首个序列位的余额数据是否不小于所述支付金额数据;
    154.支付金额迭代确定单元,若否,按照所述银行优先级序列的顺序依次判断相邻的下一个序列位之前所有序列位的余额数据总和是否不小于所述支付金额数据,直至一序列位之前所有序列位的余额数据总和大于或等于所述支付金额数据;
    155.选择单元,选择该序列位之前的所有序列位对应的支付银行。
    156.在优选的实施例中,还包括:
    157.监控预警模块,监控所述支付请求的数量和交互失败率,若其中任意一个超出设定阈值则生成预警信号。
    158.在具体的实施例中,支付处理节点需要对支付请求的数量,交互的失败率进行监控,以防止系统奔溃,若其中任意一个超出设定阈值则生成预警信号。例如支付请求的数量的设定阈值为1000,当前接收到的支付请求的数量为1200,超出了设定阈值,则生成一预警信号,以便人工干预。
    159.从硬件层面来说,本技术提供一种用于实现一种多银行支付处理方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
    160.图6为本技术实施例的电子设备9600的系统构成的示意框图。如图6所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图6是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
    161.在一实施例中,一种多银行支付处理方法功能可以被集成到中央处理器中。
    162.其中,中央处理器可以被配置为进行如下控制:
    163.s1:接收非银行机构传输的支付请求信息;所述支付请求信息包括支付金额数据
    和支付账户信息;
    164.s2:获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据;
    165.s3:向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据。
    166.从上述描述可知,本技术实施例提供的电子设备,可兼容所有银行的支付,通过配置化的方式,满足客户对不同支付渠道的要求。提升客户的便捷性,操作简单耗时少,大大提升了工作效率。
    167.在另一个实施方式中,多银行支付处理节点可以与中央处理器9100分开配置,例如可以多银行支付处理节点配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现一种多银行支付处理方法功能。
    168.如图6所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图6中所示的所有部件;此外,电子设备9600还可以包括图6中没有示出的部件,可以参考现有技术。
    169.如图6所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器节点和/或逻辑节点,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
    170.其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适节点中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
    171.输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入节点。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。
    172.该存储器9140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器9140还可以是某种其它类型的节点。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
    173.存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
    174.通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
    175.基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝
    网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
    176.本技术的实施例还提供能够实现上述实施例中的一种多银行支付处理方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的一种多银行支付处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
    177.s1:接收非银行机构传输的支付请求信息;所述支付请求信息包括支付金额数据和支付账户信息;
    178.s2:获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据;
    179.s3:向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据。
    180.从上述描述可知,本技术实施例提供的计算机可读存储介质,可兼容所有银行的支付,通过配置化的方式,满足客户对不同支付渠道的要求。提升客户的便捷性,操作简单耗时少,大大提升了工作效率。
    181.本领域内的技术人员应明白,本发明的实施例可提供为方法、节点、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
    182.本发明是参照根据本发明实施例的方法、设备(节点)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的节点。
    183.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令节点的制造品,该指令节点实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
    184.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
    185.本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

    技术特征:
    1.一种多银行支付处理方法,其特征在于,包括:接收非银行机构传输的支付请求信息;所述支付请求信息包括支付金额数据和支付账户信息;获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据;向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据。2.根据权利要求1所述的一种多银行支付处理方法,其特征在于,基于所有账户余额选择至少一个支付银行,包括:对所有账户余额数据按照从大到小的顺序进行排序,生成余额序列;判断所述余额序列中的首个序列位的余额数据是否不小于所述支付金额数据;若否,按照所述余额序列的顺序依次判断相邻的下一个序列位之前所有序列位的余额数据总和是否不小于所述支付金额数据,直至一序列位之前所有序列位的余额数据总和大于或等于所述支付金额数据;选择该序列位之前的所有序列位对应的支付银行。3.根据权利要求1所述的一种多银行支付处理方法,其特征在于,基于所有账户余额选择至少一个支付银行,包括:获取所述支付账户对应各支付银行的支付频次数据;根据所有账户余额和所述各支付银行的支付频次数据确定对应的银行优先级;根据所述银行优先级,确定支付银行。4.根据权利要求3所述的一种多银行支付处理方法,其特征在于,所述根据所有账户余额和所述各支付银行的支付频次数据确定对应的银行优先级,包括:将所述账户余额按照从大到小的顺序进行排序,得到账户余额序列;将所述账户余额序列的首位所对应的银行余额优先级确定为第一余额优先级,将第二位所对应的银行余额优先级确定为第二余额优先级,其中所述第一余额优先级等级高于第二余额优先级等级,以此类推直至所述账户余额序列中的末位所对应的银行余额优先级被确定为第n余额优先级,n为账户余额序列的长度;将各支付银行的支付频次数据按照从大到小的顺序排列形成频次序列;将所述频次序列的首位所对应的银行频次优先级确定为第一频次优先级,将第二位所对应的银行频次优先级确定为第二频次优先级,其中所述第一频次优先级等级高于第二频次优先级等级,以此类推直至所述频次序列中的末位所对应的银行频次优先级被确定为第m频次优先级,m为频次序列的长度;将每个银行所在账户余额序列的余额优先级和频次序列中的频次优先级叠加生成各支付银行的银行优先级。5.根据权利要求4所述的一种多银行支付处理方法,其特征在于,所述根据所述银行优先级,确定支付银行,包括:对所述银行优先级进行排序,得到银行优先级序列;基于支付金额数据、所有账户余额和所述银行优先级序列选择至少一个支付银行。
    6.根据权利要求5所述的一种多银行支付处理方法,其特征在于,基于支付金额数据、所有账户余额和所述银行优先级序列选择至少一个支付银行,包括:判断所述银行优先级序列中的首个序列位的余额数据是否不小于所述支付金额数据;若否,按照所述银行优先级序列的顺序依次判断相邻的下一个序列位之前所有序列位的余额数据总和是否不小于所述支付金额数据,直至一序列位之前所有序列位的余额数据总和大于或等于所述支付金额数据;选择该序列位之前的所有序列位对应的支付银行。7.根据权利要求1所述的一种多银行支付处理方法,其特征在于,还包括:监控所述支付请求的数量和交互失败率,若其中任意一个超出设定阈值则生成预警信号。8.一种多银行支付处理节点,其特征在于,包括:支付请求接收模块,接收非银行机构传输的支付请求信息;所述支付请求信息包括支付金额数据和支付账户信息;支付银行选择模块,获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据;请求报文传输模块,向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的一种多银行支付处理方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的一种多银行支付处理方法。

    技术总结
    本申请实施例提供一种多银行支付处理方法及节点,涉及金融及其他领域,通过获取支付账户所在各银行的账户余额,并基于所有账户余额选择至少一个支付银行,并生成各支付银行对应交易的金额数据,之后向选择的每个支付银行对应的服务器传输所述支付请求信息和对应交易的金额数据,以使所有所述支付银行服务器基于所述支付请求报文和所述金额数据组合支付所述支付金额数据。本申请可兼容所有银行的支付,通过配置化的方式,满足客户对不同支付渠道的要求。提升客户的便捷性,操作简单耗时少,大大提升了工作效率。大大提升了工作效率。大大提升了工作效率。


    技术研发人员:王晨
    受保护的技术使用者:中国工商银行股份有限公司
    技术研发日:2022.02.18
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-8965.html

    最新回复(0)