A multi-dimensional weighted score-based payment channel intelligent routing method
Patent Information
- Application Number
- CN202611304035.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-26
- Publication Date
- 2026-09-22
AI Technical Summary
[0006]为了解决固定指定、轮询或者随机分配方式难以同时结合代付通道当前运行条件、额度占用状态和卡BIN与通道之间历史风险的问题,本发明提出一种基于多维度加权评分的代付通道智能路由方法
本发明根据交易金额、当前交易时间、当前卡BIN和卡种类型,从通道状态、营业时间、日额度余额、金额分段限制、卡种限制、日交易笔数限制和通道优先级七个维度确定待评估通道对应的权重,使代付通道选择能够同时反映当前交易条件及各待评估通道的当前配置状态,降低仅依据固定通道或者单一优先级进行选路所产生的适配偏差。结合机构通道日剩余额度、通道全局日剩余额度和冻结金额确定可用额度,并在昨日同期交易样本达到预设条件时,根据昨日同期交易速度确定基础预测可支撑时间;进一步根据历史路由记录中的选定通道和备选通道,利用当前通道配置参数对历史代付交易进行重新路由评估,统计可能由其他通道转移至当前待评估通道的待迁移交易金额,并据此确定迁移修正交易速度以及校正后的预测可支撑时间。由此能够在其他通道实际达到阻断条件和交易流量发生迁移之前,提前估算当前待评估通道可能承受的新增交易流量,减少仅依据当前通道自身昨日同期交易速度而高估额度可支撑时间的情况,提前调整额度可能快速耗尽通道的路由优先级。在昨日同期交易样本未达到预设条件时,将日额度余额权重增量确定为零,可以减少样本不足对额度耗尽预测结果的影响。以当前卡BIN与各待评估通道构成的组合作为风险评价粒度,根据对应组合的历史失败率、拒付率和风控拦截占比确定风险附加权重,使通道总权重能够反映不同卡BIN与不同待评估通道之间的历史交易风险差异。将七个评估维度对应的权重与风险附加权重汇总形成通道总权重,通过预设通道阻断值限定能够参与路由的待评估通道,并从中选择通道总权重最小的待评估通道发送交易报文,形成从交易条件获取、多维度评价、额度支撑能力预测、组合风险评价、阻断筛选至交易执行的完整路由处理链路,有利于提高代付通道选择与当前交易条件的匹配程度及路由可靠性。
Smart Images

Figure CN122798415A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of transaction processing technology, and in particular to a smart routing method for payment channels based on multi-dimensional weighted scoring. Background Technology
[0002] During merchant clearing and fund settlement, merchant withdrawals and other payment transactions typically require payment through a payment channel. Payment channels are used to transmit transaction messages between the transaction processing system and the corresponding fund processing institution. Different payment channels have attributes such as channel status, operating hours, daily limit, transaction amount range, supported card types, daily transaction limit, and operational priority.
[0003] Existing payment gateway routing methods typically employ fixed assignment, round-robin, or random allocation. Fixed assignment assigns a destination channel for transactions during merchant onboarding or service configuration, with subsequent transactions continuously sent through that channel. Round-robin or random allocation distributes transactions across multiple channels. These routing decisions often fail to simultaneously consider real-time channel status, credit limit usage, card type compatibility, and historical transaction risks.
[0004] When a designated channel is in an abnormal state, outside of business hours, has insufficient daily credit limit, or the transaction amount does not meet channel restrictions, or the card type does not meet channel support requirements, transactions are likely to fail directly. When the remaining credit limits of multiple channels are consumed at different rates, routing based solely on the current balance may cause transactions to continue to concentrate on channels whose credit limits are about to run out. When the same card BIN exhibits different failure, chargeback, or risk control interception behaviors on different channels, relying solely on the overall channel status is insufficient to achieve risk matching between the card BIN and specific channels.
[0005] Furthermore, the weights formed by fixed configurations are difficult to reflect in a timely manner changes in the success rate of a channel, such as a decrease in response time, an increase in response time, or a change in the rate at which the quota is consumed within a short period of time. In scenarios where a specific channel is designated for a transaction, there may be a lack of a process to automatically switch to other channels after the designated channel fails. Summary of the Invention
[0006] To address the challenge of combining fixed allocation, polling, or random assignment methods with the current operating conditions of the payment channel, its credit limit occupancy status, and the historical risks between the card BIN and the channel, this invention proposes a smart routing method for payment channels based on multi-dimensional weighted scoring. This method converts various routing constraints into aggregateable and comparable weights, predicts credit limit depletion trends based on the current credit limit assessment, and quantifies the historical combination risks of the current card BIN and each channel. This allows for the selection of suitable routing channels from among the channels to be evaluated whose total channel weight is below a preset channel blocking value.
[0007] According to a first aspect of the present invention, a smart routing method for payment channels based on multi-dimensional weighted scoring is proposed, comprising: S1. Receive payment transaction requests, obtain transaction amount, current transaction time, current card BIN and card type, and identify at least one channel to be evaluated; S2. For each of the channels to be evaluated, determine the corresponding weight based on the channel status, business hours, daily credit limit, amount segmentation limit, card type limit, daily transaction limit, and channel priority. The available credit is determined based on the daily remaining credit limit of the institutional channel, the daily remaining credit limit of the channel as a whole, and the frozen amount. The weight corresponding to the daily credit limit balance is determined based on the available credit limit, the daily remaining credit limit of the institutional channel, the daily remaining credit limit of the channel as a whole, and the transaction amount. The daily remaining credit limit of the institutional channel is the daily remaining credit limit under the combined dimension of the access institution to which the current payment transaction belongs and the channel to be evaluated. The daily remaining credit limit of the channel as a whole is the daily remaining credit limit shared by different access institutions under the dimension of the channel to be evaluated. The frozen amount is the amount reserved and frozen from the daily remaining credit limit of the institutional channel under the combined dimension of the access institution and the channel to be evaluated. When the available credit limit is greater than or equal to the transaction amount, and When the historical transaction data within the same time window yesterday meets the preset start conditions, the transaction speed of the same period yesterday is determined based on the historical transaction data, and the basic predicted support time is determined based on the available quota and the transaction speed of the same period yesterday. The historical payment transactions are re-routed and evaluated based on the historical routing records and the current channel configuration parameters. The migration correction transaction speed of each of the channels to be evaluated is determined based on the re-routing evaluation results and the transaction amount of the corresponding historical payment transactions. The basic predicted support time is corrected based on the migration correction transaction speed to obtain the predicted support time. The daily quota balance weight increment is determined based on the predicted support time, and the daily quota balance weight increment is accumulated to the weight corresponding to the daily quota balance. The risk-added weight is determined based on the historical transaction results corresponding to the current card BIN and each of the channels to be evaluated; S3. Add the weights corresponding to the channel status, business hours, daily credit limit, amount segmentation limit, card type limit, daily transaction limit, and channel priority to the risk-added weight to obtain the total channel weight of each of the channels to be evaluated; from the channels to be evaluated whose total channel weight is lower than the preset channel blocking value, determine the channel with the smallest total channel weight as the optimal routing channel, and send the transaction message corresponding to the payment transaction request through the optimal routing channel.
[0008] In some specific embodiments, determining the available quota based on the institutional channel's daily remaining quota, the channel's global daily remaining quota, and the frozen amount, and determining the weight corresponding to the daily quota balance based on the available quota, the institutional channel's daily remaining quota, the channel's global daily remaining quota, and the transaction amount, includes: Obtain the institution's daily remaining quota, the channel's global daily remaining quota, the frozen amount, and the transaction amount; The available quota is determined by the smaller of the remaining daily quota of the institution channel after deducting the frozen amount and the remaining daily quota of the channel. When the remaining daily quota of the institutional channel, the remaining daily quota of the channel, and the difference between the remaining daily quota of the institutional channel and the frozen amount are all greater than or equal to the transaction amount, the quota is determined to be sufficient, and the weight corresponding to the daily quota balance is determined as the preset available weight. When both the daily remaining quota of the institutional channel and the daily remaining quota of the channel are greater than or equal to the transaction amount, but the difference between the daily remaining quota of the institutional channel and the frozen amount is less than the transaction amount, the weight corresponding to the daily quota balance is determined as the second largest unavailable value. When the remaining daily quota of the institutional channel or the global daily quota of the channel is less than the transaction amount, the weight corresponding to the daily quota balance is determined as the preset channel blocking value; Wherein, the preset second largest unavailable value is greater than the preset available weight and less than the preset channel blocking value.
[0009] In some specific embodiments, assuming the credit limit is sufficient, the historical transaction data within the same time window yesterday includes the total actual transaction amount and the number of transactions. The determination of the transaction speed of the same period yesterday, the basic predicted support time, and the daily credit limit balance weight increment includes: Divide the day into multiple one-hour time windows with the hour as the boundary; Based on the current trading time, determine the time window where yesterday's trading time and the current trading time are in the same period, and define the time window that is in the same period as yesterday's concurrent time window; Obtain the total actual transaction amount and number of transactions for each of the channels to be evaluated within the same time window of yesterday, as statistically analyzed periodically by the batch processing system. When the total actual transaction amount is lower than a preset transaction amount threshold or the number of transactions is lower than a preset number of transactions threshold, the daily quota balance weight increment is determined to be zero. When the total actual transaction amount reaches the preset transaction amount threshold and the number of transactions reaches the preset number of transactions threshold, the transaction speed of the same period yesterday is determined based on the ratio of the total actual transaction amount to the length of the same period yesterday time window, and the basic predicted support time is determined based on the ratio of the available quota to the transaction speed of the same period yesterday; the daily quota balance weight increment is determined based on the comparison result of the predicted support time with the first preset duration threshold and the second preset duration threshold. Wherein, the second preset duration threshold is greater than the first preset duration threshold; when the predicted support time is less than the first preset duration threshold, the first preset weight increment is determined as the daily credit limit balance weight increment; when the predicted support time is greater than or equal to the first preset duration threshold and less than the second preset duration threshold, the second preset weight increment is determined as the daily credit limit balance weight increment; when the predicted support time is greater than or equal to the second preset duration threshold, the daily credit limit balance weight increment is determined to be zero, and the first preset weight increment is greater than the second preset weight increment.
[0010] In some specific embodiments, the step of rerouting and evaluating historical payment transactions based on historical routing records and current channel configuration parameters, determining the migration correction transaction speed for each of the channels to be evaluated based on the rerouting evaluation results and the corresponding transaction amounts of historical payment transactions, and correcting the basic predicted support time based on the migration correction transaction speed includes: Obtain the transaction amount, selected channel, and alternative channels for each historical payment transaction within a preset observation time window. The alternative channels are the payment channels with the smallest total channel weight among the payment channels that are not selected and whose total channel weight is lower than the preset channel blocking value in the routing evaluation results of the corresponding historical payment transactions. The historical payment transactions are re-evaluated using the current channel configuration parameters. When the total weight of the selected channel after re-evaluation is greater than or equal to the preset channel blocking value, and the total weight of the alternative channel after re-evaluation is lower than the preset channel blocking value, the corresponding historical payment transaction is determined as the transaction to be migrated corresponding to the alternative channel. For any of the channels to be evaluated, the transaction amounts of each of the transactions to be migrated, which use the channel to be evaluated as a candidate channel, are added together to obtain the transaction amount to be migrated. The total transaction amount actually received by the channel to be evaluated within the preset observation time window is obtained, and the ratio of the sum of the actual total transaction amount received and the transaction amount to be migrated to the length of the preset observation time window is determined as the migration correction transaction speed. When the migration correction transaction speed is not zero and the number of historical payment transactions within the preset observation time window reaches the preset number of replays to be initiated, the ratio of the available credit limit to the larger of the transaction speed of the same period yesterday and the migration correction transaction speed is determined as the predicted support time. When the migration correction transaction speed is zero, or when the number of historical payment transactions within the preset observation time window is lower than the preset number of replay initiation transactions, the basic predicted support time is determined as the predicted support time.
[0011] In some specific embodiments, the determination of the risk-added weight includes: For the combination of the current card BIN and any of the channels to be evaluated, the total number of transactions, the number of failed transactions, the number of chargebacks, and the number of transactions blocked by the channel-side risk control are counted within a preset historical time window. The preset historical time window covers multiple consecutive statistical days prior to the current day. When the total number of transactions is less than or equal to the preset number of risk score activations, the risk-added weight is set to zero. When the total number of transactions exceeds the preset number of risk score activations, the ratio of the number of failed transactions to the total number of transactions is determined as the failure rate, the ratio of the number of chargebacks to the total number of transactions is determined as the chargeback rate, and the ratio of the number of transactions blocked by channel-side risk control to the total number of transactions is determined as the risk control blocking percentage. The risk score is obtained by weighting and summing the failure rate, the chargeback rate, and the risk control interception ratio according to the preset risk weight coefficients corresponding to the failure rate, the chargeback rate, and the risk control interception ratio respectively. The risk score is multiplied by a preset penalty coefficient, and the product is rounded up to determine the additional risk weight. The number of failed transactions refers to the number of transactions that have been sent to the corresponding evaluation channel and explicitly returned as failed by the corresponding evaluation channel.
[0012] In some specific embodiments, when all payment channels in the enabled state are identified as the channels to be evaluated, the total channel weight of each of the channels to be evaluated is dynamically adjusted before determining the optimal routing channel, including: Obtain the real-time operating indicators of each of the channels to be evaluated within a preset real-time statistical time window before the current time. The real-time operating indicators include channel success rate, channel failure rate, average response time, and quota consumption rate. The median of each real-time operating indicator of all the channels to be evaluated is determined, and the direction and degree of deviation of each real-time operating indicator of each channel to be evaluated relative to the corresponding median are determined. When the deviation direction of any real-time operating indicator is the same as the preset correction direction corresponding to the real-time operating indicator, and the deviation degree of the real-time operating indicator is greater than or equal to the corresponding preset deviation threshold, the preset correction value corresponding to the real-time operating indicator is determined as the dynamic correction factor. When the deviation direction of any real-time operating indicator is different from the preset correction direction corresponding to the real-time operating indicator, or when the deviation degree of the real-time operating indicator is lower than the corresponding preset deviation threshold, the dynamic correction factor corresponding to the real-time operating indicator is determined to be zero. The dynamic correction factors are summed to the total channel weight of the corresponding channel to be evaluated to obtain the updated total channel weight; From the channels to be evaluated whose updated total channel weight is lower than the preset channel blocking value, the channel with the smallest updated total channel weight is determined as the optimal routing channel.
[0013] In some specific embodiments, the determination of the weights corresponding to the amount segmentation limits includes: Obtain the amount segmentation control flag, card single transaction limit flag, first amount lower limit, first amount upper limit, second amount lower limit and second amount upper limit corresponding to each of the channels to be evaluated; A first amount range is determined based on the first lower limit and the first upper limit, and a second amount range is determined based on the second lower limit and the second upper limit. When the amount segmentation control flag is in the on state and the card single transaction limit flag is in the off state, determine the correspondence between the transaction amount and the first amount range and the second amount range; When the transaction amount is within the first amount range or the second amount range, the weight corresponding to the amount segmentation limit is determined as a preset available weight; When the transaction amount is outside the first amount range and the second amount range, the weight corresponding to the amount segmentation limit is determined as the preset channel blocking value.
[0014] In some specific embodiments, determining the weight corresponding to the card type restriction includes: Obtain the list of prohibited channels and the prohibited time flag corresponding to the current card BIN, as well as the channel blacklist and card type restriction status corresponding to each of the channels to be evaluated; wherein, the prohibited time flag is used to indicate whether the current transaction time is within the effective period of the prohibited channel list; Based on the prohibited time flag and whether the prohibited channel list contains the channel to be evaluated, the prohibited channel check result is determined, and based on whether the channel blacklist contains the current card BIN, the channel blacklist check result is determined; When the channel blocking check result or the channel blacklist check result is a blocking result, the weight corresponding to the card type restriction is determined as the preset channel blocking value; When both the prohibited channel check result and the channel blacklist check result are passed, the card type support range corresponding to the channel to be evaluated is determined according to the card type restriction status, and the weight corresponding to the card type restriction is determined according to the correspondence between the card type and the card type support range. Specifically, when the card type is within the card type support range, the weight corresponding to the card type restriction is determined as a preset available weight; when the card type is outside the card type support range, the weight corresponding to the card type restriction is determined as the preset channel blocking value.
[0015] In some specific embodiments, the payment transaction request further includes channel specification information, and determining at least one channel to be evaluated and determining the optimal routing channel includes: Obtain the degradation switch status and determine the routing mode based on the channel specified information. The routing mode includes a global intelligent routing mode and a specified channel routing mode. In the global intelligent routing mode, the payment channel that is in the enabled state is identified as the channel to be evaluated, and the channel with the smallest total weight among the channels to be evaluated that is lower than the preset channel blocking value is identified as the optimal routing channel; when the total weight of each of the channels to be evaluated is greater than or equal to the preset channel blocking value, the routing blocking result is output. In the designated channel routing mode, a designated channel is determined according to the channel designation information, and the designated channel is determined as the channel to be evaluated; when the total channel weight of the designated channel is lower than the preset channel blocking value, the designated channel is determined as the optimal routing channel; When the total channel weight of the specified channel is greater than or equal to the preset channel blocking value and the degradation switch state indicates that degradation is allowed, the system switches to the global intelligent routing mode, re-determines the channel in the enabled state as the channel to be evaluated, and re-determines the optimal routing channel. When the total channel weight of the specified channel is greater than or equal to the preset channel blocking value and the degradation switch state indicates that the degradation function is turned off, the routing blocking result is output.
[0016] According to a second aspect of the present invention, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, it implements any of the above-described intelligent routing methods for payment channels.
[0017] Compared with the prior art, the present invention has the following beneficial effects: This invention determines the weight of each payment channel to be evaluated based on seven dimensions: transaction amount, current transaction time, current card BIN, and card type. These dimensions include channel status, business hours, daily credit limit, amount segment restrictions, card type restrictions, daily transaction limit, and channel priority. This ensures that the selection of payment channels simultaneously reflects the current transaction conditions and the current configuration status of each channel to be evaluated, reducing the adaptation bias caused by selecting routes solely based on fixed channels or a single priority. The available credit limit is determined by combining the institution's daily remaining credit limit, the channel's overall daily remaining credit limit, and the frozen amount. Furthermore, when the transaction sample from the same period yesterday meets preset conditions, the basic predicted support time is determined based on the transaction speed from the same period yesterday. Further, based on the selected and alternative channels in the historical routing records, the historical payment transactions are re-routed and evaluated using the current channel configuration parameters. The amount of transactions that may be transferred from other channels to the current channel to be evaluated is statistically analyzed, and the migration correction transaction speed and the corrected predicted support time are determined accordingly. This allows for the estimation of potential new transaction traffic for the currently evaluated channel before other channels actually reach their blocking conditions or before transaction traffic migrates. It reduces the likelihood of overestimating the available credit limit based solely on the channel's transaction speed from the previous day, and allows for the early adjustment of routing priorities for channels whose credit limits may be quickly exhausted. When the sample of transactions from the previous day does not meet preset conditions, setting the daily credit limit balance weight increment to zero reduces the impact of insufficient samples on credit limit depletion predictions. Using the combination of the current card BIN and each evaluated channel as the risk assessment granularity, risk-added weights are determined based on the historical failure rate, chargeback rate, and risk control interception ratio of the corresponding combination. This ensures that the total channel weight reflects the historical transaction risk differences between different card BINs and different evaluated channels. The weights corresponding to the seven evaluation dimensions and the risk-added weights are aggregated to form the total channel weight. The channels to be evaluated that can participate in the routing are limited by the preset channel blocking value. The channel with the smallest total channel weight is selected to send the transaction message. This forms a complete routing processing link from transaction condition acquisition, multi-dimensional evaluation, credit support capability prediction, combined risk evaluation, blocking screening to transaction execution. This helps to improve the matching degree between the payment channel selection and the current transaction conditions and the reliability of the routing. Attached Figure Description
[0018] The accompanying drawings are included to provide a further understanding of the embodiments and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments and, together with the description, serve to explain the principles of the invention. Other embodiments and many anticipated advantages of the embodiments will be readily recognized as they become better understood through reference to the following detailed description. Elements in the drawings are not necessarily to scale. The same reference numerals refer to corresponding similar parts.
[0019] Figure 1 This is a flowchart illustrating the overall process of a smart routing method for payment channels based on multi-dimensional weighted scoring, as provided in an embodiment of the present invention. Figure 2 This is a flowchart of the process for determining the channel to be evaluated provided in an embodiment of the present invention; Figure 3 This is a flowchart of the daily credit limit weight determination process provided in this embodiment of the invention; Figure 4 This is a flowchart illustrating the determination of amount segment restrictions, card type restrictions, daily transaction limit, channel priority, and risk-added weight provided in this embodiment of the invention. Figure 5 This is a flowchart of the channel total weight summarization, dynamic correction and routing selection provided in the embodiments of the present invention. Detailed Implementation
[0020] In the description of this invention, it should be noted that the terms "first," "second," etc., are used only to distinguish the same or similar technical features and do not indicate a fixed order or quantitative relationship between the corresponding technical features. Unless otherwise expressly defined, "comprising" in this specification means that it may also include other steps or data items not expressly listed.
[0021] The present invention will be further described below with reference to the accompanying drawings and specific embodiments. The following embodiments are used to illustrate the technical solutions of the present invention and are not intended to limit the scope of protection of the present invention. Unless otherwise specified, the various embodiments and their technical features can be combined with each other.
[0022] This invention is applied to the scenario of payment on behalf transactions. The merchant clearing system receives withdrawal transaction requests from merchants and performs channel routing processing before sending transaction messages to the payment channel. The payment channel is a communication link between the merchant clearing system or other transaction processing system and the corresponding payment processing institution, used to transmit payment transaction requests and transaction response messages. Each payment channel has configurations such as channel status, limit, business hours, card type support range, daily transaction limit, and channel priority. The card BIN represents the number field that can identify the issuing institution or card product information from the bank card number; the channel to be evaluated represents the payment channel entering the current round of channel total weight calculation.
[0023] refer to Figure 1 and Figure 2 This invention provides a smart routing method for payment channels based on multi-dimensional weighted scoring. First, step S1 and its detailed process will be explained.
[0024] S1. Receive payment transaction requests, obtain transaction amount, current transaction time, current card BIN and card type, and identify at least one channel to be evaluated.
[0025] Specifically, step S1 includes steps S101 to S108.
[0026] S101. The merchant clearing system receives payment on behalf transaction requests. Payment on behalf transaction requests must include at least the transaction amount and bank card number information, and may also include the current transaction time and channel designation information. The current transaction time can be carried in the payment on behalf transaction request, or it can be recorded by the merchant clearing system upon receiving the payment on behalf transaction request.
[0027] S102. Initialize the channel weight array, channel name array, and Redis switch array, and obtain the daily cut-off timeline parameters and the degradation switch status. The daily cut-off timeline parameters are used to determine the statistical boundaries of the daily quota and the number of transactions on the same day; the degradation switch status is used to determine whether to switch to global intelligent routing mode when a specified channel reaches the routing blocking condition.
[0028] S103. Parse the payment transaction request to obtain the transaction amount, current transaction time, current card BIN, card type, and channel information. Determine the card type corresponding to the current card BIN based on the card BIN table.
[0029] S104. Obtain the list of prohibited channels and the prohibited time flag corresponding to the current card BIN according to the card BIN table. The list of prohibited channels and the prohibited time flag are used in the card type restriction assessment in step S2.
[0030] S105. Determine the routing mode based on the channel specification information. If the channel specification information indicates a destination channel, the routing mode is determined to be the specified channel routing mode; if the channel specification information does not indicate a destination channel, the routing mode is determined to be the global intelligent routing mode.
[0031] S106. In the designated channel routing mode, the designated channel corresponding to the designated channel information is determined as the channel to be evaluated. In this mode, only the designated channel is initially evaluated for weight; the availability judgment and degradation processing of the designated channel are completed in step S3.
[0032] S107. In the global intelligent routing mode, the payment channels that are in the enabled state are identified as channels to be evaluated. The enabled state in step S107 indicates that the payment channel has been included in the current route candidate range.
[0033] S108. Determine the channel configuration parameter reading method for each channel to be evaluated. In one optional implementation, the channel configuration parameters adopt a dual-path query method of Redis cache priority and database rollback, and set a Redis switch at the channel-by-channel granularity; according to the Redis switch corresponding to the current channel to be evaluated, determine whether to obtain the channel configuration parameters of the channel to be evaluated from the Redis cache or the database, and step S2 obtains the channel configuration parameters required for each evaluation dimension according to the determined reading method.
[0034] After identifying the channel to be evaluated, proceed to step S2.
[0035] S2. For each channel to be evaluated, determine the corresponding weight based on the channel status, business hours, daily credit limit, amount segment restrictions, card type restrictions, daily transaction limit, and channel priority.
[0036] The available credit is determined based on the daily remaining credit limit of the institutional channel, the daily remaining credit limit of the channel as a whole, and the frozen amount. The weight corresponding to the daily credit limit balance is determined based on the available credit limit, the daily remaining credit limit of the institutional channel, the daily remaining credit limit of the channel as a whole, and the transaction amount. The daily remaining credit limit of the institutional channel is the daily remaining credit limit under the combined dimension of the access institution and the channel to be evaluated for the current payment transaction. The daily remaining credit limit of the channel as a whole is the daily remaining credit limit shared by different access institutions under the dimension of the channel to be evaluated. The frozen amount is the amount reserved and frozen from the daily remaining credit limit of the institutional channel under the combined dimension of the access institution and the channel to be evaluated. The available credit limit is greater than or equal to the transaction amount, and the same time period yesterday... When the historical transaction data within the window meets the preset start conditions, the transaction speed of the same period yesterday is determined based on the historical transaction data. The basic predicted support time is determined based on the available credit and the transaction speed of the same period yesterday. The historical payment transactions are re-routed and evaluated based on the historical routing records and the current channel configuration parameters. The migration correction transaction speed of each channel to be evaluated is determined based on the re-routing evaluation results and the transaction amount of the corresponding historical payment transactions. The basic predicted support time is corrected based on the migration correction transaction speed to obtain the predicted support time. The daily credit balance weight increment is determined based on the predicted support time, and the daily credit balance weight increment is accumulated to the weight corresponding to the daily credit balance.
[0037] The risk-addition weight is determined based on the weighted results of the failure rate, chargeback rate, and risk control interception ratio of the current card BIN and each channel to be evaluated within a preset historical time window.
[0038] Specifically, refer to Figure 3 and Figure 4 Step S2 includes steps S201 to S232.
[0039] S201. Determine the weight corresponding to the channel status. Read the channel status at the institutional level from the institutional transaction control table and the channel status from the channel quota control table; when both statuses are in the enabled state, determine the weight corresponding to the channel status as the preset available weight; when either status reaches the blocking condition, determine the weight corresponding to the channel status as the preset channel blocking value. In a specific embodiment, the preset available weight is 1, and the preset channel blocking value is the maximum unavailable value HEAVIEST_VALUE. The preset channel blocking value is a threshold for determining whether a channel can continue to participate in routing selection. Step S201 further determines the weight corresponding to the channel status based on the two independent statuses in the institutional transaction control table and the channel quota control table.
[0040] S202. Determine the weight corresponding to the business hours. Obtain the business hours flag, channel start time, and channel end time; when the business hours flag is on and the current transaction time is within the business hours range formed by the channel start time and channel end time, determine the weight corresponding to the business hours as the preset available weight; when the business hours flag is on and the current transaction time is outside the business hours range, determine the weight corresponding to the business hours as the preset channel blocking value; when the business hours flag is off, determine the weight corresponding to the business hours as the preset available weight.
[0041] S203. Obtain the remaining daily quota of the institutional channel, the remaining daily quota of the channel as a whole, the frozen amount, and the transaction amount.
[0042] The daily remaining quota for the institutional channel refers to the daily remaining quota under the combined dimension of the access institution to which the current payment transaction belongs and the channel to be evaluated; the daily remaining quota for the channel as a whole refers to the daily remaining quota shared by different access institutions under the dimension of the channel to be evaluated; and the frozen amount is the internal risk reserve amount set by the merchant clearing system from the daily remaining quota of the institutional channel under the combined dimension of the access institution and the channel to be evaluated. The frozen amount itself does not change the book value of the daily remaining quota of the institutional channel and the daily remaining quota of the channel as a whole, nor is it used as a condition for determining the weight corresponding to the daily quota balance as the preset channel blocking value.
[0043] S204. The smaller value between the remaining daily quota of the institutional channel after deducting the frozen amount and the remaining daily quota of the channel as the available quota Q is determined. The available quota Q is expressed as: ; in, This indicates the remaining daily quota for institutional channels. This indicates the remaining daily quota for the entire channel. This indicates the amount frozen.
[0044] When the remaining daily quota of the institutional channel, the remaining daily quota of the channel as a whole, and the difference between the remaining daily quota of the institutional channel and the frozen amount are all greater than or equal to the transaction amount, the quota is determined to be sufficient, and the weight corresponding to the daily quota balance is determined as the preset available weight, and then proceed to step S205. When both the daily remaining quota of the institutional channel and the daily remaining quota of the channel are greater than or equal to the transaction amount, but the difference between the daily remaining quota of the institutional channel and the frozen amount is less than the transaction amount, the weight corresponding to the daily quota balance is determined as the preset second largest unavailable value SECOND_HEAVIEST_VALUE, and the process proceeds to step S218. When the remaining daily quota of the institutional channel or the global daily quota of the channel is less than the transaction amount, the weight corresponding to the daily quota balance is determined as the preset channel blocking value, and the process proceeds to step S218.
[0045] The preset second-largest unavailability value is greater than the preset available weight but less than the preset channel blocking value. In one specific embodiment, the preset second-largest unavailability value is a weight constant of 100, corresponding to SECOND_HEAVIEST_VALUE. The unavailability in the preset second-largest unavailability value indicates that the channel to be evaluated is subject to a higher weight penalty in normal routing due to frozen funds, and does not indicate that the channel to be evaluated is directly determined to be unroutable.
[0046] When both the institutional channel's daily remaining quota and the channel's overall daily remaining quota are greater than or equal to the transaction amount, but the difference between the institutional channel's daily remaining quota and the frozen amount is less than the transaction amount, it indicates that both the institutional channel's daily remaining quota and the channel's overall daily remaining quota can cover the current transaction amount. The unfrozen available quota is temporarily insufficient only because the frozen amount is reserved as an internal risk reserve. This is a temporary quota restriction state, not an actual shortage of the institutional channel's daily remaining quota or the channel's overall daily remaining quota. Therefore, the weight corresponding to the daily quota balance is determined as the second largest unavailable value, and the process proceeds to step S218 to further determine the weights corresponding to the amount segment limit, card type limit, daily transaction limit, and channel priority.
[0047] After determining the weights for each evaluation dimension, the total channel weight of the channel to be evaluated is calculated according to step S3. When the total channel weight is lower than the preset channel blocking value, the channel to be evaluated is included in the set of routable channels; if there are no other channels to be evaluated with a lower total channel weight, the channel to be evaluated may still be determined as the optimal routing channel as a fallback channel. The frozen amount can be released by the operations personnel according to risk control needs.
[0048] S205. Divide the day into 24 one-hour time windows with the hour as the boundary.
[0049] S206. Determine the time window where yesterday's trading time and the current trading time are in the same period based on the current trading time, and designate this time window as the same period time window of yesterday. For example, if the current trading time is 14:25, the same period time window of yesterday is from 14:00 to 15:00 yesterday.
[0050] S207. Obtain the total actual transaction amount of each channel to be evaluated within the same time window yesterday, as calculated periodically by the batch processing system. and number of transactions .
[0051] S208. Determine whether the total actual transaction amount reaches the preset transaction amount threshold and whether the number of transactions reaches the preset number of transactions threshold. If either condition is not met, the daily credit limit balance weight increment is set to zero, and the daily credit limit balance weight increment is accumulated to the weight corresponding to the daily credit limit balance, then proceed to step S218; if both conditions are met, proceed to step S209.
[0052] S209. Determine the transaction speed for the same period yesterday based on the ratio of the actual total transaction amount to the length of the same time window yesterday. : ; in, This indicates the length of the time window for the same period yesterday.
[0053] S210. Determine the basic forecast support time based on the ratio of available quota to the transaction speed of the same period yesterday. : ; The basic forecast support time indicates how long the current available quota is expected to continue supporting transactions at the same transaction rate as yesterday.
[0054] S211. Set a first preset duration threshold, a second preset duration threshold, a first preset weight increment, and a second preset weight increment, wherein the second preset duration threshold is greater than the first preset duration threshold, and the first preset weight increment is greater than the second preset weight increment.
[0055] S212. Determine the basic forecast support time as the forecast support time to be corrected, and proceed to step S213.
[0056] Continue to refer to Figure 3 Based on the ratio of available funds to the transaction speed of the same period yesterday, the estimated duration of support has been determined. Subsequently, because when the original optimal channel reaches the preset channel blocking value, the transactions originally handled by that channel may be concentrated and migrated to its alternative channels; if only the transaction speed of the alternative channels themselves from the same period yesterday is used to predict the amount, the support time may be estimated too long. Therefore, steps S213 to S217 are further executed.
[0057] S213. For each historical payment transaction within the preset observation time window, obtain the transaction amount, transaction time, card BIN, card type, affiliated access institution, selected channel, and alternative channels. The alternative channel is the payment channel with the lowest total weight among the payment channels that are not selected and whose total weight is lower than the preset channel blocking value in the routing evaluation results of the corresponding historical payment transaction. If multiple payment channels have the same total weight, the alternative channel is determined according to channel priority. The current channel configuration parameters refer to the configuration parameters currently in effect for routing evaluation of each channel to be evaluated when performing re-routing evaluation. In a specific embodiment, the current channel configuration parameters include the currently effective configuration parameters corresponding to channel status, business hours, daily credit limit, amount segmentation limit, card type limit, daily transaction limit, and channel priority. S214. Utilize the current channel configuration parameters to perform routing replay on each historical payment transaction within the preset observation time window. The route replay is a simulated route evaluation based on the transaction information of each historical payment transaction and the current channel configuration parameters. During the route replay process, route replay is not restarted, transaction packets are not sent, and channel quota is not actually occupied or deducted. When the total channel weight of the selected channel corresponding to the historical payment transaction after re-evaluation is greater than or equal to the preset channel blocking value, and the total channel weight of the corresponding alternative channel after re-evaluation is lower than the preset channel blocking value, the historical payment transaction is determined as the transaction to be migrated corresponding to the alternative channel. For any channel to be evaluated, the transaction amounts of each transaction to be migrated using that channel as an alternative channel are added together to obtain the transaction amount to be migrated. .
[0058] S215. Obtain the total transaction amount actually received by the channel to be evaluated within the preset observation time window. The migration correction transaction speed is determined based on the sum of the actual total transaction amount received and the transaction amount to be migrated. : in, This indicates the length of the preset observation time window. The migration correction transaction speed includes both the transaction amount already received by the channel under evaluation and the transaction amount that may migrate to the channel under evaluation after the original selected channel reaches the blocking condition.
[0059] S216. When the migration correction transaction speed is not zero and the number of historical payment transactions within the preset observation time window reaches the preset number of replay initiation transactions, the corrected forecast support time is determined based on the larger of the migration correction transaction speed and the transaction speed of the same period yesterday. : in, Indicates available credit limit. This represents the trading speed at the same time yesterday. By selecting the larger of the two trading speeds, the corrected predicted support time is ensured to be no greater than the basic predicted support time.
[0060] When the migration correction transaction speed is zero, or the number of historical payment transactions within the preset observation time window is lower than the preset number of replays to start, the basic predicted support time will be determined as the corrected predicted support time.
[0061] S217. Based on the comparison between the corrected predicted support time and the first preset duration threshold and the second preset duration threshold, determine the daily credit limit balance weight increment; when the corrected predicted support time is lower than the first preset duration threshold, determine the first preset weight increment as the daily credit limit balance weight increment; when the corrected predicted support time is greater than or equal to the first preset duration threshold and lower than the second preset duration threshold, determine the second preset weight increment as the daily credit limit balance weight increment; when the corrected predicted support time is greater than or equal to the second preset duration threshold, determine the daily credit limit balance weight increment as zero; accumulate the daily credit limit balance weight increment to the weight corresponding to the daily credit limit balance.
[0062] In one specific embodiment, the preset transaction amount threshold is 1000 yuan, the preset number of transactions threshold is 5, the first preset duration threshold is 1 hour, the second preset duration threshold is 3 hours, the first preset weight increment is 3, and the second preset weight increment is 2. Therefore, when the predicted support time is less than 1 hour, the weight is increased by 3; when the predicted support time is between 1 hour and 3 hours, the weight is increased by 2; and when the predicted support time reaches 3 hours, the weight is not increased.
[0063] In this further implementation, the system utilizes existing transactions and corresponding alternative routing relationships to estimate in advance the transaction amount that may be transferred to the current channel under evaluation after other channels are blocked, without needing to send probe transactions to the payment channel. This improves the estimation of the quota consumption rate of alternative channels before the actual traffic migration, allowing for advance adjustment of daily quota balance weights and reducing quota exhaustion, transaction failures, and duplicate routing caused by concentrated migration.
[0064] S218. In this embodiment, the amount segmentation control flag corresponding to the channel to be evaluated is in the on state, and the card single transaction limit flag is in the off state. Obtain the first lower limit, the first upper limit, the second lower limit, and the second upper limit.
[0065] S219. The range of amounts greater than or equal to the first lower limit and less than or equal to the first upper limit is defined as the first amount interval, and the range of amounts greater than or equal to the second lower limit and less than or equal to the second upper limit is defined as the second amount interval. That is, both the first amount interval and the second amount interval include their respective upper and lower limit endpoints.
[0066] S220. Determine whether the transaction amount is within the first amount range or the second amount range; if yes, determine the weight corresponding to the amount segment limit as the preset available weight; if no, determine the weight corresponding to the amount segment limit as the preset channel blocking value.
[0067] S221. Obtain the list of prohibited channels and the prohibited time flag corresponding to the current card BIN, as well as the channel blacklist and card type restriction status corresponding to each channel to be evaluated.
[0068] S222. Based on the prohibition time marker and the inclusion relationship between the channel to be evaluated and the prohibited channel list, determine the prohibited channel check result, and based on the inclusion relationship between the current card BIN and the channel blacklist, determine the channel blacklist check result. When the prohibited channel check result or the channel blacklist check result is a blocking result, determine the weight corresponding to the card type restriction as the preset channel blocking value.
[0069] Specifically, when the prohibited time flag indicates that the current trading time is within the effective period of the prohibited channel list, and the prohibited channel list contains the channel to be evaluated, the prohibited channel check result will be determined as a blocking result; otherwise, the prohibited channel check result will be determined as a pass result. If the current card BIN is included in the channel blacklist, the channel blacklist check result will be determined as a blocking result; otherwise, the channel blacklist check result will be determined as a pass result. S223. When both the prohibited channel check result and the channel blacklist check result are passed, determine the card type support range corresponding to the channel to be evaluated based on the card type restriction status. In a specific example, the card type restriction status can correspond to unlimited card types, credit card support range, debit card support range, and a pre-configured set of mainstream card types, respectively. S224. Determine the weight corresponding to the card type restriction based on the correspondence between card type and card type support range; wherein, when the card type is within the card type support range, the weight corresponding to the card type restriction is determined as the preset available weight; when the card type is outside the card type support range, the weight corresponding to the card type restriction is determined as the preset channel blocking value.
[0070] S225. Determine the weight corresponding to the daily transaction limit. Obtain the transaction limit status and the limit number of transactions; when the transaction limit status is enabled, count the number of successful transactions of the channel to be evaluated on the current day. When the number of successful transactions reaches or exceeds the limit number, determine the weight corresponding to the daily transaction limit as the preset channel blocking value. When the number of successful transactions is lower than the limit number, determine the weight as the preset available weight; when the transaction limit status is disabled, determine the weight as the preset available weight.
[0071] S226. Determine the weight corresponding to the channel priority. Read the channel priority configuration value from the institutional transaction control table and determine the channel priority configuration value as the weight corresponding to the channel priority; the smaller the channel priority configuration value, the higher the routing priority of the channel to be evaluated.
[0072] S227. Calculate the total number of transactions, failures, chargebacks, and channel-side risk control interceptions of the combination of the current card BIN and each channel to be evaluated within a preset historical time window. The preset historical time window covers multiple consecutive statistical days prior to the current day. In a specific embodiment, the preset historical time window is 10 consecutive statistical days prior to the current day.
[0073] S228. When the total number of transactions is less than or equal to the preset number of risk score activations, the risk-added weight is set to zero to reduce misjudgments caused by small samples on channel routing priority.
[0074] S229. When the total number of transactions exceeds the preset number of transactions to initiate risk scoring, the ratio of the number of failed transactions to the total number of transactions is determined as the failure rate, the ratio of the number of chargebacks to the total number of transactions is determined as the chargeback rate, and the ratio of the number of transactions blocked by channel-side risk control to the total number of transactions is determined as the risk control blocking percentage; wherein, the number of failed transactions is the number of transactions that have been sent to the corresponding channel to be evaluated and have been explicitly returned as failed by the corresponding channel to be evaluated.
[0075] S230. When the total number of transactions exceeds the preset number of transactions for triggering risk scoring, the risk score is obtained by weighting and summing the failure rate, chargeback rate, and risk control interception ratio according to the preset risk weight coefficients corresponding to the failure rate, chargeback rate, and risk control interception ratio, respectively. In one specific embodiment, the three preset risk weighting coefficients are 0.4, 0.4, and 0.2, respectively. ; in, Indicates the failure rate. Indicates the chargeback rate. This indicates the percentage of risk control interception.
[0076] S231. Multiply the risk score by the preset penalty coefficient P, and round the product up to obtain the risk-added weight. : ; in, This indicates rounding up to the nearest integer.
[0077] In one specific embodiment, the preset penalty coefficient P is 50, and the preset number of risk scoring activations is 10. When the total number of transactions of the combination of the current card BIN and a certain channel to be evaluated within a preset historical time window does not exceed 10, the risk-added weight is zero; when it exceeds 10, the risk-added weight is determined according to the above ratio and formula.
[0078] S232. Associate the risk-added weights with the corresponding combination of the current card BIN and the channel to be evaluated, for summarization in step S3.
[0079] After completing step S2, proceed to step S3.
[0080] S3. Add the weights corresponding to channel status, business hours, daily credit limit, amount segmentation limit, card type limit, daily transaction limit, and channel priority to the risk-added weight to obtain the total channel weight of each channel to be evaluated; from the channels to be evaluated whose total channel weight is lower than the preset channel blocking value, determine the channel with the smallest total channel weight as the optimal routing channel, and send the transaction message corresponding to the payment transaction request through the optimal routing channel.
[0081] refer to Figure 5 Step S3 includes steps S301 to S316.
[0082] S301. Add the weights corresponding to channel status, business hours, daily credit limit, amount segment restrictions, card type restrictions, daily transaction limit, and channel priority to the risk-added weight to obtain the initial total channel weight for each channel to be evaluated: in, This represents a set consisting of seven evaluation dimensions. This indicates the weight corresponding to the respective evaluation dimension. This indicates the added risk weight. The daily credit limit balance dimension corresponds to... The daily quota balance weight increment has already been included, so this weight increment will not be added again to the total channel weight.
[0083] S302. Determine the current routing mode. If the routing mode is specified through a channel, proceed to step S303; if the routing mode is global intelligent routing, proceed to step S308.
[0084] S303. In the designated channel routing mode, obtain the initial total channel weight of the designated channel determined in step S301, and compare the initial total channel weight with the preset channel blocking value.
[0085] S304. When the total weight of the specified channel is lower than the preset channel blocking value, the specified channel is determined as the optimal routing channel, and the process proceeds to step S315.
[0086] S305. When the total channel weight of a specified channel is greater than or equal to the preset channel blocking value, check the status of the degradation switch.
[0087] S306 When the degradation switch status indicates that degradation is allowed, switch the routing mode to global intelligent routing mode, re-determine the payment channel with the channel status in the enabled state as the channel to be evaluated, and return to step S201 to re-execute the weight evaluation.
[0088] S307, Degradation switch status indicates that when the degradation function is turned off, the output route blocking result is displayed.
[0089] S308. In the global intelligent routing mode, obtain the real-time operating indicators of each channel to be evaluated within a preset real-time statistical time window before the current time. The real-time operating indicators include channel success rate, channel failure rate, average response time, and quota consumption rate; in a specific embodiment, the preset real-time statistical time window is one hour before the current time.
[0090] S309. Determine the median of each real-time operating indicator for all channels to be evaluated.
[0091] S310. For any real-time operating indicator of any channel to be evaluated, determine the direction of deviation as the relationship between the indicator value and the corresponding median, and determine the degree of deviation as the difference between the indicator value and the corresponding median.
[0092] S311. Each real-time operating indicator corresponds to a preset correction direction, a preset deviation threshold, and a preset correction value. When the deviation direction of any real-time operating indicator is the same as the corresponding preset correction direction and the degree of deviation is greater than or equal to the preset deviation threshold, the corresponding preset correction value is determined as the dynamic correction factor; when the deviation direction is different from the preset correction direction or the degree of deviation is lower than the preset deviation threshold, the corresponding dynamic correction factor is determined to be zero.
[0093] As an example, the median failure rate of the three channels under evaluation is 2%, with one channel having a failure rate of 5%. When its deviation reaches the preset deviation threshold of 2 percentage points, the corresponding dynamic correction factor is 5. The median average response time of the three channels under evaluation is 120 milliseconds, with one channel having an average response time of 200 milliseconds. When its deviation reaches the preset deviation threshold of 50 milliseconds, the corresponding dynamic correction factor is 3. This example illustrates the correction process for failure rate and average response time; channel success rate and quota consumption rate still have their dynamic correction factors determined according to their respective preset correction directions, preset deviation thresholds, and preset correction values.
[0094] S312. Add each dynamic correction factor to the initial total channel weight of the corresponding channel to be evaluated to obtain the updated total channel weight.
[0095] S313. Construct a set of routable channels from the channels to be evaluated whose updated total channel weight is lower than the preset channel blocking value.
[0096] S314. When the set of routable channels is not empty, the channel to be evaluated with the smallest total weight after the update is determined as the optimal routing channel; when the set of routable channels is empty, the routing blocking result is output.
[0097] S315. Send the transaction message corresponding to the payment transaction request via the optimal routing channel.
[0098] S316. Update account limit information and transaction status based on transaction processing results, and record routing selection logs; when outputting route blocking results, record route blocking logs. The limit status and historical transaction results generated by transaction processing serve as inputs for subsequent statistical periods. The statistics module determines real-time operating indicators based on historical transaction results within a preset real-time statistical time window.
[0099] The steps described above will be further explained below with reference to specific transaction scenarios in the following examples.
[0100] In a typical transaction example, a transaction of 5,000 yuan is made using a credit card, the current time is 2 PM, and no channel is specified. Channel 1 is active, and 2 PM falls within the business hours of 8 AM to 10 PM. Channel 1's institutional daily remaining quota is 1 million yuan, the channel's overall daily remaining quota is 1.2 million yuan, the frozen amount is 100,000 yuan, the transaction amount is between 100 yuan and 50,000 yuan, the card type restriction status indicates no card type restriction, 800 transactions have been successfully completed that day, and the limit of 1,000 transactions has not been reached. The channel priority configuration value is 3. Therefore, the weight corresponding to the first six evaluation dimensions of Channel 1 is 1, the weight corresponding to the channel priority is 3, and the sum of the fixed weights is 9. Channel 2 is active and the current transaction time falls within business hours. The remaining daily credit limit for the institutional channel, the overall daily credit limit for the channel, and the remaining daily credit limit for the institutional channel after deducting the frozen amount all cover the transaction amount. The transaction amount, card type, and number of successful transactions for the day all meet the corresponding restrictions. In this embodiment, the historical transaction data for both channels within the same time window yesterday did not meet the preset activation conditions; therefore, the daily credit limit balance weight increment for both channels is zero. The channel priority configuration value is 5, so the weights corresponding to the first six evaluation dimensions of Channel 2 are all 1, and the sum of the fixed weights is 11. Given that the risk-added weights and dynamic correction factors for both channels are the same, Channel 1 is selected.
[0101] In the specified channel degradation embodiment, a transaction is designated to channel 1 with a transaction amount of 3,000 yuan. The remaining daily quota of the institutional channel or the global daily quota of channel 1 is lower than the transaction amount, so the weight corresponding to the daily quota balance reaches the preset channel blocking value. When the degradation switch state indicates that degradation is allowed, the system enters the global intelligent routing mode, re-evaluates the payment channels that are in the enabled state, and selects channel 2 with the smallest total weight that is lower than the preset channel blocking value; when the degradation switch state indicates that the degradation function is disabled, the routing blocking result is output.
[0102] In the card BIN blacklist example, the current card BIN is 622188, and the transaction amount is 2000 yuan. Channel 1's blacklist includes this current card BIN; therefore, the weight corresponding to the card type restriction in Channel 1 is the preset channel blocking value, and the blacklist identifier is recorded as a hit. Neither the prohibited channel list nor the channel blacklist in Channel 2 has a blocking result, and the card type is within the card type support range of Channel 2; therefore, the total channel weight of Channel 2 continues to be calculated. If all channels to be evaluated meet the routing blocking conditions and the blacklist identifier indicates a hit, then the routing blocking result indicating that the blacklisted card cannot be routed is output.
[0103] As an example, the current available quota for Channel 2 to be evaluated is 1 million yuan. The length of the same time window yesterday was 1 hour. The actual total transaction amount of Channel 2 within the same time window yesterday was 200,000 yuan. Therefore, the transaction speed in the same time window yesterday was 200,000 yuan per hour, and the basic prediction can support it for 5 hours.
[0104] Furthermore, the preset observation time window is 1 hour long, and the preset number of replays is 10. This preset observation time window contains a total of 30 historical payment transactions, reaching the preset number of replays. Using the current channel configuration parameters, the 30 historical payment transactions are re-evaluated for routing. Among them, the total weight of the originally selected channel for 12 historical payment transactions after re-evaluation is greater than or equal to the preset channel blocking value. Channel 2, as a candidate channel for these 12 historical payment transactions, still has a total weight lower than the preset channel blocking value after re-evaluation. Therefore, these 12 historical payment transactions are identified as transactions to be migrated to Channel 2, with a total transaction amount of 500,000 yuan.
[0105] The total transaction amount actually received by Channel 2 within the preset observation time window was 200,000 yuan. Therefore, the migration and correction transaction speed of Channel 2 is: = (20 + 50) ÷ 1 = 700,000 yuan per hour.
[0106] Since the migration-corrected trading speed of 700,000 yuan per hour is greater than the trading speed of 200,000 yuan per hour during the same period yesterday, the corrected forecast duration is calculated using the migration-corrected trading speed: =100÷70=1.43 hours.
[0107] When the first preset duration threshold is 1 hour, the second preset duration threshold is 3 hours, the first preset weight increment is 3, and the second preset weight increment is 2, the basic predicted support time is 5 hours. Without migration correction, the daily quota balance weight is not increased. The corrected predicted support time is approximately 1.43 hours, falling between the first and second preset duration thresholds. Therefore, the second preset weight increment of 2 is determined as the daily quota balance weight increment and added to the weight corresponding to the daily quota balance of Channel 2. This allows for anticipating the potential increase in quota consumption pressure in Channel 2 before transaction traffic from other channels actually migrates to Channel 2, avoiding overestimation of the support time of Channel 2's quota.
[0108] In the dynamic correction embodiment, Channel 1 has a success rate of 99%, a failure rate of 1%, an average response time of 120 milliseconds, and a credit limit consumption rate of 100,000 yuan per hour; Channel 2 has a success rate of 95%, a failure rate of 5%, an average response time of 80 milliseconds, and a credit limit consumption rate of 80,000 yuan per hour; Channel 3 has a success rate of 98%, a failure rate of 2%, an average response time of 200 milliseconds, and a credit limit consumption rate of 120,000 yuan per hour. The median success rate of the three channels is 98%, the median failure rate is 2%, the median average response time is 120 milliseconds, and the median credit limit consumption rate is 100,000 yuan per hour. Channel 2's failure rate deviates from the median by 3 percentage points and reaches the preset deviation threshold of 2 percentage points, corresponding to an increase of dynamic correction factor 5; Channel 3's average response time deviates from the median by 80 milliseconds and reaches the preset deviation threshold of 50 milliseconds, corresponding to an increase of dynamic correction factor 3; Channel 1's indicators do not trigger dynamic correction. When the initial total channel weight of the three channels is 10, Channel 1 has the smallest updated total channel weight, therefore Channel 1 is selected.
[0109] In one system implementation, the above method is executed by a merchant clearing system. The merchant clearing system includes a processor executing computer programs and a storage device storing channel configuration parameters and transaction statistics, and communicates with each payment channel via a communication interface. The processor performs transaction request access, card BIN information acquisition, channel parameter reading, multi-dimensional weight calculation, channel total weight comparison, and transaction message transmission; the database and Redis cache can serve as data sources for channel parameters. These functions can also be implemented within the same computer device, or collaboratively by multiple computer devices capable of exchanging transaction requests, channel parameters, and statistical results.
[0110] This application also provides a computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program, which, when executed by a processor, implements the aforementioned intelligent routing method for payment channels. Specifically, when the processor executes the computer program, it implements the aforementioned steps S1 to S3 and the intelligent routing method for payment channels in various further embodiments.
[0111] Through the above implementation method, the system first uses seven evaluation dimensions to exclude channels that cannot currently execute transactions, then uses quota exhaustion prediction to reduce the routing priority of channels that are about to run out of quota, and uses historical transaction results of the current card BIN and the channel to be evaluated to form a risk-added weight; during global intelligent routing, the total channel weight can also be adjusted based on the deviation of real-time operating indicators from the median. Thus, before actually sending transaction messages, current availability, quota support time, card BIN and channel combination risk, and instantaneous channel performance changes can be considered simultaneously.
[0112] Those skilled in the art will understand that each preset threshold, preset weight, preset coefficient, and statistical time window can be determined according to the data processing requirements of the payment channel; and the technical features in the above embodiments can be combined with each other without conflict.
Claims
1. A smart routing method for payment channels based on multi-dimensional weighted scoring, characterized in that, include: S1. Receive payment transaction requests, obtain transaction amount, current transaction time, current card BIN and card type, and identify at least one channel to be evaluated; S2. For each of the channels to be evaluated, determine the corresponding weight based on the channel status, business hours, daily credit limit, amount segmentation limit, card type limit, daily transaction limit, and channel priority. The available credit is determined based on the daily remaining credit limit of the institutional channel, the daily remaining credit limit of the channel as a whole, and the frozen amount. The weight corresponding to the daily credit limit balance is determined based on the available credit limit, the daily remaining credit limit of the institutional channel, the daily remaining credit limit of the channel as a whole, and the transaction amount. The daily remaining credit limit of the institutional channel is the daily remaining credit limit under the combined dimension of the access institution to which the current payment transaction belongs and the channel to be evaluated. The daily remaining credit limit of the channel as a whole is the daily remaining credit limit shared by different access institutions under the dimension of the channel to be evaluated. The frozen amount is the amount reserved and frozen from the daily remaining credit limit of the institutional channel under the combined dimension of the access institution and the channel to be evaluated. When the available credit limit is greater than or equal to the transaction amount, and When the historical transaction data within the same time window yesterday meets the preset start conditions, the transaction speed of the same period yesterday is determined based on the historical transaction data, and the basic predicted support time is determined based on the available quota and the transaction speed of the same period yesterday. The historical payment transactions are re-routed and evaluated based on the historical routing records and the current channel configuration parameters. The migration correction transaction speed of each of the channels to be evaluated is determined based on the re-routing evaluation results and the transaction amount of the corresponding historical payment transactions. The basic predicted support time is corrected based on the migration correction transaction speed to obtain the predicted support time. The daily quota balance weight increment is determined based on the predicted support time, and the daily quota balance weight increment is accumulated to the weight corresponding to the daily quota balance. The risk-added weight is determined based on the historical transaction results corresponding to the current card BIN and each of the channels to be evaluated; S3. Add the weights corresponding to the channel status, business hours, daily credit limit, amount segmentation limit, card type limit, daily transaction limit, and channel priority to the risk-added weight to obtain the total channel weight of each of the channels to be evaluated; from the channels to be evaluated whose total channel weight is lower than the preset channel blocking value, determine the channel with the smallest total channel weight as the optimal routing channel, and send the transaction message corresponding to the payment transaction request through the optimal routing channel.
2. The intelligent routing method for payment channels according to claim 1, characterized in that, The step of determining the available quota based on the institutional channel's daily remaining quota, the channel's overall daily remaining quota, and the frozen amount, and determining the weight corresponding to the daily quota balance based on the available quota, the institutional channel's daily remaining quota, the channel's overall daily remaining quota, and the transaction amount, includes: Obtain the institution's daily remaining quota, the channel's global daily remaining quota, the frozen amount, and the transaction amount; The available quota is determined by the smaller of the remaining daily quota of the institution channel after deducting the frozen amount and the remaining daily quota of the channel. When the remaining daily quota of the institutional channel, the remaining daily quota of the channel, and the difference between the remaining daily quota of the institutional channel and the frozen amount are all greater than or equal to the transaction amount, the quota is determined to be sufficient, and the weight corresponding to the daily quota balance is determined as the preset available weight. When both the daily remaining quota of the institutional channel and the daily remaining quota of the channel are greater than or equal to the transaction amount, but the difference between the daily remaining quota of the institutional channel and the frozen amount is less than the transaction amount, the weight corresponding to the daily quota balance is determined as the second largest unavailable value. When the remaining daily quota of the institutional channel or the global daily quota of the channel is less than the transaction amount, the weight corresponding to the daily quota balance is determined as the preset channel blocking value; wherein, the preset second largest unavailable value is greater than the preset available weight and less than the preset channel blocking value.
3. The intelligent routing method for payment channels according to claim 2, characterized in that, Assuming sufficient quota is available, the historical transaction data within the same time window yesterday includes the total actual transaction amount and the number of transactions. The determination of the transaction speed of the same period yesterday, the basic forecast support time, and the daily quota balance weight increment includes: Divide the day into multiple one-hour time windows with the hour as the boundary; Based on the current trading time, determine the time window where yesterday's trading time and the current trading time are in the same period, and define the time window that is in the same period as yesterday's concurrent time window; Obtain the total actual transaction amount and number of transactions for each of the channels to be evaluated within the same time window of yesterday, as statistically analyzed periodically by the batch processing system. When the total actual transaction amount is lower than a preset transaction amount threshold or the number of transactions is lower than a preset number of transactions threshold, the daily quota balance weight increment is determined to be zero. When the total actual transaction amount reaches the preset transaction amount threshold and the number of transactions reaches the preset number of transactions threshold, the transaction speed of the same period yesterday is determined based on the ratio of the total actual transaction amount to the length of the same period yesterday time window, and the basic predicted support time is determined based on the ratio of the available quota to the transaction speed of the same period yesterday; the daily quota balance weight increment is determined based on the comparison result of the predicted support time with the first preset duration threshold and the second preset duration threshold. Wherein, the second preset duration threshold is greater than the first preset duration threshold; when the predicted support time is less than the first preset duration threshold, the first preset weight increment is determined as the daily credit limit balance weight increment; when the predicted support time is greater than or equal to the first preset duration threshold and less than the second preset duration threshold, the second preset weight increment is determined as the daily credit limit balance weight increment; when the predicted support time is greater than or equal to the second preset duration threshold, the daily credit limit balance weight increment is determined to be zero, and the first preset weight increment is greater than the second preset weight increment.
4. The intelligent routing method for payment channels according to claim 3, characterized in that, The process of rerouting and evaluating historical payment transactions based on historical routing records and current channel configuration parameters, determining the migration correction transaction speed for each of the channels to be evaluated based on the rerouting evaluation results and the corresponding transaction amounts of historical payment transactions, and correcting the basic predicted support time based on the migration correction transaction speed includes: Obtain the transaction amount, selected channel, and alternative channels for each historical payment transaction within a preset observation time window. The alternative channels are the payment channels with the smallest total channel weight among the payment channels that are not selected and whose total channel weight is lower than the preset channel blocking value in the routing evaluation results of the corresponding historical payment transactions. The historical payment transactions are re-evaluated using the current channel configuration parameters. When the total weight of the selected channel after re-evaluation is greater than or equal to the preset channel blocking value, and the total weight of the alternative channel after re-evaluation is lower than the preset channel blocking value, the corresponding historical payment transaction is determined as the transaction to be migrated corresponding to the alternative channel. For any of the channels to be evaluated, the transaction amounts of each of the transactions to be migrated, which use the channel to be evaluated as a candidate channel, are added together to obtain the transaction amount to be migrated. The total transaction amount actually received by the channel to be evaluated within the preset observation time window is obtained, and the ratio of the sum of the actual total transaction amount received and the transaction amount to be migrated to the length of the preset observation time window is determined as the migration correction transaction speed. When the migration correction transaction speed is not zero and the number of historical payment transactions within the preset observation time window reaches the preset number of replays to be initiated, the ratio of the available credit limit to the larger of the transaction speed of the same period yesterday and the migration correction transaction speed is determined as the predicted support time. When the migration correction transaction speed is zero, or when the number of historical payment transactions within the preset observation time window is lower than the preset number of replay initiation transactions, the basic predicted support time is determined as the predicted support time.
5. The intelligent routing method for payment channels according to claim 1, characterized in that, The determination of the risk-added weight includes: For the combination of the current card BIN and any of the channels to be evaluated, the total number of transactions, the number of failed transactions, the number of chargebacks, and the number of transactions blocked by the channel-side risk control are counted within a preset historical time window. The preset historical time window covers multiple consecutive statistical days prior to the current day. When the total number of transactions is less than or equal to the preset number of risk score activations, the risk-added weight is set to zero. When the total number of transactions exceeds the preset number of risk score activations, the ratio of the number of failed transactions to the total number of transactions is determined as the failure rate, the ratio of the number of chargebacks to the total number of transactions is determined as the chargeback rate, and the ratio of the number of transactions blocked by channel-side risk control to the total number of transactions is determined as the risk control blocking percentage. The risk score is obtained by weighting and summing the failure rate, the chargeback rate, and the risk control interception ratio according to the preset risk weight coefficients corresponding to the failure rate, the chargeback rate, and the risk control interception ratio respectively. The risk score is multiplied by a preset penalty coefficient, and the product is rounded up to determine the additional risk weight. The number of failed transactions refers to the number of transactions that have been sent to the corresponding evaluation channel and explicitly returned as failed by the corresponding evaluation channel.
6. The intelligent routing method for payment channels according to claim 1, characterized in that, When all payment channels in the enabled state are identified as the channels to be evaluated, the total channel weight of each channel to be evaluated is dynamically adjusted before determining the optimal routing channel, including: Obtain the real-time operating indicators of each of the channels to be evaluated within a preset real-time statistical time window before the current time. The real-time operating indicators include channel success rate, channel failure rate, average response time, and quota consumption rate. The median of each real-time operating indicator of all the channels to be evaluated is determined, and the direction and degree of deviation of each real-time operating indicator of each channel to be evaluated relative to the corresponding median are determined. When the deviation direction of any real-time operating indicator is the same as the preset correction direction corresponding to the real-time operating indicator, and the deviation degree of the real-time operating indicator is greater than or equal to the corresponding preset deviation threshold, the preset correction value corresponding to the real-time operating indicator is determined as the dynamic correction factor. When the deviation direction of any real-time operating indicator is different from the preset correction direction corresponding to the real-time operating indicator, or when the deviation degree of the real-time operating indicator is lower than the corresponding preset deviation threshold, the dynamic correction factor corresponding to the real-time operating indicator is determined to be zero. The dynamic correction factors are summed to the total channel weight of the corresponding channel to be evaluated to obtain the updated total channel weight; From the channels to be evaluated whose updated total channel weight is lower than the preset channel blocking value, the channel with the smallest updated total channel weight is determined as the optimal routing channel.
7. The intelligent routing method for payment channels according to claim 1, characterized in that, The amount segmentation control flag corresponding to the channel to be evaluated is in the open state, and the single transaction limit flag is in the closed state. The determination of the weights corresponding to the amount segmentation restrictions includes: Get the first lower limit, the first upper limit, the second lower limit, and the second upper limit; The range of amounts greater than or equal to the first lower limit and less than or equal to the first upper limit is defined as the first amount range, and the range of amounts greater than or equal to the second lower limit and less than or equal to the second upper limit is defined as the second amount range; When the transaction amount is within the first amount range or the second amount range, the weight corresponding to the amount segmentation limit is determined as a preset available weight; When the transaction amount is outside the first amount range and the second amount range, the weight corresponding to the amount segmentation limit is determined as the preset channel blocking value.
8. The intelligent routing method for payment channels according to claim 1, characterized in that, The determination of the weight corresponding to the card type restriction includes: Obtain the list of prohibited channels and the prohibited time flag corresponding to the current card BIN, as well as the channel blacklist and card type restriction status corresponding to each of the channels to be evaluated; wherein, the prohibited time flag is used to indicate whether the current transaction time is within the effective period of the prohibited channel list; Based on the prohibited time flag and whether the prohibited channel list contains the channel to be evaluated, the prohibited channel check result is determined, and based on whether the channel blacklist contains the current card BIN, the channel blacklist check result is determined; When the channel blocking check result or the channel blacklist check result is a blocking result, the weight corresponding to the card type restriction is determined as the preset channel blocking value; When both the prohibited channel check result and the channel blacklist check result are passed, the card type support range corresponding to the channel to be evaluated is determined according to the card type restriction status, and the weight corresponding to the card type restriction is determined according to the correspondence between the card type and the card type support range. Specifically, when the card type is within the card type support range, the weight corresponding to the card type restriction is determined as a preset available weight; when the card type is outside the card type support range, the weight corresponding to the card type restriction is determined as the preset channel blocking value.
9. The intelligent routing method for payment channels according to claim 1, characterized in that, The payment transaction request also includes channel specification information, and determining at least one channel to be evaluated and determining the optimal routing channel includes: Obtain the degradation switch status and determine the routing mode based on the channel specified information. The routing mode includes a global intelligent routing mode and a specified channel routing mode. In the global intelligent routing mode, the payment channel that is in the enabled state is identified as the channel to be evaluated, and the channel with the smallest total weight among the channels to be evaluated that is lower than the preset channel blocking value is identified as the optimal routing channel; when the total weight of each of the channels to be evaluated is greater than or equal to the preset channel blocking value, the routing blocking result is output. In the designated channel routing mode, a designated channel is determined according to the channel designation information, and the designated channel is determined as the channel to be evaluated; when the total channel weight of the designated channel is lower than the preset channel blocking value, the designated channel is determined as the optimal routing channel; When the total weight of the specified channel is greater than or equal to the preset channel blocking value and the degradation switch state indicates that degradation is allowed, the system switches to the global intelligent routing mode, re-determines the channel in the enabled state as the channel to be evaluated, and re-determines the optimal routing channel. When the total channel weight of the specified channel is greater than or equal to the preset channel blocking value and the degradation switch state indicates that the degradation function is turned off, the routing blocking result is output.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the payment channel intelligent routing method according to any one of claims 1 to 9.