1、商户计费配置
首先需要说明的是,除了在计费系统直接配置计费规则外,还有多种方式进行计费数据的配置。比如在合同签约时,可以将商户计费规则配置在合同系统中,由合同系统推送至计费系统中;支付通道可在配置通道基础信息里配置收费规则,由物理通道计费信息与计费规则保持同步,推送至计费规则。
这里重点来看商户计费规则应该有哪些信息,至于如何记录或生成计费信息,不展开介绍。
另外还要说的是,这里的计费配置设计有两个方向。
一个方向是把支付产品拆解得足够细,用支付产品来定义手续费,比如可以将信用卡拆解为信用卡快捷、信用卡非快捷、信用卡不区分、信用卡3DS等。在这个方向上,可以按照业务要无限枚举支付产品。
另一个方向是支付产品颗粒度粗,用支付产品+其他字段属性代表-条唯一的规则,比如信用卡3DS产品可以用信用卡支付产品+是否3DS来表示。
如图1所示,在商户计费规则配置模块中,有不同维度的属性。支付核心模块支付完成后,推送账单模块,账单模块调用计费模块获取信息并生成最终对账单,而计费模块就是按照这些字段计算出每一笔手续费的。
图1 商户计费规则信息
下面一一展开说明商户计费规则中的属性。
(1)计费规则ID
每一条规则自动生成不重复的编号。由于计费的维度很多,一个商户可以有多条计费规则,也可以在一条计费规则里配置多个计费维度。多条还是一条属于UI层面的问题,大家可以按照实际需要来,在这里我们以一个商户一条规则、一个计费维度来演示。
(2)商户信息
商户信息部分有3个必填项。
·商户号:每个商户的唯一ID,比如0001。
·商户名称:与商户号一一对应,比如老王有限公司。
·规则名称:作用是方便相关人员从名称大概了解规则内容,比如老王有限公司3DS交易规则。
(3)计费维度
关于计费维度需要说明的是,维度有很多,不是每个维度都是必填项。另外,如果配置了多个计费维度,很可能会一笔交易命中多个计费维度,这时按照优先级高的执行。
·币种:交易发生时上送支付网关金额所对应的币种,比如美元、元。在多币种的支付能力里,要特别注意交易币种,否则将印尼盾结算成美元,资损就太大了。
·地区:按实际地理位置划分的地区。不同的地区收费方式可能不一样,之前我们介绍卡组织时说过不同地区的收费差异,所以这里按照实际需要进行地区划分,比如亚洲、欧洲。
·国家:实际地理位置。同一地区不同国家的收费情况不一样,这里按照国家划分,比如中国、美国。
·卡组织:按照卡组织计费。常见的卡组织有Visa、Mastercard、JCB、美国运通等。
·卡类型:按照卡类型计费。卡类型有贷记卡、借记卡、准贷记卡,可以扩展“余额”类别。
·账户类型:用来表示是对公交易还是对私交易。
·支付方式:按照不同支付方式计费,比如信用卡支付、借记卡支付、账户支付等。你可能会有疑问,卡类型与支付方式是否重复。
答案是,如果提供的支付能力只有卡基支付,那么这里是重复的;但如果提供的支付能力包括账户支付,那么就不重复。通过支付方式+卡类型可以实现钱包账户信用卡支付的计费。
·交易方式:这里指是DCC还是EDC。DCC(Dynamic Currency Conversion),中文译名为“动态货币转换”,是一种实时的动态汇率转换服务,动态货币转换指在境外刷卡交易过程中,收单行将当地货币实时转换为持卡人选择的货币(一般为持卡人记账货币或本国货币),本意是以此来降低持卡人在交易日至还款日之间的汇兑风险。 EDC(Electronic Data Capture) 直译:电子数据捕获服务, EDC跟DCC有一些不同,消费者在支付过程中是不知道本次交易的实时汇率是多少的,持卡人支付时仅知道商家标价的本地货币价格,在收到账单后才知道本位币的扣款金额。
·风险模型:支付中有3DS和非3DS,按照3DS和非3DS单独计费。
支付通道:按照支付通道计费,比如某某代扣通道、银联认证通道。
·到账时效:用于按照商户到账时间来计费,比如实时到账、T+1到账等。
·支付产品:按照支付产品计费,比如免密支付产品、鉴权产品等。支付产品和规则维度成反比关系:如果支付产品维度足够细,那么规则维度就可以精简;如果支付产品维度粗,那么规则维度就需要细。
(4)计费规则类型
计费规则类型部分有以下4项内容。
·交易类型:按照不同交易类型计费,比如转账、代扣、代付等。
·单笔/批量:计费形式,用于区分是按单笔收费还是按批次收费。
·计费类型:用来表示单笔收费、按照百分比、按照阶梯手续费或者是否有封顶手续费等不同计费类型。
·手续费:表示具体手续费值。当然,阶梯和非阶梯表现不一样,图1中未体现。
(5)计费规则状态
计费规则状态部分有以下3项内容。
·状态:确定规则的有效性,比如生效还是失效。
·生效日期/失效日期:表达规则有效期。比如,二者的取值20200101和20200301表示2020年1月1日到2020年3月1日这段时间内有效。
·优先级:同一商户同样匹配规则按照优先级顺序执行,甚至还可以定义对于相同优先级的规则,创建时间晚的优先。
(6)结费属性
结费属性部分有以下4项内容。
·费用结算周期:比如按月结还是按日结。
·结算日:每月固定日期结算,还是T+1或D+1。
·结算日期类型:工作日还是自然日结算。
·收费方式:全额结算还是净额结算。
通过上述字段及其排列组合,我们能够灵活地对商户配置计费规则,并且能够设置不同优先级的计费规则。接下来看看如何接受调用方请求进行查询与计费。
2、商户计费规则查询与计费
商户计费服务有两个职能:一是支持查询手续费计费规则,一是支持计算手续费。两种职能不一样,如果请求类型是查询手续费计费规则,那么就根据查询参数返回目前优先级最高的手续费情况;如果请求类型是计算手续费,那么就根据请求参数返回具体手续费计算金额。
无论是查询还是计费,请求参数都是根据上面的配置条件项来的,差别仅在于是返回手续费计费规则(如内扣还是外扣、3‰还是每笔1元手续费),还是返回计算好的具体手续费(如1元人民币)。
因此,这里不再一一列举请求参数和返回参数。
但计费规则是有优先级的。优先级除了直接手动设定之外,还可以以规则内容的详细程度来决定。与之前路由系统中的基础路由或引导路由一样,匹配到的规则中,越具体的优先级越高,见下面的例子。
某商户的交易请求为美元交易、卡组织为Mastercard、支付方式为信用卡交易、风险模型为3DS、交易类型为消费。交易完成后需要进行计费,而交易计费规则配置有两条。
1)计费规则ID:0001
[计费维度]
商户:001
币种:全选
地区:全选
国家:全选
卡组织:全选
卡类型:全选
账户类型:全选
支付方式:全选
交易方式:全选
风险模型:全选
支付通道:全选
到账时效:全选
支付产品:全选
交易类型:全选
[计费规则类型]
交易类型:全选
单笔/批量:单笔
计费类型:按百分比
手续费:3‰
2)计费规则ID:0002
[计费维度]
商户:001
币种:美元
地区:全选
国家:全选
卡组织:Mastercard
卡类型:全选
账户类型:全选
支付方式:信用卡
交易方式:全选
风险模型:3DS
支付通道:全选
到账时效:全选
支付产品:全选
交易类型:全选
[计费规则类型]
交易类型:全选
单笔/批量:单笔
计费类型:按百分比
手续费:5‰
对于上面的例子,在对该商户的交易进行计费规则匹配时,虽然计费规则0001与0002都符合,但规则0002由于配置更细,剔除全选后匹配项更多,所以优先级更高。基于此,计费服务会选择计费规则0002进行计费,这笔交易的计费手续费为5‰。
需要说明的是,让什么规则的优先级更高取决于你自身的实际情况和商业目标,不能一概而论。上面的案例是剔除全选后,配置得越具体的优先级越高;而如果你的目标是收取更多手续费,那么就按照手续费更高的计费规则计费;你还可以在这些要素之间设定优先顺序,比如符合币种优先,其次是风险模型。总之,规则是服务于目的的。
3、支付通道成本模块
支付的过程始终连接着两边:商户与支付通道。上面已经了解了商户的计费模块配置,这里再来看通道计费规则就会容易很多,几乎一样。因为我们与商户、支付通道与我们之间都是上下游关系,所以理论上,我们与商户之间有哪些收费方式和计费模型,通道与我们之间就有哪些收费方式和计费模型,具体见图2。
如图2所示,通道计费规则中也有各种各样的属性。支付核心模块支付完成后,推送账单模块,账单模块调用计费模块获取信息并生成最终对账单;而计费模块就是按照这些字段计算出每一笔手续费的。
图2 支付通道计费成本
图2中各个字段在商户计费规则中展开说明过,查询与计费逻辑也都与商户计费规则几乎一致,这里不再赘述。
以上基本就是商户和通道的计费模型与逻辑设计了,但正如哲学上所说,事物具有普遍性和特殊性,具有共性和个性。这里只是基于“共性”的说明,大家在具体实操和处理需求时也许还会面对各种各样的“个性”,比如结算时需要有保证金,只结算交易的一部分,剩下的部分作为风险拒付等方面的保证金。