CN107491976A - 一种退款方法及装置 - Google Patents
一种退款方法及装置 Download PDFInfo
- Publication number
- CN107491976A CN107491976A CN201610414188.3A CN201610414188A CN107491976A CN 107491976 A CN107491976 A CN 107491976A CN 201610414188 A CN201610414188 A CN 201610414188A CN 107491976 A CN107491976 A CN 107491976A
- Authority
- CN
- China
- Prior art keywords
- amount
- money
- rebating
- account
- deducted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0211—Determining the effectiveness of discounts or incentives
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明涉及通信技术领域,公开了一种退款方法及装置,包括:接收退款请求,所述退款请求中包括账户信息;获取账户信息中的本金余额和返利余额;查询账户的充值记录,充值记录中至少包括账户的每笔充值金额以及与每笔充值金额对应的每笔返利金额;根据账户的本金余额,从充值记录中确定出最近N次的充值记录,其中,N笔充值金额之和大于或等于本金余额,且最近N‑1笔充值金额之和小于本金余额;根据返利余额,以及N笔充值金额对应的N笔返利金额,确定扣除金额;根据本金余额和扣除金额,计算出账户的退款金额;根据账户的退款金额向账户退款。本发明用以在账户持有者销户退款时准确计算退款金额。
Description
技术领域
本发明涉及电子商务领域,尤其涉及一种退款方法及装置。
背景技术
随着互联网的普及以及电子商务平台多年的发展,为了方便消费,人们习惯于在银行或商家建立账户,这里的账户可以是磁卡、芯片卡等卡片的形式,也可以是网络上的虚拟账户。用户将钱预存在账户中,在需要的时候可以从账户中取钱,或直接利用账户进行付款。当用户销户时,运营商将当前的账户还剩余的金额退还给账户的持有者。
为了吸引和鼓励用户在账户中存入更多的金额,在用户向账户一次性充值达到一定金额后,运营商会根据用户的充值金额向用户的账户进行返利,用户在消费时也可利用账户中的返利金额。
用户在销户时,运营商将账户余额退还给用户,目前常见的退款方式,一般没有考虑到充值返利的情况。如果用户账户的业务模式里包含了充值返利,最后仍以账户余额进行退款,则运营商可能会利益受损。例如,账户持有者向账户中充值100元,享受了10元的返利。此后,账户持有者消费了10元的返利,但账户中的余额仍为100元。这时,如果销户时退还账户持有者100元,则10元的返利消费相当于账户所在运营商承担了损失。
发明内容
本发明实施例提供一种退款方法及装置,用以在账户持有者销户退款时准确计算退款金额。
本发明实施例提供的退款方法包括:
接收退款请求,所述退款请求中包括账户信息;
获取所述账户信息中的本金余额和返利余额;
查询所述账户的充值记录,所述充值记录中至少包括所述账户的每笔充值金额以及与所述每笔充值金额对应的每笔返利金额;
根据所述账户的本金余额,从充值记录中确定出最近N次的充值记录,其中,所述N笔充值金额之和大于或等于所述本金余额,且最近N-1笔充值金额之和小于所述本金余额;
根据所述返利余额,以及所述N笔充值金额对应的N笔返利金额,确定扣除金额;
根据所述本金余额和所述扣除金额,计算出所述账户的退款金额;
根据所述账户的退款金额向所述账户退款。
可选的,所述根据所述返利余额,以及所述N笔充值金额对应的N笔返利金额,确定扣除金额,包括:
判断所述N笔返利金额之和是否大于所述返利余额;
若是,则所述扣除金额为所述N笔返利金额之和减去所述返利余额;
若否,则所述扣除金额为0。
可选的,所述判断所述N笔返利金额之和是否大于所述返利余额,包括:
若所述N笔返利金额中包括无需扣除的返利金额,则判断所述N笔返利金额之和减去无需扣除的返利金额是否大于所述返利余额;
所述扣除金额为所述N笔返利金额之和减去所述返利余额,包括:
所述扣除金额为所述N笔返利金额之和减去所述无需扣除的返利金额和所述返利余额。
可选的,所述扣除金额还包括不能退款的充值金额;
所述根据所述返利余额,以及所述N笔充值金额对应的N笔返利金额,确定扣除金额,包括:
根据所述N笔充值金额,将所述本金余额分为对应的N部分,其中,所述本金余额的前N-1部分与所述前N-1笔的充值金额对应相同;
针对每部分本金余额,若确定与所述部分的本金余额对应的充值金额为不能退款的充值金额,则所述扣除金额还包括所述部分的本金余额。
可选的,所述根据所述本金余额和所述扣除金额,计算出所述账户的退款金额,包括:
判断所述本金余额是否大于所述扣除金额;
若是,则所述退款金额为所述本金余额减去所述扣除金额;
若否,则所述退款金额为0。
一种退款装置,包括:
接收模块,用于接收退款请求,所述退款请求中包括账户信息;
获取模块,用于获取所述账户信息中的本金余额和返利余额;
所述获取模块,还用于查询所述账户的充值记录,所述充值记录中至少包括所述账户的每笔充值金额以及与所述每笔充值金额对应的每笔返利金额;
计算模块,用于根据所述账户的本金余额,从充值记录中确定出最近N次的充值记录,其中,所述N笔充值金额之和大于或等于所述本金余额,且最近N-1笔充值金额之和小于所述本金余额;
所述计算模块,还用于根据所述返利余额,以及所述N笔充值金额对应的N笔返利金额,确定扣除金额;
所述计算模块,还用于根据所述本金余额和所述扣除金额,计算出所述账户的退款金额;
退款模块,用于根据所述账户的退款金额向所述账户退款。
可选的,所述计算模块,还用于:
判断所述N笔返利金额之和是否大于所述返利余额;
若是,则所述扣除金额为所述N笔返利金额之和减去所述返利余额;
若否,则所述扣除金额为0。
可选的,所述计算模块,还用于:
若所述N笔返利金额中包括无需扣除的返利金额,则判断所述N笔返利金额之和减去无需扣除的返利金额是否大于所述返利余额;
所述扣除金额为所述N笔返利金额之和减去所述无需扣除的返利金额和所述返利余额。
可选的,所述扣除金额还包括不能退款的充值金额;
所述计算模块,还用于:
根据所述N笔充值金额,将所述本金余额分为对应的N部分,其中,所述本金余额的前N-1部分与所述前N-1笔的充值金额对应相同;
针对每部分本金余额,若确定与所述部分的本金余额对应的充值金额为不能退款的充值金额,则所述扣除金额还包括所述部分的本金余额。
可选的,所述计算模块,还用于:
判断所述本金余额是否大于所述扣除金额;
若是,则所述退款金额为所述本金余额减去所述扣除金额;
若否,则所述退款金额为0。
本发明实施例中,用户开户后,建立并存储该用户账户的充值记录,充值记录中至少包括该账户的每笔充值金额以及与每笔充值金额对应的每笔返利金额。在用户进行销户时,接收账户的退款请求,该退款请求中包括账户信息,账户信息包括该账户中还留存的本金余额和返利余额。获取该账户的本金余额和返利余额,并查询该账户的充值记录。将充值记录按时间进行排序,根据账户的本金余额,从充值记录中确定出最近N次的充值记录,再根据返利余额,以及N笔充值金额对应的N笔返利金额,确定扣除金额。其中,N笔充值金额之和大于或等于所述本金余额,且最近N-1笔充值金额之和小于所述本金余额。根据本金余额和扣除金额,计算出账户的退款金额。也就是说,在退还用户账户本金余额的基础上,需根据返利金额和返利余额确定出扣除金额,即从本金余额中扣除掉用户已经消费掉的返利金额。本发明实施例是根据本金余额和扣除金额确定向用户账户退款的退款金额,继而根据账户的退款金额向账户进行退款。其中,扣除金额是确定出本金余额对应的充值金额,进而找出对应的返利金额,将返利金额以及返利余额进行计算而得出。这样一来,退款的金额中不仅考虑到了用户账户的还剩下的金额,还考虑到用户已消费的返利金额,将用户已消费的返利金额直接从用户账户的退款金额中扣除,可以根据充值记录合理更准确地算出退款金额。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种退款方法的流程图;
图2为本发明实施例一中一种退款方法流程流程图;
图3为本发明实施例二中一种退款方法流程流程图;
图4为本发明实施例三中一种退款方法流程流程图;
图5为本发明实施例中一种退款装置的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种退款方法,流程如图1所示,方法可以包括如下步骤:
S101、接收退款请求,所述退款请求中包括账户信息。
S102、获取所述账户信息中的本金余额和返利余额。
本发明实施例中账户信息包括账户的本金余额和返利余额,这里的本金余额对应于账户的充值金额,即该账户中将充值金额消费后剩余的金额;返利余额对应于账户的返利金额,即账户中将返利金额消费后剩余的金额。
S103、查询所述账户的充值记录,所述充值记录中至少包括所述账户的每笔充值金额以及与所述每笔充值金额对应的每笔返利金额。
本发明实施例在用户开户时,建立相应的充值记录表。充值记录表包括充值金额和对应的返利金额,即账户中每进行一次充值,即在充值记录表中记录充值的金额,并记录运营商针对这次充值,向账户进行返利的金额。
S104、根据所述账户的本金余额,从充值记录中确定出最近N次的充值记录。
其中,所述N笔充值金额之和大于或等于所述本金余额,且最近N-1笔充值金额之和小于所述本金余额。
S105、根据所述返利余额,以及所述N笔充值金额对应的N笔返利金额,确定扣除金额。
S106、根据所述本金余额和所述扣除金额,计算出所述账户的退款金额。
S107、根据所述账户的退款金额向所述账户退款。这里的向账户退款,可以是现金的形式直接向账户的持有者退款,也可以是按退款金额将钱款退回账户,或者是按照充值的方式向账户的持有者退款。
本发明实施例中,用户开户后,建立并存储该用户账户的充值记录,充值记录中至少包括该账户的每笔充值金额以及与每笔充值金额对应的每笔返利金额。在用户进行销户时,接收账户的退款请求,该退款请求中包括账户信息,账户信息包括该账户中还留存的本金余额和返利余额。获取该账户的本金余额和返利余额,并查询该账户的充值记录。将充值记录按时间进行排序,根据账户的本金余额,从充值记录中确定出最近N次的充值记录,再根据返利余额,以及N笔充值金额对应的N笔返利金额,确定扣除金额。其中,N笔充值金额之和大于或等于所述本金余额,且最近N-1笔充值金额之和小于所述本金余额。根据本金余额和扣除金额,计算出账户的退款金额。也就是说,在退还用户账户本金余额的基础上,需根据返利金额和返利余额确定出扣除金额,即从本金余额中扣除掉用户已经消费掉的返利金额。本发明实施例是根据本金余额和扣除金额确定向用户账户退款的退款金额,继而根据账户的退款金额向账户进行退款。其中,扣除金额是确定出本金余额对应的充值金额,进而找出对应的返利金额,将返利金额以及返利余额进行计算而得出。这样一来,退款的金额中不仅考虑到了用户账户的还剩下的金额,还考虑到用户已消费的返利金额,将用户已消费的返利金额直接从用户账户的退款金额中扣除。
本发明实施例中,一种情况为账户中充值金额都可以退款,则步骤S105,包括:
判断所述N笔返利金额之和是否大于所述返利余额;
若是,则所述扣除金额为所述N笔返利金额之和减去所述返利余额;
若否,则所述扣除金额为0。
此时,只需考虑返利余额与返利金额之间的差值,即扣除金额为最近N笔返利金额之和减去返利余额的差值。也就是说,若最近N笔返利金额之和大于返利余额,则将用户账户中最近N笔返利金额中消费掉的金额从退还给账户的退款金额中扣除。特殊的,若最近N笔返利金额之和等于返利余额,则扣除金额为0,即账户中的最近N笔返利金额未被消费,则无需从退款金额中扣除。此外,也可能出现最近N笔返利金额之和小于返利余额的情况,这种情况下,账户中第1笔至第N-1笔返利金额全部或部分未被消费,此时扣除金额仍为0,即运营商不会将用户未消费的返利金额作为退款返还给用户账户。
举例来说,账户X的充值记录如表1所示,
充值方式 | 充值金额 | 返利金额 | 充值时间 | |
1 | 银行卡充值 | 100 | 10 | 2016/03/06/11:35:07 |
2 | 优惠券充值 | 50 | 0 | 2016/02/25/17:22:20 |
3 | 员工卡充值 | 280 | 25 | 2016/02/16/09:56:45 |
4 | 现金充值 | 100 | 10 | 2015/11/12/16:46:09 |
5 | 现金充值 | 100 | 10 | 2015/11/10/12:25:14 |
表1
假设账户X的本金余额为300元,由于最近2笔充值金额之和为150元,最近3笔充值金额之和为430元,因此,从充值记录表中可以确定出最近3次的充值记录,则N笔返利金额之和为前3笔的返利金额之和,即为10+0+25=35元。若账户X的返利余额为10元,即最近N笔返利金额之和大于返利余额,故扣除金额为35-10=25元。若账户X的返利余额为35元,则扣除金额为0元。若账户X的返利余额为45元,即最近N笔返利金额之和小于返利余额,扣除金额也为0元。也就是账户X只消费了第5笔返利金额,前4笔返利金额均未消费,退款金额只包括前3笔的充值金额,与之相应的返利金额理所当然不予退还。而对于第4笔充值,虽然其充值金额已被消费,且其返利金额未消费,但由于该返利金额为运营商对账户充值的返利,故不会算入退款金额之内,故扣除金额不为负数。
接下来,已知账户的本金余额以及计算出扣除金额,则退款金额为账户的本金余额减去扣除金额。即步骤S106包括:
判断所述本金余额是否大于所述扣除金额;
若是,则所述退款金额为所述本金余额减去所述扣除金额;
若否,则所述退款金额为0。
仍以表1为例,假设账户X的本金余额为300元,扣除金额为25元,则退款金额为300-25=275元。特殊的,若本金余额若账户X的本金余额为5元,返利余额为2元,从充值记录表中可以确定出最近1次的充值记录,则N笔返利金额之和为第1笔返利金额,即为10+0+25=10元,因为第1笔返利金额大于返利余额,则扣除金额为10-2=8元,这里本金余额小于扣除金额,则退款金额为0元,即不会再向账户收取用户多余消费的返利金额。
本发明实施例中,第二种情况为账户中部分返利金额可以为无需扣除的返利金额,则此时,所述判断所述N笔返利金额之和是否大于所述返利余额,包括:
若所述N笔返利金额中包括无需扣除的返利金额,则判断所述N笔返利金额之和减去无需扣除的返利金额是否大于所述返利余额;
所述扣除金额为所述N笔返利金额之和减去所述返利余额,包括:
所述扣除金额为所述N笔返利金额之和减去所述无需扣除的返利金额和所述返利余额。
也就是说,商家为了促销或鼓励用户存款,可以将某些返利金额设定为无需扣除的返利金额,如根据账户的充值方式,将现金充值享受的返利设定为无需扣除的返利;或将小于返利阈值的返利金额设定为无需扣除的返利,将大于或等于返利阈值的返利金额设定为需要扣除的返利。即用户退款时,无论用户是否需将该次充值金额进行退款,用户均能享受该次充值对应的返利,即无需扣除相应的返利金额。
例如,若表1中的第1次充值记录的返利金额为无需退款的返利金额,则在账户X的本金余额为300元,返利余额为10元的情况下,扣除金额为35-10-10=15元。
此外,本发明实施例中,第三种情况为账户中充值金额有部分可以退款,有部分不可以退款,即扣除金额还包括不能退款的充值金额,则此时步骤S105包括:
根据所述N笔充值金额,将所述本金余额分为对应的N部分,其中,所述本金余额的前N-1部分与所述前N-1笔的充值金额对应相同;
针对每部分本金余额,若确定与所述部分的本金余额对应的充值金额为不能退款的充值金额,则所述扣除金额还包括所述部分的本金余额。
具体来说,运营商将账户的充值金额定为可以退款的充值或不能退款的充值,可以根据账户的充值方式,如将优惠券充值和员工卡充值定为不能退款的充值,其余方式的充值为可以退款的充值;或者根据充值金额,将充值金额少于充值阈值的充值定为不能退款,将充值金额大于或等于充值阈值的充值定为可以退款。这样,当账户需要退款时,根据账户的本金余额所对应的每笔充值金额是否可以退款,来判定退款金额是否包括该笔充值金额。由于在不考虑返利金额的情况下,退款金额只包括本金余额,此时只需从本金余额中扣除相应的不能退款的充值金额。
将表1中加入每笔充值是否可以退款的标记,得到表2。
充值方式 | 充值金额 | 返利金额 | 能否退款 | 充值时间 | |
1 | 银行卡充值 | 100 | 10 | 是 | 2016/03/06/11:35:07 |
2 | 优惠券充值 | 50 | 0 | 否 | 2016/02/25/17:22:20 |
3 | 员工卡充值 | 280 | 25 | 否 | 2016/02/16/09:56:45 |
4 | 现金充值 | 100 | 10 | 是 | 2015/11/12/16:46:09 |
5 | 现金充值 | 100 | 10 | 是 | 2015/11/10/12:25:14 |
表2
假设账户Y的本金余额为500元,由于前3笔充值金额之和为100+50+280=430元,前4笔充值金额之和为100+50+280+100=530元,则相应的N次充值记录为前4次充值记录。将本金余额分为对应的4部分,本金余额的前3部分与前3笔充值金额对应相同,即将本金余额分为100元、50元、280元和70元,需从本金余额中扣除不能退款的充值金额,即需扣除第2笔充值金额和第3笔充值金额对应的第2部分和第3部分本金余额,扣除金额包括50+280=330元。
需要注意的是,若本金余额的第N部分对应的充值金额不能退款,则需从本金余额中扣除第N部分的本金余额。例如,若账户Y的本金余额为400元,相应的N次充值记录为前3次充值记录。将本金月分为对应的3部分,本金余额的前2部分与前2笔充值金额对应相同,即将本金余额分为100元、50元和250元。需扣除第2笔充值金额和第3笔充值金额对应的第2部分和第3部分本金余额,即从本金余额中扣除50元和250元。这里扣除的第3部分本金余额不等于第3笔充值金额。因为账户Y已将第3笔充值金额消费掉一部分,因此是从本金余额中扣除消费余下的部分充值金额。
为了更清楚地理解本发明,下面以具体的实施例对上述流程进行详细描述。实施例一的场景为无不能退款的充值金额且返利金额需要扣除,具体步骤如图2所示,包括:
S201、接收退款请求,退款请求中包括账户信息。
S202、获取账户信息中的本金余额A元和返利余额B元。
S203、查询账户的充值记录,充值记录中包括该账户的每笔充值金额ai元以及对应的每笔返利金额bi元。
S204、设置i=1,退款金额C=A。
S205、取第i笔充值记录的充值金额ai以及返利金额bi。
S206、A=A-ai。
S207、B=B-bi。
S208、判断A是否大于0,若是,则执行步骤S209;否则,执行步骤S210。
S209、i++,即将i的数值加1,然后执行步骤S205。
S210、判断B是否小于0,若是,执行步骤S211;否则,执行步骤S212。
S211、C=C+B。
S212、判断C是否小于0,若是,执行步骤S213;否则,执行步骤S214。
S213、退款金额为0元。
S214、退款金额为C元。
S215、根据退款金额向账户退款。
下面举例说明实施例一中的算法,若账户X的充值记录如表3:
表3
在不同本金余额的情况下,根据实施例一中的算法计算后,向账户退款的金额如表4所示。
本金余额A | 返利余额B | 退款金额C |
20 | 0 | 0 |
15 | 0 | 0 |
590 | 35 | 590 |
590 | 10 | 570 |
570 | 10 | 550 |
870 | 35 | 850 |
850 | 35 | 830 |
850 | 0 | 795 |
表4
实施例二的场景为考虑存在不能退款的充值金额且返利金额需要扣除,这时只需将实施例一中的算法流程稍作改动即可,具体步骤如图3所示,包括:
S301、接收退款请求,退款请求中包括账户信息。
S302、获取账户信息中的本金余额A元和返利余额B元。
S303、查询账户的充值记录,充值记录中包括该账户的每笔充值金额ai元以及对应的每笔返利金额bi元。
S304、设置i=1,退款金额C=A。
S305、取第i笔充值记录的充值金额ai以及返利金额bi。
S306、A=A-ai。
S307、判断ai能否退款,若是,执行步骤S308;否则,执行步骤S309。
S308、B=B-bi。
S309、判断A是否小于0,若是,执行步骤S310;否则,执行步骤S311。
S310、C=C-ai-A,执行步骤S312。由于只有A小于0时才会执行步骤S310,即第i笔充值金额已被消费掉一部分,因此是从本金余额中扣除消费余下的部分充值金额。
S311、C=C-ai,执行步骤S312。这一步即为在扣除金额中加上不能退款的充值金额。
S312、判断A是否大于0,若是,则执行步骤S313;否则,执行步骤S314。
S313、i++,即将i的数值加1,然后执行步骤S305。
S314、判断B是否小于0,若是,执行步骤S315;否则,执行步骤S216。
S315、C=C+B。
S316、判断C是否小于0,若是,执行步骤S317;否则,执行步骤S318。
S317、退款金额为0元。
S318、退款金额为C元。
S319、根据退款金额向账户退款。
若账户X的充值记录如表5:
表5
在不同本金余额的情况下,根据实施例二中的算法计算后,向账户退款的金额如表6所示。
本金余额A | 返利余额B | 退款金额C |
20 | 0 | 0 |
15 | 0 | 0 |
590 | 35 | 260 |
590 | 10 | 240 |
570 | 10 | 240 |
870 | 35 | 520 |
850 | 35 | 500 |
850 | 0 | 465 |
表6
实施例三的场景为考虑存在部分充值金额不能退款且部分返利金额无需扣款的情况,具体步骤如图4所示,包括:
S401、接收退款请求,退款请求中包括账户信息。
S402、获取账户信息中的本金余额A元和返利余额B元。
S403、查询账户的充值记录,充值记录中包括该账户的每笔充值金额ai元以及对应的每笔返利金额bi元。
S404、设置i=1,退款金额C=A。
S405、取第i笔充值记录的充值金额ai以及返利金额bi。
S406、A=A-ai。
S407、判断ai能否退款,若是,执行步骤S408;否则,执行步骤S410。
S408、判断bi是否需要扣除,若是,执行步骤S409;否则,执行步骤S413。
S409、B=B-bi。
S410、判断A是否小于0,若是,执行步骤S411;否则,执行步骤S412。
S411、C=C-ai-A,执行步骤S413。
S412、C=C-ai,执行步骤S413。
S413、判断A是否大于0,若是,则执行步骤S414;否则,执行步骤S415。
S414、i++,即将i的数值加1,然后执行步骤S405。
S415、判断B是否小于0,若是,执行步骤S416;否则,执行步骤S417。
S416、C=C+B。
S417、判断C是否小于0,若是,执行步骤S418;否则,执行步骤S419。
S418、退款金额为0元。
S419、退款金额为C元。
S420、根据退款金额向账户退款。
若账户X的充值记录如表7:
表7
在不同本金余额的情况下,根据实施例二中的算法计算后,向账户退款的金额如表8所示。
本金余额A | 返利余额B | 退款金额C |
20 | 0 | 0 |
15 | 0 | 0 |
590 | 35 | 260 |
590 | 10 | 250 |
570 | 10 | 250 |
870 | 35 | 530 |
850 | 35 | 510 |
850 | 0 | 475 |
表8
基于相同的技术构思,本发明实施例还提供一种退款装置,如图5所示,包括:
接收模块1,用于接收退款请求,所述退款请求中包括账户信息;
获取模块2,用于获取所述账户信息中的本金余额和返利余额;
所述获取模块2,还用于查询所述账户的充值记录,所述充值记录中至少包括所述账户的每笔充值金额以及与所述每笔充值金额对应的每笔返利金额;
计算模块3,用于根据所述账户的本金余额,从充值记录中确定出最近N次的充值记录,其中,所述N笔充值金额之和大于或等于所述本金余额,且最近N-1笔充值金额之和小于所述本金余额;
所述计算模块3,还用于根据所述返利余额,以及所述N笔充值金额对应的N笔返利金额,确定扣除金额;
所述计算模块3,还用于根据所述本金余额和所述扣除金额,计算出所述账户的退款金额;
退款模块4,用于根据所述账户的退款金额向所述账户退款。
可选的,所述计算模块3,还用于:
判断所述N笔返利金额之和是否大于所述返利余额;
若是,则所述扣除金额为所述N笔返利金额之和减去所述返利余额;
若否,则所述扣除金额为0。
可选的,所述计算模块3,还用于:
若所述N笔返利金额中包括无需扣除的返利金额,则判断所述N笔返利金额之和减去无需扣除的返利金额是否大于所述返利余额;
所述扣除金额为所述N笔返利金额之和减去所述无需扣除的返利金额和所述返利余额。
可选的,所述扣除金额还包括不能退款的充值金额;
所述计算模块3,还用于:
根据所述N笔充值金额,将所述本金余额分为对应的N部分,其中,所述本金余额的前N-1部分与所述前N-1笔的充值金额对应相同;
针对每部分本金余额,若确定与所述部分的本金余额对应的充值金额为不能退款的充值金额,则所述扣除金额还包括所述部分的本金余额。
可选的,所述计算模块3,还用于:
判断所述本金余额是否大于所述扣除金额;
若是,则所述退款金额为所述本金余额减去所述扣除金额;
若否,则所述退款金额为0。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种退款方法,其特征在于,包括:
接收退款请求,所述退款请求中包括账户信息;
获取所述账户信息中的本金余额和返利余额;
查询所述账户的充值记录,所述充值记录中至少包括所述账户的每笔充值金额以及与所述每笔充值金额对应的每笔返利金额;
根据所述账户的本金余额,从充值记录中确定出最近N次的充值记录,其中,所述N笔充值金额之和大于或等于所述本金余额,且最近N-1笔充值金额之和小于所述本金余额;
根据所述返利余额,以及所述N笔充值金额对应的N笔返利金额,确定扣除金额;
根据所述本金余额和所述扣除金额,计算出所述账户的退款金额;
根据所述账户的退款金额向所述账户退款。
2.如权利要求1所述的方法,其特征在于,所述根据所述返利余额,以及所述N笔充值金额对应的N笔返利金额,确定扣除金额,包括:
判断所述N笔返利金额之和是否大于所述返利余额;
若是,则所述扣除金额为所述N笔返利金额之和减去所述返利余额;
若否,则所述扣除金额为0。
3.如权利要求2所述的方法,其特征在于,所述判断所述N笔返利金额之和是否大于所述返利余额,包括:
若所述N笔返利金额中包括无需扣除的返利金额,则判断所述N笔返利金额之和减去无需扣除的返利金额是否大于所述返利余额;
所述扣除金额为所述N笔返利金额之和减去所述返利余额,包括:
所述扣除金额为所述N笔返利金额之和减去所述无需扣除的返利金额和所述返利余额。
4.如权利要求2所述的方法,其特征在于,所述扣除金额还包括不能退款的充值金额;
所述根据所述返利余额,以及所述N笔充值金额对应的N笔返利金额,确定扣除金额,包括:
根据所述N笔充值金额,将所述本金余额分为对应的N部分,其中,所述本金余额的前N-1部分与所述前N-1笔的充值金额对应相同;
针对每部分本金余额,若确定与所述部分的本金余额对应的充值金额为不能退款的充值金额,则所述扣除金额还包括所述部分的本金余额。
5.如权利要求1至4任一项所述的方法,其特征在于,所述根据所述本金余额和所述扣除金额,计算出所述账户的退款金额,包括:
判断所述本金余额是否大于所述扣除金额;
若是,则所述退款金额为所述本金余额减去所述扣除金额;
若否,则所述退款金额为0。
6.一种退款装置,其特征在于,包括:
接收模块,用于接收退款请求,所述退款请求中包括账户信息;
获取模块,用于获取所述账户信息中的本金余额和返利余额;
所述获取模块,还用于查询所述账户的充值记录,所述充值记录中至少包括所述账户的每笔充值金额以及与所述每笔充值金额对应的每笔返利金额;
计算模块,用于根据所述账户的本金余额,从充值记录中确定出最近N次的充值记录,其中,所述N笔充值金额之和大于或等于所述本金余额,且最近N-1笔充值金额之和小于所述本金余额;
所述计算模块,还用于根据所述返利余额,以及所述N笔充值金额对应的N笔返利金额,确定扣除金额;
所述计算模块,还用于根据所述本金余额和所述扣除金额,计算出所述账户的退款金额;
退款模块,用于根据所述账户的退款金额向所述账户退款。
7.如权利要求6所述的装置,其特征在于,所述计算模块,还用于:
判断所述N笔返利金额之和是否大于所述返利余额;
若是,则所述扣除金额为所述N笔返利金额之和减去所述返利余额;
若否,则所述扣除金额为0。
8.如权利要求7所述的装置,其特征在于,所述计算模块,还用于:
若所述N笔返利金额中包括无需扣除的返利金额,则判断所述N笔返利金额之和减去无需扣除的返利金额是否大于所述返利余额;
所述扣除金额为所述N笔返利金额之和减去所述无需扣除的返利金额和所述返利余额。
9.如权利要求7所述的装置,其特征在于,所述扣除金额还包括不能退款的充值金额;
所述计算模块,还用于:
根据所述N笔充值金额,将所述本金余额分为对应的N部分,其中,所述本金余额的前N-1部分与所述前N-1笔的充值金额对应相同;
针对每部分本金余额,若确定与所述部分的本金余额对应的充值金额为不能退款的充值金额,则所述扣除金额还包括所述部分的本金余额。
10.如权利要求6至9任一项所述的装置,其特征在于,所述计算模块,还用于:
判断所述本金余额是否大于所述扣除金额;
若是,则所述退款金额为所述本金余额减去所述扣除金额;
若否,则所述退款金额为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610414188.3A CN107491976A (zh) | 2016-06-13 | 2016-06-13 | 一种退款方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610414188.3A CN107491976A (zh) | 2016-06-13 | 2016-06-13 | 一种退款方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107491976A true CN107491976A (zh) | 2017-12-19 |
Family
ID=60643210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610414188.3A Pending CN107491976A (zh) | 2016-06-13 | 2016-06-13 | 一种退款方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107491976A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785522A (zh) * | 2019-02-18 | 2019-05-21 | 石家庄科林物联网科技有限公司 | 一种计量表的预付费方法 |
CN110264249A (zh) * | 2019-05-30 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 用于撤回数据转移操作的方法及装置 |
CN111222866A (zh) * | 2019-12-25 | 2020-06-02 | 北京多达通能源科技有限公司 | 一种退款处理方法及装置 |
CN112184240A (zh) * | 2020-09-23 | 2021-01-05 | 中国建设银行股份有限公司 | 一种退款请求处理方法和装置 |
CN113379434A (zh) * | 2020-02-25 | 2021-09-10 | 北京沃东天骏信息技术有限公司 | 一种优惠券的使用方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779304A (zh) * | 2011-05-10 | 2012-11-14 | 中国联合网络通信集团有限公司 | 电子钱包中赠予金额的处理方法及服务器 |
CN103745402A (zh) * | 2014-01-10 | 2014-04-23 | 五八同城信息技术有限公司 | 一种具有有效期的电子货币管理方法 |
-
2016
- 2016-06-13 CN CN201610414188.3A patent/CN107491976A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102779304A (zh) * | 2011-05-10 | 2012-11-14 | 中国联合网络通信集团有限公司 | 电子钱包中赠予金额的处理方法及服务器 |
CN103745402A (zh) * | 2014-01-10 | 2014-04-23 | 五八同城信息技术有限公司 | 一种具有有效期的电子货币管理方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109785522A (zh) * | 2019-02-18 | 2019-05-21 | 石家庄科林物联网科技有限公司 | 一种计量表的预付费方法 |
CN110264249A (zh) * | 2019-05-30 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 用于撤回数据转移操作的方法及装置 |
CN110264249B (zh) * | 2019-05-30 | 2023-04-18 | 创新先进技术有限公司 | 用于撤回数据转移操作的方法及装置 |
CN111222866A (zh) * | 2019-12-25 | 2020-06-02 | 北京多达通能源科技有限公司 | 一种退款处理方法及装置 |
CN113379434A (zh) * | 2020-02-25 | 2021-09-10 | 北京沃东天骏信息技术有限公司 | 一种优惠券的使用方法和装置 |
CN113379434B (zh) * | 2020-02-25 | 2024-07-19 | 北京沃东天骏信息技术有限公司 | 一种优惠券的使用方法和装置 |
CN112184240A (zh) * | 2020-09-23 | 2021-01-05 | 中国建设银行股份有限公司 | 一种退款请求处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107491976A (zh) | 一种退款方法及装置 | |
CN109767260A (zh) | 基于一体化支付的账单优惠方法、装置、设备及存储介质 | |
CN107194646A (zh) | 库存调度方法以及装置 | |
CN106886847A (zh) | 一种资源处理方法及装置 | |
CN107146158A (zh) | 一种电子数据处理方法及装置 | |
CN108446935A (zh) | 资源管理方法、装置、电子设备及计算机可读存储介质 | |
CN107784595A (zh) | 保单退费处理方法、装置、计算机设备及存储介质 | |
JPS63100564A (ja) | 電子メモ装置 | |
CN106127464A (zh) | 一种客房支付管理方法及装置 | |
CN106096854A (zh) | 一种数据处理方法和装置 | |
CN109389420A (zh) | 权益的发放方法及装置 | |
CN109636380A (zh) | 费用处理方法和装置 | |
CN106095972A (zh) | 一种信息分类方法及装置 | |
CN110135833A (zh) | 汽车共享清算方法和汽车共享管理*** | |
CN108920183A (zh) | 一种业务决策方法、装置及设备 | |
CN110084692A (zh) | 一种记账方法及装置 | |
CN102081784A (zh) | 现金补充计划支援***及现金补充计划支援方法 | |
CN204883936U (zh) | 一种市民卡银行圈存设备 | |
CN109272340A (zh) | 参数阈值确定方法、装置及计算机存储介质 | |
WO2017122388A1 (ja) | 情報処理装置、情報処理方法、および、現金自動預け払い機、ならびにプログラム | |
JP2021128503A (ja) | 通貨チャージシステムおよび管理装置 | |
CN107590732A (zh) | 一种业务数据试算方法及其设备、终端 | |
CN109272399B (zh) | 一种***的管理方法及装置 | |
CN108492098A (zh) | 一种跨区域公交卡统一结算方法和装置 | |
CN109559108A (zh) | 一种公交车换乘方法及其装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171219 |