CN106327192A - 一种基于云服务器和支付服务器实现的支付方法及系统 - Google Patents
一种基于云服务器和支付服务器实现的支付方法及系统 Download PDFInfo
- Publication number
- CN106327192A CN106327192A CN201610685387.8A CN201610685387A CN106327192A CN 106327192 A CN106327192 A CN 106327192A CN 201610685387 A CN201610685387 A CN 201610685387A CN 106327192 A CN106327192 A CN 106327192A
- Authority
- CN
- China
- Prior art keywords
- certificate
- cloud server
- information
- server
- paying
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 125
- 230000005540 biological transmission Effects 0.000 claims abstract description 24
- 239000003607 modifier Substances 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 17
- 230000009471 action Effects 0.000 claims description 11
- 238000013524 data verification Methods 0.000 claims description 11
- 230000000694 effects Effects 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 3
- 208000011580 syndromic disease Diseases 0.000 claims 1
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000012011 method of payment Methods 0.000 description 16
- VDBFSWDFTQMVDA-BBRLRVDQSA-N 2-[[2-[[(2S)-2-[[2-[[(2S)-1-[(2S)-2-[[(2S)-2-[[(2S)-6-amino-2-[[2-[[(2S)-1-[(2S)-2-[[2-[[(2S)-6-amino-2-[[(2S)-6-amino-2-[[2-[[(2S)-2-[[(2S)-1-[6-amino-2-[[2-[[(2S)-2-[[2-[[2-[[(2S)-2-[[(2S)-2-[[2-[[2-[[(2S)-2-[[(2S)-2-amino-3-hydroxypropanoyl]amino]-3-(4-hydroxyphenyl)propanoyl]amino]-3-hydroxypropanoyl]amino]-4-methylsulfanylbutanoyl]amino]-4-carboxybutanoyl]amino]-3-(1H-imidazol-4-yl)propanoyl]amino]-3-phenylpropanoyl]amino]-5-carbamimidamidopentanoyl]amino]-3-(1H-indol-3-yl)propanoyl]amino]acetyl]amino]hexanoyl]pyrrolidine-2-carbonyl]amino]-3-methylbutanoyl]amino]acetyl]amino]hexanoyl]amino]hexanoyl]amino]-5-carbamimidamidopentanoyl]amino]-5-carbamimidamidopentanoyl]pyrrolidine-2-carbonyl]amino]-3-methylbutanoyl]amino]hexanoyl]amino]-3-methylbutanoyl]amino]-3-(4-hydroxyphenyl)propanoyl]pyrrolidine-2-carbonyl]amino]-3-carboxypropanoyl]amino]propanoyl]amino]acetyl]amino]pentanedioic acid Chemical compound CSCCC(NC(=O)C(CO)NC(=O)[C@H](Cc1ccc(O)cc1)NC(=O)[C@@H](N)CO)C(=O)N[C@@H](CCC(O)=O)C(=O)N[C@@H](Cc1c[nH]cn1)C(=O)NC(Cc1ccccc1)C(=O)NC(CCCNC(N)=N)C(=O)N[C@@H](Cc1c[nH]c2ccccc12)C(=O)NCC(=O)NC(CCCCN)C(=O)N1CCC[C@H]1C(=O)N[C@@H](C(C)C)C(=O)NCC(=O)N[C@@H](CCCCN)C(=O)N[C@@H](CCCCN)C(=O)NC(CCCNC(N)=N)C(=O)N[C@@H](CCCNC(N)=N)C(=O)N1CCC[C@H]1C(=O)NC(C(C)C)C(=O)N[C@@H](CCCCN)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H](Cc1ccc(O)cc1)C(=O)N1CCC[C@H]1C(=O)NC(CC(O)=O)C(=O)N[C@@H](C)C(=O)NCC(=O)NC(CCC(O)=O)C(O)=O VDBFSWDFTQMVDA-BBRLRVDQSA-N 0.000 description 4
- 108010052328 actid Proteins 0.000 description 4
- 238000005315 distribution function Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/387—Payment using discounts or coupons
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于云服务器和支付服务器实现的支付方法及系统,涉及电子支付领域。其中,云服务器包括与用户直接进行交互的第一接收模块和第一发送模块,还包括第一处理模块、第二处理模块以及与支付服务器进行交互的第二发送模块和第二接收模块,相应的,支付服务器包括第三接收模块、第三处理模块、第三发送模块、第四接收模块和第四处理模块。本发明提供的支付方法及系统,由云服务器承担面向用户的访问需求,这样可以有效缓解支付服务器的工作负载,从而有效解决支付服务器的高并发处理能力,降低支付服务器维护成本。
Description
技术领域
本发明涉及电子支付领域,尤其涉及一种基于云服务器和支付服务器实现的支付方法及系统。
背景技术
随着互联网技术的发展,人们越来越倾向于利用互联网满足自己的需求,例如,利用电商平台进行网络购物、话费充值等,由此也带动了电子支付的广泛应用。
传统的电子支付的实现是将用户发起的常规业务操作与支付操作都放在同一台服务器来完成。但是越来越多的商家通过向用户派发各种电子优惠券的形式推出各种优惠活动,例如用户先从服务器获取充值券、优惠券等各类券信息,在支付时可通过使用获得的券信息来减小实际消费金额,这种用券支付模式可称为抢购支付。抢购支付使得支付服务器的常规业务操作中增加了大量面向用户的获取券操作请求业务,给支付服务器处理高并发访问需求的能力提出了更高要求,并且难免会导致支付服务器响应速度慢的问题。
因此,在电子支付的实现中继续使用传统的单服务器模式将出现以下问题:由于网络带宽有一定的限制、同时要响应高并发的访问需求,这样会导致服务器响应速度慢、易瘫痪等问题,随之必将影响用户体验以及增加服务器的维护费用。
发明内容
为解决现有技术中存在的问题,本发明提供了一种基于云服务器和支付服务器实现的支付方法及系统。
本发明采用的技术方案如下:一种基于云服务器和支付服务器实现的支付方法,包括云服务器工作流程和支付服务器工作流程;
所述云服务器工作流程包括:
当所述云服务器接收到用户支付请求时,从所述用户支付请求中获取用户信息,查询云服务器数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则将券信息的券状态从未使用修改为支付中,根据券信息中包含的券ID和实际交易金额生成支付请求信息,向支付服务器发送所述支付请求信息,否则向用户返回操作失败信息;
当所述云服务器接收到支付服务器发来的通知内容时,从所述通知内容中获得券ID和支付结果,根据所述支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态,向用户返回所述支付结果;
所述支付服务器工作流程包括:
当所述支付服务器接收到云服务器发来的支付请求信息时,从所述支付请求信息中获取实际交易金额和券ID,生成订单号,根据所述订单号和所述实际交易金额生成与所述券ID对应的支付订单;
当支付完成时,所述支付服务器接收到支付结果和订单号,根据所述订单号找到支付订单,根据所述支付订单找到对应的券ID,向所述云服务器发送包含所述券ID和所述支付结果的通知内容。
相应的,本发明提供的一种基于云服务器和支付服务器实现的支付系统,包括云服务器和支付服务器;
所述云服务器包括第一接收模块、第一处理模块、第一发送模块、第二发送模块、第二接收模块和第二处理模块;
所述第一接收模块,用于接收用户支付请求并触发第一处理模块;
所述第一处理模块,用于从所述第一接收模块接收到的所述用户支付请求中获取用户信息,查询云服务器数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则将券信息的券状态从未使用修改为支付中,根据券信息中包含的券ID和实际交易金额生成支付请求信息并触发第二发送模块,否则触发第一发送模块;
所述第一发送模块,用于收到所述第一处理模块的触发时向用户返回操作失败信息;还用于收到第二处理模块的触发时向用户发送所述第二处理模块获得的的所述支付结果;
所述第二发送模块,用于向支付服务器发送所述第一处理模块生成的支付请求信息;
所述第二接收模块,用于接收支付服务器发来的通知内容并触发第二处理模块;
所述第二处理模块,用于从所述第二接收模块接收到的所述通知内容中获得券ID和支付结果,根据所述支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态,并触发所述第一发送模块;
所述支付服务器包括第三接收模块、第三处理模块、第三发送模块、第四接收模块和第四处理模块;
所述第三接收模块,用于接收云服务器发来的支付请求信息并触发第三处理模块;
所述第三处理模块,用于从所述支付请求信息中获取实际交易金额和券ID,生成订单号,根据所述订单号和所述实际交易金额生成与所述券ID对应的支付订单;
所述第四接收模块,用于接收支付结果和订单号,触发第四处理模块;
所述第四处理模块,用于根据所述订单号找到支付订单,根据所述支付订单找到对应的券ID,生成包含所述券ID和所述第四接收模块接收到的所述支付结果的通知内容,触发第三发送模块;
所述第三发送模块,用于向云服务器发送所述第四处理模块生成的通知内容。
本发明还提供了另一种基于云服务器和支付服务器实现的支付方法,包括云服务器工作流程和支付服务器工作流程;
所述云服务器工作流程包括:
当所述云服务器接收到用户支付请求时,从所述用户支付请求中获取用户信息,查询云服务器数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则将券信息的券状态从未使用修改为支付中,根据所述券信息生成支付请求信息,向支付服务器发送所述支付请求信息,否则向用户返回操作失败信息;
当所述云服务器接收到支付服务器发来的通知内容时,从所述通知内容中获得券ID和支付结果,根据所述支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态,向用户返回所述支付结果;
所述支付服务器工作流程包括:
当所述支付服务器接收到云服务器发来的支付请求信息时,从所述支付请求信息中获取券信息,查询支付服务器数据库中是否存在所述券信息,是则将查询到的所述券信息的券状态修改为支付中,并获取所述券信息中包含的实际交易金额,生成订单号,根据所述订单号和所述实际交易金额生成与所述券信息对应的支付订单;
当支付完成时,所述支付服务器接收到支付结果和订单号,根据所述订单号找到支付订单,根据所述支付订单找到对应的券信息,获取所述券信息中包含的券ID,向所述云服务器发送包含所述券ID和所述支付结果的通知内容。
相应的,本发明提供的另一种基于云服务器和支付服务器实现的支付系统,包括云服务器和支付服务器;
所述云服务器包括第一接收模块、第一处理模块、第一发送模块、第二发送模块、第二接收模块和第二处理模块;
所述第一接收模块,用于接收用户支付请求并触发第一处理模块;
所述第一处理模块,用于从所述第一接收模块接收到的所述用户支付请求中获取用户信息,查询云服务器数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则将券信息的券状态从未使用修改为支付中,根据券信息生成支付请求信息并触发第二发送模块,否则触发第一发送模块;
所述第一发送模块,用于收到所述第一处理模块的触发时向用户返回操作失败信息;还用于收到第二处理模块的触发时向用户发送所述第二处理模块获得的所述支付结果;
所述第二发送模块,用于向支付服务器发送所述第一处理模块生成的支付请求信息;
所述第二接收模块,用于接收支付服务器发来的通知内容并触发第二处理模块;
所述第二处理模块,用于从所述第二接收模块接收到的所述通知内容中获得券ID和支付结果,根据所述支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态,并触发所述第一发送模块;
所述支付服务器包括第三接收模块、第三处理模块、第三发送模块、第四接收模块和第四处理模块;
所述第三接收模块,用于接收云服务器发来的支付请求信息并触发第三处理模块;
所述第三处理模块,用于从所述支付请求信息中获取券信息,获取所述券信息中包含的实际交易金额,生成订单号,根据所述订单号和所述实际交易金额生成与所述券信息对应的支付订单;
所述第四接收模块,用于接收支付结果和订单号,触发第四处理模块;
所述第四处理模块,用于根据所述订单号找到支付订单,根据所述支付订单找到对应的券信息,获取所述券信息中包含的券ID,生成包含所述券ID和所述第四接收模块接收到的所述支付结果的通知内容,触发第三发送模块;
所述第三发送模块,用于向云服务器发送所述第四处理模块生成的通知内容。
本发明具有如下有益效果:通过增加云服务器实现与支付服务器协同工作的目的,由云服务器承担面向用户的访问需求,这样可以有效缓解支付服务器的工作负载,从而有效解决支付服务器的高并发处理能力,降低支付服务器维护成本。
附图说明
图1是实施例1提供的一种支付方法流程图;
图2是实施例1提供的一种数据初始化方法流程图;
图3是实施例2提供的一种支付方法中的云服务器的工作方法流程图;
图4是实施例2提供的一种支付方法中的支付服务器的工作方法流程图;
图5是实施例3提供的一种支付方法中的云服务器的工作方法流程图;
图6是是实施例3提供的一种支付方法中的支付服务器的工作方法流程图;
图7是实施例4提供的一种支付系统的组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供了一种基于云服务器和支付服务器实现的支付方法,适用于用户终端设备、云服务器、支付服务器和银行服务器组成的系统,本实施例将通过图1所示流程对所述支付方法进行详细说明。
如图1所示,首先云服务器与支付服务器之间进行数据初始化,所述数据初始化完成后云服务器数据库中存储有与支付服务器数据库中对应一致的券信息,然后执行图中所示步骤1,具体如下:
步骤1:用户终端设备向云服务器发送用户获取券操作请求;
步骤2:云服务器接收到所述用户获取券操作请求,从所述用户获取券操作请求中获取用户信息和活动ID,根据所述活动ID从数据库中获取包含所述活动ID的券信息,将所述券信息与所述用户信息绑定,并设置所述券信息的券状态为未使用;
具体的,所述用户信息可以包含有用户标识、手机号;所述券信息中包含有券ID、活动ID、券金额,还可以包含有实际交易金额。
步骤3:云服务器向用户终端设备返回获取券操作结果;
具体的,云服务器向用户终端设备返回向用户表示已绑定券的获取券操作结果。
步骤4:用户终端设备向云服务器发送用户支付请求;
步骤5:云服务器接收到所述用户支付请求,从所述用户支付请求中获取用户信息;
步骤6:云服务器判断是否存在与所述用户信息绑定的券状态为未使用的券信息,是则执行步骤7,否则记录操作失败信息;
本步骤可以具体为:云服务器判断是否存在与所述用户信息绑定的券状态为未使用的券信息,是则将所述券状态为未使用的券信息通过用户终端设备显示给用户,根据用户选择确定本次支付中要使用的券信息,然后执行步骤7,否则记录操作失败。
本步骤还可以具体为,云服务器判断是否存在与所述用户信息绑定的券状态为未使用的券信息,是则根据券信息中包含的券金额选定本次支付中要使用的券信息,然后执行步骤7,否则记录操作失败。
进一步的,云服务器记录操作失败信息之后还可以向用户终端设备返回操作失败信息。
步骤7:云服务器将券信息的券状态修改为支付中,根据用户信息和券信息生成支付请求信息;
本实施例中优选的,所述用户信息包含用户标识和手机号,所述券信息包含券ID、活动ID、券金额和实际交易金额。
例如,本步骤生成的支付请求信息如下:
{"userInfo":{"userId":"user001","mobileNo":"18514293741"},"quan":{"quanId":"100","actId":"act001","quanPrice":"100.00","realPrice":"90.00"}}
步骤8:云服务器向支付服务器发送经过加密的支付请求信息;
例如,本步骤发送的经过加密的支付请求信息如下:
3082012e048180b1118c245fbce47a7ae29088d40d5ab1199eda96c76f6e9d5195e2d788ea4eead5680aadc4f67919c99549c4626208e57dd1326eb2ee4450c4939f30609f6eeaafa2aff37238f7ab03651f15faa9d2b285709a4cecd9275a799881dfc03ead2160a3eb95ba5db9c6ae5c8d7923c9265f7b73d3ddefbd395083f0b7ee4b917eda04820090a0a01b478be352547b1de41173641035fa458414d4e0da126a7869976b95a6e52a3c883c6e11f33bc1efb94d2b0c61f3c22e39238a898ab1ae3fad4fd7a0f21978b12ccead2417102b6bb0e04ea275eadafd52f997fb71cecab432792cc9e13940dc2a282337a317eddb0cdaf99d1c47f33f9646aa43ee4e78be776665ac5b0ea33f4243f363b55c99b0ecdcb2a228ad048114fb614eeb5605eabe7c091157c2e1d5bc6a663a1c
步骤9:支付服务器接收并解密所述支付请求信息,从所述支付请求信息中获取用户信息和券信息;
例如,解密所述支付请求信息得到:
{"userInfo":{"userId":"user001","mobileNo":"18514293741"},"quan":{"quanId":"100","actId":"act001","quanPrice":"100.00","realPrice":"90.00"}}
即本步骤获取的用户信息如下:用户ID为001,手机号为18514293741,获取的券信息如下:券ID为100,活动ID为001,券金额为100,实际交易金额为90。
步骤10:支付服务器查询数据库中是否存在与从所述支付请求信息中获取的券信息一致的券信息,是则执行步骤11,否则支付服务器向所述云服务器返回错误码;
步骤11:支付服务器将查询到的券信息的券状态设置为支付中,生成订单号,根据订单号和券信息中包含的实际交易金额生成支付订单;
进一步的,若所述券信息中不包含有实际交易金额,则上述本步骤5还包括从所述用户支付请求中获取支付金额,上述步骤7中根据用户信息和券信息生成支付请求信息替换为:根据用户信息、支付金额和券信息生成支付请求信息;上述步骤9还包括:从所述支付请求信息中获取支付金额;上述步骤11中所述根据订单号和券信息中的实际交易金额生成支付订单替换为:根据所述支付金额和所述券信息中的券金额得到实际交易金额,根据订单号和所述实际交易金额生成支付订单。
步骤12:支付服务器向银行服务器发送所述支付订单;
步骤13:银行服务器接收并处理所述支付订单;
具体的,待支付完成时执行步骤14。
步骤14:银行服务器向支付服务器返回所述支付结果和订单号;
具体的,银行服务器向支付服务器返回订单号和表示支付成功或支付失败的支付结果。
步骤15:支付服务器根据订单号找到对应的支付订单;
步骤16:支付服务器根据支付结果判断支付订单是否已支付,是则执行步骤18,否则执行步骤17;
步骤17:支付服务器将支付订单对应的券信息的券状态修改为未使用,然后执行步骤19;
步骤18:支付服务器将支付订单对应的券信息的券状态修改为已使用,然后执行步骤19;
步骤19:支付服务器向云服务器发送经过加密的包含券ID及券状态的通知内容;
例如通知内容如下:
{"quan":[{"quanId":"100","quanFlag":"use"}]},其中,券ID为100,券状态为已使用。
本步骤发送的经过加密的通知内容如下:
308200ce048180025f864ba5f7f279db0f3c6690d969e5c1b0886c812937d729dd015967bfdc3911543b3ea5593971f861692083ae812b8c7b35747a2b76f6caa3ddb9061e01e81897222166603d18dbe0febb2cf6c02d5e4ffd513b43f0ead16fd638e8adbe3875e53785a6e8b2428e88cee1aac548c2708e7df7a473aabb19095aa9fe308b6504820030f949403379c219b7bc4e24cc8d3c64297863db337ba14c281621bdf97373e89153e38e71423a570bb795f8ab6ddcd4b40481141aa824902e6369b483ab418a57e18ff4e88a8123
步骤20:云服务器接收并解密所述通知内容,并根据解密获得的券ID和券状态更新数据库中对应的券信息的券状态,根据更新后的券状态得到支付结果。
例如,解密所述通知内容得到如下内容:
{"quan":[{"quanId":"100","quanFlag":"use"}]},则将数据库中券ID为100对应的券信息的券状态更新为已使用,根据更新后的券状态得到支付结果为已支付。
步骤21:云服务器向用户终端设备返回支付结果。
上述步骤14至步骤20是支付服务器在收到银行服务器返回的支付结果后主动与云服务器进行数据同步的步骤。进一步的,支付服务器与云服务器进行的数据同步还可以是通过定时通知的方式来实现,即支付服务器通过定时向云服务器发送通知信息的方式来实现批量数据同步。
具体的:
上述步骤11还包括支付服务器设置支付订单的订单状态为请求支付,设置支付订单对应的券信息的通知状态为不需通知;
上述步骤14至步骤20替换为以下内容,即图1中所述步骤13之后支付服务器执行步骤a1;
a1:支付服务器定时查询券状态为支付中的券信息,判断查询到的券信息对应的支付订单的订单状态,若为已支付,则执行a2,若为未支付则执行a3,若为请求支付则执行a4;
a2:支付服务器将该支付订单对应的券信息的券状态从支付中修改为已使用,修改该券信息的通知状态为待通知,执行a5;
a3:支付服务器将该支付订单对应的券信息的券状态从支付中修改为未使用,修改该券信息的通知状态为待通知,执行a5;
a4:支付服务器从银行服务器获取该支付订单的支付结果,若获取的支付结果为已支付,则修改该支付订单的订单状态为已支付,返回a1,若获取的支付结果为未支付,则修改该支付订单的订单状态为未支付,返回a1;
a5:支付服务器查询通知状态为待通知的券信息,将查询到的券信息及其券状态组成通知信息,并经过加密后发送给云服务器;
优选的,本步骤还可以是根据所述券信息的券ID和券状态组成通知信息。
a6:云服务器接收并解密所述通知信息得到券信息及其券状态,根据解密得到的券信息在数据库中查找到对应一致的券信息,并根据解密得到的券状态修改查找到的券信息的券状态,云服务器向支付服务器返回处理结果;
优选的,所述处理结果中包含有券信息或券ID。
a7:支付服务器根据处理结果修改相应的券信息的通知状态。
例如,接收到的处理结果为券A,则支付服务器将数据库中存储的券A的通知状态从待通知修改为已通知。
优选的,本实施例中所述数据初始化的流程如图2所示,具体包括以下内容:
步骤201:支付服务器根据活动信息生成活动券数据,根据活动券数据在支付服务器数据库中生成券信息;
具体的,活动券数据中包含有活动信息、起始ID、结束ID、数据条数。
例如,活动券数据为:
{"initData":{"actType":"act001","quanSize":"100","statrId":"101","endId":"200"}},其中,活动信息为act001,起始ID为101,结束ID为200,数据条数为100。
优选的,所述活动信息可以是发起活动的商家发送到支付服务器的。
进一步的,还可以在支付服务器中预先存储活动券数据,则本步骤具体为:支付服务器根据存储的活动券数据在支付服务器数据库中生成券信息。
步骤202:支付服务器根据活动券数据核对生成的券信息是否符合要求,是则执行步骤204,否则执行步骤203;
具体的,支付服务器核对生成的券信息的券ID是否在所述活动券数据所指定的起始ID和结束ID的范围内,以及核对生成的券信息的数量是否满足所述活动券数据所指定的数据条数。
步骤203:支付服务器将生成的券信息从数据库中清除,执行步骤211;
步骤204:支付服务器根据所述活动券数据生成数据初始化请求;
具体的,支付服务器为所述活动券数据对应的活动信息生成活动ID,根据所述活动券数据和活动ID生成数据初始化请求。
例如,本步骤生成的数据初始化请求如下:
{"initData":{"actType":"act001","quanSize":"100","actId":"id001","statrId":"101","endId":"200"}}
步骤205:支付服务器向云服务器发送经过加密的数据初始化请求;
例如,支付服务器向云服务器发送的经过加密的数据初始化请求如下:
30820106048180246a479f579762dc2fd5e20012ba9b9291c87064b10623d594835f710a1d19618664edbefe29f581501d91a96b0b8724897d8717a6740f9526ea67190c17690fe66e6cf696b6d6e08ba6ed7e5464bd41c9c0adee0ec721c5c9fdb6bd5379b5f7790468e80cbce3475d96afc03770396843054f29e717a309992ad6d253ca6413048200685ab15889936f8dd2da6268358423ec5b12f8885983b8d1941819b3c53c70bc71a0d61a3be687b478b6300e81aacb4176d2f87d3337138e02e827f57ecd635d55e52bf778ac7beba610f436db98427bdb09921f90fc1f36ed4c2c068b52d17b42437c3114992adba2048114091c47709d5484fe306a6c3369dfc26f4e635f1f
步骤206:云服务器接收并解密所述数据初始化请求,从所述数据初始化请求中获取活动券数据,根据所述活动券数据在云服务器数据库中生成券信息;
例如,本步骤从所述数据初始化请求中获取的活动券数据如下:
{"initData":{"actType":"act001","quanSize":"100","actId":"id001","statrId":"101","endId":"200"}}
步骤207:云服务器根据活动券数据核对生成的券信息是否符合要求,是则执行步骤210,否则执行步骤208;
具体的,云服务器核对生成的券信息的券ID是否在所述活动券数据所指定的起始ID和结束ID的范围内,以及核对生成的券信息的数量是否满足所述活动券数据所指定的数据条数。
步骤208:云服务器将生成的券信息从数据库中清除,执行步骤209;
步骤209:云服务器向支付服务器返回错误码,执行步骤211;
步骤210:云服务器向支付服务器返回表示操作成功的初始化请求响应,执行步骤212;
步骤211:支付服务初始化失败,结束;
步骤212:支付服务器初始化成功,结束。
实施例2
本实施例提供了一种基于云服务器和支付服务器实现的支付方法,利用云服务器的灵活多样性、带宽便于扩展等优点,由云服务器去承接用户发起的大量访问需求,用支付服务器去承接一些重要的、保密性高的业务需求如支付功能,其中,云服务器直接面向用户、并承担券分发功能,支付服务器用于承担支付功能,云服务器数据库中和支付服务器数据库中同步有相同的券信息。
本实施例提供的支付方法中,云服务器的工作方法流程如图3所示,包括如下内容:
当接收到用户获取券操作请求时执行步骤301;
步骤301:从所述用户获取券操作请求中获取用户信息和活动ID,根据所述活动ID从数据库中获取券信息,将所述券信息与所述用户信息绑定,并设置所述券信息的券状态为未使用;
步骤302:向用户返回获取券操作结果。
当接收到用户支付请求时执行步骤303;
步骤303:从所述用户支付请求中获取用户信息;
步骤304:查询数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则执行步骤305,否则执行步骤306;
步骤305:将券信息的券状态从未使用修改为支付中,根据券信息生成支付请求信息,向支付服务器发送上述支付请求信息;
步骤306:记录并向用户返回操作失败信息。
当接收到支付服务器发来的通知内容时执行步骤307。
步骤307:根据所述通知内容中的券信息和券状态更新数据库中对应的券信息的券状态,根据更新后的券状态得到支付结果;
例如,若更新后的券状态为已使用,则得到的支付结果为已支付,若更新后的券状态为未使用,则得到的支付结果为未支付。
步骤308:向用户返回支付结果。
本实施例提供的支付方法中,支付服务器的工作方法流程如图4所示,包括如下内容:
当接收到云服务器发来的支付请求信息时,执行步骤401;
步骤401:从所述支付请求信息中获取券信息;
步骤402:查询数据库中是否存在获取的所述券信息,是则执行步骤403,否则执行步骤404;
步骤403:将查询到的券信息的券状态设置为支付中,生成订单号,根据订单号和券信息中包含的实际交易金额生成支付订单,向银行服务器发送所述支付订单;
步骤404:向云服务器返回错误码;
当接收到到银行服务器发来的支付结果和订单号时,执行步骤405;
步骤405:根据订单号找到对应的支付订单;
步骤406:根据支付结果判断所述支付订单是否已支付,是则执行步骤407,否则执行步骤408;
步骤407:将支付订单对应的券信息的券状态修改为已使用,执行步骤409;
步骤408:将支付订单对应的券信息的券状态修改为未使用,执行步骤409;
步骤409:向云服务器发送包含券信息及券状态的通知内容。
优选的,本步骤还可以是,向云服务器发送包含券ID及券状态的通知内容。
相应的,上述步骤307具体为,根据所述通知内容中包含的券ID从数据库中找到对应的券信息,并根据所述通知内容中包含的券状态修改从数据库中找到的所述券信息的券状态。
进一步的,本实施例提供的支付方法还包括,云服务器与支付服务器之间完成数据初始化,所述数据初始化包括所述云服务器根据接收到的支付服务器发送的数据初始化请求,在数据库中生成所述券信息。所述数据初始化的具体实现流程同实施例1中图2所示,在此不再赘述。
本实施例提供的支付方法,还可以设置云服务器与支付服务器定时清除数据库中券状态为已使用的券信息。还可以对所述云服务器和所述支付服务器之间交互的信息经过加密处理。
实施例3
本实施例提供了一种基于云服务器和支付服务器实现的支付方法,利用云服务器的灵活多样性、带宽便于扩展等优点,由云服务器去承接用户发起的大量访问需求,用支付服务器去承接一些重要的、保密性高的业务需求如支付功能,其中,云服务器直接面向用户、并承担券分发功能,支付服务器用于承担支付功能,券信息仅存储在云服务器数据库中,支付服务器中不存储券信息。
本实施例提供的支付方法中,包括云服务器工作流程和支付服务器工作流程,其中云服务器执行的操作如图5所示,包括如下内容:
当接收到用户获取券操作请求时,执行步骤501;
步骤501:从所述用户获取券操作请求中获取用户信息和活动ID,根据所述活动ID从数据库中获取券信息,将所述券信息与所述用户信息绑定,并设置所述券信息的券状态为未使用;
步骤502:向用户返回获取券操作结果;
当接收到用户支付请求时,执行步骤503;
步骤503:从所述用户支付请求中获取用户信息;
步骤504:查询数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则执行步骤505,否则执行步骤506;
步骤505:将券信息的券状态从未使用修改为支付中,根据券信息中包含的券ID和实际交易金额生成支付请求信息,向支付服务器发送所述支付请求信息;
步骤506:记录并向用户返回操作失败信息;
当接收到支付服务器发来的通知内容时,执行步骤507;
步骤507:从所述通知内容中获得券ID和支付结果,根据支付结果更新数据库中的与所述券ID对应的券信息的券状态,向用户返回所述支付结果。
例如,若支付结果为已支付,则更新数据库中的与所述券ID对应的券信息的券状态为已使用,若支付结果为未支付,则更新数据库中的与所述券ID对应的券信息的券状态为未使用。
本实施例提供的支付方法中,支付服务器执行的操作如图6所示,包括如下内容:
当接收到云服务器发来的支付请求信息时,执行步骤601;
步骤601:从所述支付请求信息中获取实际交易金额和券ID;
步骤602:生成订单号,根据订单号和所述实际交易金额生成与所述券ID对应的支付订单,向银行服务器发送所述支付订单:。
当接收到银行服务器发来的支付结果和订单号时,执行步骤603;
步骤603:根据订单号找到对应的支付订单,根据支付订单找到对应的券ID;
步骤604:根据支付结果判断所述支付订单是否已支付,是则执行步骤605,否则执行步骤606;
步骤605:向云服务器发送包含券ID和支付结果为已支付的通知内容;
步骤606:向云服务器发送包含所述券ID和支付结果为未支付的通知结果。
本实施例提供的支付方法,还可以设置云服务器定时清除数据库中券状态为已使用的券信息。
本实施例提供的支付方法中,所述云服务器和所述支付服务器之间交互的信息是经过加密的。
实施例4
本实施例基于实施例3的基础上,提供了一种包括云服务器和支付服务器的支付系统,其中,云服务器直接面向用户、并承担券分发功能,支付服务器用于承担支付功能,券信息仅存储在云服务器数据库中,支付服务器中不存储券信息。
如图7所示,所述云服务器包括第一接收模块301、第一处理模块302、第一发送模块303、第二发送模块304、第二接收模块305和第二处理模块306;
所述第一接收模块301,用于接收用户支付请求并触发第一处理模块302;
所述第一处理模块302,用于从所述第一接收模块301接收到的所述用户支付请求中获取用户信息,查询云服务器数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则将券信息的券状态从未使用修改为支付中,根据券信息中包含的券ID和实际交易金额生成支付请求信息并触发第二发送模块304,否则触发第一发送模块303;
所述第一发送模块303,用于收到所述第一处理模块302的触发时向用户返回操作失败信息;还用于收到第二处理模块306的触发时向用户发送所述第二处理模块306获得的的所述支付结果;
所述第二发送模块304,用于向支付服务器发送所述第一处理模块302生成的支付请求信息;
所述第二接收模块305,用于接收支付服务器发来的通知内容并触发第二处理模块306;
所述第二处理模块306,用于从所述第二接收模块305接收到的所述通知内容中获得券ID和支付结果,根据所述支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态,并触发所述第一发送模块303;
如图7所示,所述支付服务器包括第三接收模块401、第三处理模块402、第三发送模块405、第四接收模块403和第四处理模块404;
所述第三接收模块401,用于接收云服务器发来的支付请求信息并触发第三处理模块402;
所述第三处理模块402,用于从所述支付请求信息中获取实际交易金额和券ID,生成订单号,根据所述订单号和所述实际交易金额生成与所述券ID对应的支付订单;
所述第四接收模块403,用于接收支付结果和订单号,触发第四处理模块404;
所述第四处理模块404,用于根据所述订单号找到支付订单,根据所述支付订单找到对应的券ID,生成包含所述券ID和所述第四接收模块403接收到的所述支付结果的通知内容,触发第三发送模块405;
所述第三发送模块405,用于向云服务器发送所述第四处理模块404生成的通知内容。
进一步的,所述第四处理模块404,还用于判断所述支付结果是否为已支付;
所述第三发送模块405,具体用于当所述第四处理模块404判断为已支付时,向云服务器发送包含券ID和支付结果为已支付的通知内容,用于当所述第四处理模块404判断为未支付时,向云服务器发送包含券ID和支付结果为未支付的通知内容;
所述第二处理模块306,具体用于从所述第二接收模块305接收到的所述通知内容中获得券ID和支付结果,判断所述支付结果,若为已支付则将云服务器数据库中的与所述券ID对应的券信息的券状态修改为已使用,并触发所述第一发送模块303,若为未支付则将云数据库中的与所述券ID对应的券信息的券状态修改为未使用,并触发所述第一发送模块303。
还可以是:
所述第三发送模块405,具体用于当所述第四处理模块404判断为已支付时,向云服务器发送包含券ID和券状态为已使用的通知内容,用于当所述第四处理模块404判断为未支付时,向云服务器发送包含券ID和券状态为未使用的通知内容;
所述第二处理模块306,具体用于从所述第二接收模块305接收到的所述通知内容中获得券ID和券状态,若所述券状态为已使用则更新云服务器数据库中与所述券ID对应的券信息的券状态为已使用,并触发所述第一发送模块303,若所述券状态为未使用则更新云服务器数据库中与所述券ID对应的券信息的券状态为未使用,并触发所述第一发送模块303。
进一步的,所述第一接收模块301,还用于接收用户获取券操作请求,从所述获取券操作请求中获取用户信息和活动ID,根据所述活动ID从云服务器数据库中获取券信息,将所述券信息与所述用户信息绑定,并设置所述券信息的券状态为未使用,然后触发第一发送模块303;相应的,所述第一发送模块303,还用于在收到所述第一接收模块301的触发时向用户返回获取券操作结果。
实施例5
本实施例基于实施例2的基础上,提供了一种包括云服务器和支付服务器的支付系统,其中,云服务器直接面向用户、并承担券分发功能,支付服务器用于承担支付功能,云服务器数据库中和支付服务器数据库中同步有相同的券信息。
所述云服务器包括第一接收模块、第一处理模块、第一发送模块、第二发送模块、第二接收模块和第二处理模块;
所述第一接收模块,用于接收用户支付请求并触发第一处理模块;
所述第一处理模块,用于从所述第一接收模块接收到的所述用户支付请求中获取用户信息,查询云服务器数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则将券信息的券状态从未使用修改为支付中,根据券信息生成支付请求信息并触发第二发送模块,否则触发第一发送模块;
所述第一发送模块,用于收到所述第一处理模块的触发时向用户返回操作失败信息;还用于收到第二处理模块的触发时向用户发送所述第二处理模块获得的所述支付结果;
所述第二发送模块,用于向支付服务器发送所述第一处理模块生成的支付请求信息;
所述第二接收模块,用于接收支付服务器发来的通知内容并触发第二处理模块;
所述第二处理模块,用于从所述第二接收模块接收到的所述通知内容中获得券ID和支付结果,根据所述支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态,并触发所述第一发送模块;
所述支付服务器包括第三接收模块、第三处理模块、第三发送模块、第四接收模块和第四处理模块;
所述第三接收模块,用于接收云服务器发来的支付请求信息并触发第三处理模块;
所述第三处理模块,用于从所述支付请求信息中获取券信息,获取所述券信息中包含的实际交易金额,生成订单号,根据所述订单号和所述实际交易金额生成与所述券信息对应的支付订单;
所述第四接收模块,用于接收支付结果和订单号,触发第四处理模块;
所述第四处理模块,用于根据所述订单号找到支付订单,根据所述支付订单找到对应的券信息,获取所述券信息中包含的券ID,生成包含所述券ID和所述第四接收模块接收到的所述支付结果的通知内容,触发第三发送模块;
所述第三发送模块,用于向云服务器发送所述第四处理模块生成的通知内容。
所述支付服务器还包括第一初始化模块,所述云服务器还包括第二初始化模块;
所述第一初始化模块,用于初始化所述支付服务器数据库中的券信息,并向所述云服务器发送数据初始化请求;
所述第二初始化模块,用于接收支付服务器发送的数据初始化请求,根据所述数据初始化请求在云服务器数据库中生成与所述支付服务器数据库中对应一致的券信息。
所述第一初始化模块,具体用于根据活动券数据在支付服务器数据库中生成券信息,根据所述活动券数据核对生成的券信息是否符合要求,是则根据所述活动券数据生成数据初始化请求,向云服务器发送所述数据初始化请求,否则将生成的券信息从支付服务器数据库中清除;
所述第二初始化模块,具体用于接收所述第一初始化模块发来的数据初始化请求,从所述数据初始化请求中获取活动券数据,根据所述活动券数据在云服务器数据库中生成券信息,根据所述活动券数据核对生成的券信息是否符合要求,是则向支付服务器返回表示操作成功的初始化请求响应,否则向支付服务器返回错误码。
所述活动券数据中包含有活动信息、起始ID、结束ID、数据条数,所述活动信息中包含有活动ID,所述券信息中包含有券ID和活动ID;
所述根据所述活动券数据核对生成的券信息是否符合要求具体为,核对生成的券信息中包含的券ID是否在所述活动券数据所指定的起始ID和结束ID的范围内,以及核对生成的券信息的数量是否满足所述活动券数据所指定的数据条数。
所述云服务器还包括第一清除模块,用于定时清除云服务器数据库中的券状态为已使用的券信息;
所述支付服务器还包括第二清除模块,用于定时清除支付服务器数据库中的券状态为已使用的券信息。
进一步的,所述第四处理模块,还用于判断所述支付结果是否为已支付;
所述第三发送模块,具体用于当所述第四处理模块判断为已支付时,向云服务器发送包含券ID和支付结果为已支付的通知内容,用于当所述第四处理模块判断为未支付时,向云服务器发送包含券ID和支付结果为未支付的通知内容;
所述第二处理模块,具体用于从所述第二接收模块接收到的所述通知内容中获得券ID和支付结果,判断所述支付结果,若为已支付则将云服务器数据库中的与所述券ID对应的券信息的券状态修改为已使用,并触发所述第一发送模块,若为未支付则将云数据库中的与所述券ID对应的券信息的券状态修改为未使用,并触发所述第一发送模块。
还可以是:
所述第三发送模块,具体用于当所述第四处理模块判断为已支付时,向云服务器发送包含券ID和券状态为已使用的通知内容,用于当所述第四处理模块判断为未支付时,向云服务器发送包含券ID和券状态为未使用的通知内容;
所述第二处理模块,具体用于从所述第二接收模块接收到的所述通知内容中获得券ID和券状态,若所述券状态为已使用则更新云服务器数据库中与所述券ID对应的券信息的券状态为已使用,并触发所述第一发送模块,若所述券状态为未使用则更新云服务器数据库中与所述券ID对应的券信息的券状态为未使用,并触发所述第一发送模块。
进一步的,所述第一接收模块,还用于接收用户获取券操作请求,从所述获取券操作请求中获取用户信息和活动ID,根据所述活动ID从云服务器数据库中获取券信息,将所述券信息与所述用户信息绑定,并设置所述券信息的券状态为未使用,然后触发第一发送模块;相应的,所述第一发送模块,还用于在收到所述第一接收模块的触发时向用户返回获取券操作结果。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种基于云服务器和支付服务器实现的支付方法,其特征在于,包括云服务器工作流程和支付服务器工作流程;
所述云服务器工作流程包括:
当所述云服务器接收到用户支付请求时,从所述用户支付请求中获取用户信息,查询云服务器数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则将券信息的券状态从未使用修改为支付中,根据券信息中包含的券ID和实际交易金额生成支付请求信息,向支付服务器发送所述支付请求信息,否则向用户返回操作失败信息;
当所述云服务器接收到支付服务器发来的通知内容时,从所述通知内容中获得券ID和支付结果,根据所述支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态,向用户返回所述支付结果;
所述支付服务器工作流程包括:
当所述支付服务器接收到云服务器发来的支付请求信息时,从所述支付请求信息中获取实际交易金额和券ID,生成订单号,根据所述订单号和所述实际交易金额生成与所述券ID对应的支付订单;
当支付完成时,所述支付服务器接收到支付结果和订单号,根据所述订单号找到支付订单,根据所述支付订单找到对应的券ID,向所述云服务器发送包含所述券ID和所述支付结果的通知内容。
2.一种基于云服务器和支付服务器实现的支付方法,其特征在于,包括云服务器工作流程和支付服务器工作流程;
所述云服务器工作流程包括:
当所述云服务器接收到用户支付请求时,从所述用户支付请求中获取用户信息,查询云服务器数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则将券信息的券状态从未使用修改为支付中,根据所述券信息生成支付请求信息,向支付服务器发送所述支付请求信息,否则向用户返回操作失败信息;
当所述云服务器接收到支付服务器发来的通知内容时,从所述通知内容中获得券ID和支付结果,根据所述支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态,向用户返回所述支付结果;
所述支付服务器工作流程包括:
当所述支付服务器接收到云服务器发来的支付请求信息时,从所述支付请求信息中获取券信息,查询支付服务器数据库中是否存在所述券信息,是则将查询到的所述券信息的券状态修改为支付中,并获取所述券信息中包含的实际交易金额,生成订单号,根据所述订单号和所述实际交易金额生成与所述券信息对应的支付订单;
当支付完成时,所述支付服务器接收到支付结果和订单号,根据所述订单号找到支付订单,根据所述支付订单找到对应的券信息,获取所述券信息中包含的券ID,向所述云服务器发送包含所述券ID和所述支付结果的通知内容。
3.根据权利要求2所述的方法,其特征在于:所述方法还包括数据初始化流程,所述数据初始化流程包括:云服务器接收到支付服务器发送的数据初始化请求时,根据所述数据初始化请求在云服务器数据库中生成与所述支付服务器数据库中对应一致的券信息。
4.根据权利要求3所述的方法,其特征在于:所述数据初始化流程具体包括:
步骤a1:支付服务器根据活动券数据在支付服务器数据库中生成券信息;
步骤a2:支付服务器根据所述活动券数据核对生成的券信息是否符合要求,是则执行步骤a3,否则将生成的券信息从支付服务器数据库中清除,初始化失败,结束;
步骤a3:支付服务器根据所述活动券数据生成数据初始化请求,向云服务器发送所述数据初始化请求;
步骤a4:云服务器接收所述数据初始化请求,从所述数据初始化请求中获取活动券数据,根据所述活动券数据在云服务器数据库中生成券信息;
步骤a5:云服务器根据所述活动券数据核对生成的券信息是否符合要求,是则向支付服务器返回表示操作成功的初始化请求响应,初始化成功,结束,否则向支付服务器返回错误码,初始化失败,结束。
5.根据权利要求4所述的方法,其特征在于:所述活动券数据中包含有活动信息、起始ID、结束ID、数据条数,所述活动信息中包含有活动ID,所述券信息中包含有券ID和活动ID;所述根据所述活动券数据核对生成的券信息是否符合要求具体为,核对生成的券信息中包含的券ID是否在所述活动券数据所指定的起始ID和结束ID的范围内,以及核对生成的券信息的数量是否满足所述活动券数据所指定的数据条数。
6.根据权利要求2所述的方法,其特征在于:所述云服务器工作流程还包括,定时清除云服务器数据库中的券状态为已使用的券信息;
所述支付服务器工作流程还包括,定时清除支付服务器数据库中的券状态为已使用的券信息。
7.根据权利要求1或2所述的方法,其特征在于:所述向所述云服务器发送包含所述券ID和所述支付结果的通知内容具体包括:根据所述支付结果判断所述支付订单是否已支付,是则向所述云服务器发送包含券ID和支付结果为已支付的通知内容;否则向所述云服务器发送包含券ID和支付结果为未支付的通知内容;
所述根据所述支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态具体包括:判断所述支付结果,若为已支付则将云服务器数据库中的与所述券ID对应的券信息的券状态修改为已使用,若为未支付则将云数据库中的与所述券ID对应的券信息的券状态修改为未使用。
8.根据权利要求7所述的方法,其特征在于:所述向所述云服务器发送包含券ID和支付结果为已支付的通知内容替换为:向云服务器发送包含券ID和券状态为已使用的通知内容;所述向云服务器发送包含券ID和支付结果为未支付的通知内容替换为:向云服务器发送包含券ID和券状态为未使用的通知内容;
当所述云服务器接收到支付服务器发来的通知内容时,所述从所述通知内容中获得券ID和支付结果,根据支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态替换为:从所述通知内容中获取券ID和券状态,若所述券状态为已使用则更新云服务器数据库中与所述券ID对应的券信息的券状态为已使用,若所述券状态为未使用则更新云服务器数据库中与所述券ID对应的券信息的券状态为未使用。
9.根据权利要求1或2所述的方法,其特征在于,所述云服务器工作流程还包括:当所述云服务器接收到用户获取券操作请求时,从所述获取券操作请求中获取用户信息和活动ID,根据所述活动ID从云服务器数据库中获取券信息,将所述券信息与所述用户信息绑定,并设置所述券信息的券状态为未使用,向用户返回获取券操作结果。
10.一种基于云服务器和支付服务器实现的支付系统,其特征在于,包括云服务器和支付服务器;
所述云服务器包括第一接收模块、第一处理模块、第一发送模块、第二发送模块、第二接收模块和第二处理模块;
所述第一接收模块,用于接收用户支付请求并触发第一处理模块;
所述第一处理模块,用于从所述第一接收模块接收到的所述用户支付请求中获取用户信息,查询云服务器数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则将券信息的券状态从未使用修改为支付中,根据券信息中包含的券ID和实际交易金额生成支付请求信息并触发第二发送模块,否则触发第一发送模块;
所述第一发送模块,用于收到所述第一处理模块的触发时向用户返回操作失败信息;还用于收到第二处理模块的触发时向用户发送所述第二处理模块获得的的所述支付结果;
所述第二发送模块,用于向支付服务器发送所述第一处理模块生成的支付请求信息;
所述第二接收模块,用于接收支付服务器发来的通知内容并触发第二处理模块;
所述第二处理模块,用于从所述第二接收模块接收到的所述通知内容中获得券ID和支付结果,根据所述支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态,并触发所述第一发送模块;
所述支付服务器包括第三接收模块、第三处理模块、第三发送模块、第四接收模块和第四处理模块;
所述第三接收模块,用于接收云服务器发来的支付请求信息并触发第三处理模块;
所述第三处理模块,用于从所述支付请求信息中获取实际交易金额和券ID,生成订单号,根据所述订单号和所述实际交易金额生成与所述券ID对应的支付订单;
所述第四接收模块,用于接收支付结果和订单号,触发第四处理模块;
所述第四处理模块,用于根据所述订单号找到支付订单,根据所述支付订单找到对应的券ID,生成包含所述券ID和所述第四接收模块接收到的所述支付结果的通知内容,触发第三发送模块;
所述第三发送模块,用于向云服务器发送所述第四处理模块生成的通知内容。
11.一种基于云服务器和支付服务器实现的支付系统,其特征在于,包括云服务器和支付服务器;
所述云服务器包括第一接收模块、第一处理模块、第一发送模块、第二发送模块、第二接收模块和第二处理模块;
所述第一接收模块,用于接收用户支付请求并触发第一处理模块;
所述第一处理模块,用于从所述第一接收模块接收到的所述用户支付请求中获取用户信息,查询云服务器数据库中是否存在与所述用户信息绑定的券状态为未使用的券信息,是则将券信息的券状态从未使用修改为支付中,根据券信息生成支付请求信息并触发第二发送模块,否则触发第一发送模块;
所述第一发送模块,用于收到所述第一处理模块的触发时向用户返回操作失败信息;还用于收到第二处理模块的触发时向用户发送所述第二处理模块获得的所述支付结果;
所述第二发送模块,用于向支付服务器发送所述第一处理模块生成的支付请求信息;
所述第二接收模块,用于接收支付服务器发来的通知内容并触发第二处理模块;
所述第二处理模块,用于从所述第二接收模块接收到的所述通知内容中获得券ID和支付结果,根据所述支付结果更新云服务器数据库中的与所述券ID对应的券信息的券状态,并触发所述第一发送模块;
所述支付服务器包括第三接收模块、第三处理模块、第三发送模块、第四接收模块和第四处理模块;
所述第三接收模块,用于接收云服务器发来的支付请求信息并触发第三处理模块;
所述第三处理模块,用于从所述支付请求信息中获取券信息,获取所述券信息中包含的实际交易金额,生成订单号,根据所述订单号和所述实际交易金额生成与所述券信息对应的支付订单;
所述第四接收模块,用于接收支付结果和订单号,触发第四处理模块;
所述第四处理模块,用于根据所述订单号找到支付订单,根据所述支付订单找到对应的券信息,获取所述券信息中包含的券ID,生成包含所述券ID和所述第四接收模块接收到的所述支付结果的通知内容,触发第三发送模块;
所述第三发送模块,用于向云服务器发送所述第四处理模块生成的通知内容。
12.根据权利要求11所述的系统,其特征在于:所述支付服务器还包括第一初始化模块,所述云服务器还包括第二初始化模块;
所述第一初始化模块,用于初始化所述支付服务器数据库中的券信息,并向所述云服务器发送数据初始化请求;
所述第二初始化模块,用于接收支付服务器发送的数据初始化请求,根据所述数据初始化请求在云服务器数据库中生成与所述支付服务器数据库中对应一致的券信息。
13.根据权利要求12所述的系统,其特征在于:
所述第一初始化模块,具体用于根据活动券数据在支付服务器数据库中生成券信息,根据所述活动券数据核对生成的券信息是否符合要求,是则根据所述活动券数据生成数据初始化请求,向云服务器发送所述数据初始化请求,否则将生成的券信息从支付服务器数据库中清除;
所述第二初始化模块,具体用于接收所述第一初始化模块发来的数据初始化请求,从所述数据初始化请求中获取活动券数据,根据所述活动券数据在云服务器数据库中生成券信息,根据所述活动券数据核对生成的券信息是否符合要求,是则向支付服务器返回表示操作成功的初始化请求响应,否则向支付服务器返回错误码。
14.根据权利要求13所述的系统,其特征在于:所述活动券数据中包含有活动信息、起始ID、结束ID、数据条数,所述活动信息中包含有活动ID,所述券信息中包含有券ID和活动ID;
所述根据所述活动券数据核对生成的券信息是否符合要求具体为,核对生成的券信息中包含的券ID是否在所述活动券数据所指定的起始ID和结束ID的范围内,以及核对生成的券信息的数量是否满足所述活动券数据所指定的数据条数。
15.根据权利要求11所述的系统,其特征在于:所述云服务器还包括第一清除模块,用于定时清除云服务器数据库中的券状态为已使用的券信息;
所述支付服务器还包括第二清除模块,用于定时清除支付服务器数据库中的券状态为已使用的券信息。
16.根据权利要求10或11所述的系统,其特征在于:所述第四处理模块,还用于判断所述支付结果是否为已支付;
所述第三发送模块,具体用于当所述第四处理模块判断为已支付时,向云服务器发送包含券ID和支付结果为已支付的通知内容,用于当所述第四处理模块判断为未支付时,向云服务器发送包含券ID和支付结果为未支付的通知内容;
所述第二处理模块,具体用于从所述第二接收模块接收到的所述通知内容中获得券ID和支付结果,判断所述支付结果,若为已支付则将云服务器数据库中的与所述券ID对应的券信息的券状态修改为已使用,并触发所述第一发送模块,若为未支付则将云数据库中的与所述券ID对应的券信息的券状态修改为未使用,并触发所述第一发送模块。
17.根据权利要求10或11所述的系统,其特征在于:所述第四处理模块,还用于判断所述支付结果是否为已支付;
所述第三发送模块,具体用于当所述第四处理模块判断为已支付时,向云服务器发送包含券ID和券状态为已使用的通知内容,用于当所述第四处理模块判断为未支付时,向云服务器发送包含券ID和券状态为未使用的通知内容;
所述第二处理模块,具体用于从所述第二接收模块接收到的所述通知内容中获得券ID和券状态,若所述券状态为已使用则更新云服务器数据库中与所述券ID对应的券信息的券状态为已使用,并触发所述第一发送模块,若所述券状态为未使用则更新云服务器数据库中与所述券ID对应的券信息的券状态为未使用,并触发所述第一发送模块。
18.根据权利要求10或11所述的系统,其特征在于:所述第一接收模块,还用于接收用户获取券操作请求,从所述获取券操作请求中获取用户信息和活动ID,根据所述活动ID从云服务器数据库中获取券信息,将所述券信息与所述用户信息绑定,并设置所述券信息的券状态为未使用,然后触发第一发送模块;
所述第一发送模块,还用于在收到所述第一接收模块的触发时向用户返回获取券操作结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610685387.8A CN106327192B (zh) | 2016-08-18 | 2016-08-18 | 一种基于云服务器和支付服务器实现的支付方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610685387.8A CN106327192B (zh) | 2016-08-18 | 2016-08-18 | 一种基于云服务器和支付服务器实现的支付方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106327192A true CN106327192A (zh) | 2017-01-11 |
CN106327192B CN106327192B (zh) | 2020-02-11 |
Family
ID=57744038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610685387.8A Active CN106327192B (zh) | 2016-08-18 | 2016-08-18 | 一种基于云服务器和支付服务器实现的支付方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106327192B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875231A (zh) * | 2017-03-28 | 2017-06-20 | 宇龙计算机通信科技(深圳)有限公司 | 一种优惠券使用方法及装置 |
CN107742211A (zh) * | 2017-09-30 | 2018-02-27 | 深圳市极成光电有限公司 | 基于在线支付获取电子停车票的方法及装置 |
CN108428123A (zh) * | 2018-02-13 | 2018-08-21 | 口碑(上海)信息技术有限公司 | 基于身份识别的支付方法以及装置 |
CN109784991A (zh) * | 2019-01-04 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 电子券结算方法、系统、计算机设备和存储介质 |
CN114760064A (zh) * | 2022-03-23 | 2022-07-15 | 建信融通有限责任公司 | 一种代金券秒杀方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186851A (zh) * | 2011-12-30 | 2013-07-03 | 上海博泰悦臻电子设备制造有限公司 | 基于云数据处理技术的电子支付系统 |
CN103186861A (zh) * | 2011-12-30 | 2013-07-03 | 上海博泰悦臻电子设备制造有限公司 | 基于云数据处理技术的电子支付方法 |
CN103186860A (zh) * | 2011-12-30 | 2013-07-03 | 上海博泰悦臻电子设备制造有限公司 | 基于云数据处理技术的电子支付系统 |
CN104574050A (zh) * | 2013-10-28 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 在线结算的方法、装置及系统 |
JP2015526774A (ja) * | 2012-05-21 | 2015-09-10 | キム、ジュファン | 移動通信端末機を決済端末機として使用するためのアプリケーション、アプリケーションサービスプロバイダーシステム及び方法 |
-
2016
- 2016-08-18 CN CN201610685387.8A patent/CN106327192B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186851A (zh) * | 2011-12-30 | 2013-07-03 | 上海博泰悦臻电子设备制造有限公司 | 基于云数据处理技术的电子支付系统 |
CN103186861A (zh) * | 2011-12-30 | 2013-07-03 | 上海博泰悦臻电子设备制造有限公司 | 基于云数据处理技术的电子支付方法 |
CN103186860A (zh) * | 2011-12-30 | 2013-07-03 | 上海博泰悦臻电子设备制造有限公司 | 基于云数据处理技术的电子支付系统 |
JP2015526774A (ja) * | 2012-05-21 | 2015-09-10 | キム、ジュファン | 移動通信端末機を決済端末機として使用するためのアプリケーション、アプリケーションサービスプロバイダーシステム及び方法 |
CN104574050A (zh) * | 2013-10-28 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 在线结算的方法、装置及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106875231A (zh) * | 2017-03-28 | 2017-06-20 | 宇龙计算机通信科技(深圳)有限公司 | 一种优惠券使用方法及装置 |
CN107742211A (zh) * | 2017-09-30 | 2018-02-27 | 深圳市极成光电有限公司 | 基于在线支付获取电子停车票的方法及装置 |
CN108428123A (zh) * | 2018-02-13 | 2018-08-21 | 口碑(上海)信息技术有限公司 | 基于身份识别的支付方法以及装置 |
CN109784991A (zh) * | 2019-01-04 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 电子券结算方法、系统、计算机设备和存储介质 |
CN114760064A (zh) * | 2022-03-23 | 2022-07-15 | 建信融通有限责任公司 | 一种代金券秒杀方法及系统 |
CN114760064B (zh) * | 2022-03-23 | 2024-03-22 | 建信融通有限责任公司 | 一种代金券秒杀方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106327192B (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106327192A (zh) | 一种基于云服务器和支付服务器实现的支付方法及系统 | |
CN103916844B (zh) | 客户识别模块卡开通方法及虚拟客户识别模块卡服务器 | |
CN109451446B (zh) | 携号转网方法、装置及设备 | |
CN101765112B (zh) | 增值业务互斥鉴权方法与装置 | |
CN108510389A (zh) | 基于区块链的智能合约调用方法、设备及可读存储介质 | |
CN110599323B (zh) | 一种资源处理方法及处理设备 | |
CN109829621A (zh) | 一种网约车派单方法及装置 | |
CN108446974A (zh) | 数据处理装置、方法及计算机可读存储介质 | |
CN104751266A (zh) | 数据处理方法、增值服务器及系统 | |
CN102332127A (zh) | 基于网络电视在线支付业务的账户绑定方法和支付方法 | |
CN106921957A (zh) | 二次放号号码的识别方法及装置 | |
CN104767716A (zh) | 业务请求处理方法及装置 | |
CN111918225A (zh) | 一种基于多运营商发送短信的方法 | |
CN102469419B (zh) | 在线计费的方法、在线应用内容计费网关和系统 | |
US20170169458A1 (en) | Determining awards for mobile device users based on renewal events | |
CN103781044A (zh) | 一种用手机话费购买移动应用中的商品的计费方法和计费系统 | |
CN102255867A (zh) | 服务请求处理方法、装置及系统 | |
CN107635251A (zh) | 基于信用的网络流量调配方法 | |
CN101478416A (zh) | 业务处理方法、综合业务平台与业务处理系统 | |
CN101345634A (zh) | 计费方法、计费装置和计费系统 | |
CN109598612A (zh) | 资源延期交付的方法和装置 | |
CN108632479A (zh) | 定向免流量方法、移动终端及计算机可读存储介质 | |
CN104243568A (zh) | 一种数据流量分享方法和装置 | |
CN104540087B (zh) | 一种虚拟运营商增值服务的提供方法及业务平台 | |
CN109409961A (zh) | 自助获取停车优惠券的方法、终端、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
OL01 | Intention to license declared |