支付网关接口设计(支付网关的主要功能有哪些)

网友投稿 642 2023-03-12


本篇文章给大家谈谈支付网关接口设计,以及支付网关的主要功能有哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享支付网关接口设计的知识,其中也会对支付网关的主要功能有哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

PHP怎么做银联的支付接口调用

PHP做银联支付接口调用问题
//在工商支付接口之前要找到工行提供的接口文件级dll文件
//将订单签名数据公钥加密提供给工行指定页面
//组织要签名的数据串
$src="ICBC_PERBANK_B2C1.0.0.0".$infomer["merid"].$infomer["meracct"].$returnaddress."HS".$ddnumber.$amount."0010".$nowtime."0";
$com=new com('ICBCEBANKUTIL.B2CUtil');
$rc=$com-init("c:\WINDOWS\user.crt","c:\WINDOWS\user.crt","c:\WINDOWS\user.key","11111111");
$ssrc=$com-signC($src, strlen($src)); //订单签名数据
$rc=$com-verifySignC($src,strlen($src), $ssrc, strlen($ssrc));
$cert=$com-getCert(1); //商城证书公钥
//将商户证书存储到c:\WINDOWS目录下,然后创建form表单,将指定的数据提交到工行指定的网页中
<!--支付宝支付的接口操作,提交的数据--
<td width="100"<a href="<{$link}"<img src="images/sy_19.gif" width="90" height="25" border="0"</a</td
<!--——————————————————--
<!--工行支付的接口操作,提交的数据--
<form action="https://mybank.icbc.com.cn/" method="post" name="form_bank"
<input name="interfaceName" type="hidden" value="ICBC_PERBANK_B2C"/
<input name="interfaceVersion" type="hidden" value="1.0.0.0"/
<input name="orderid" type="hidden" value="<{$ddnumber}"/
<input name="amount" type="hidden" value="<{$amount}"/
<input name="curType" type="hidden" value="001"/
<input name="merID" type="hidden" value="<{$merid}"/
<input name="merAcct" type="hidden" value="<{$meracct}"/
<input name="verifyJoinFlag" type="hidden" value="0"/
<input name="notifyType" type="hidden" value="HS"/
<input name="merURL" type="hidden" value="<{$returnaddress}"/
<input name="resultType" type="hidden" value="0"/
<input name="orderDate" type="hidden" value="<{$nowtime}"/
<input name="merSignMsg" type="hidden" value="<{$ssrc}" /
<input name="merCert" type="hidden" value="<{$cert}" /
</form

电商平台支付结算系统设计 - 产品向

写在前面:这篇文章是笔者近期学习支付相关知识,在知乎、人人都是产品经理、掘金等等各个地方拜读各位大神大作后,梳理摘录汇总而成,仅供自己学习备忘,如有冒犯还请指出,谢谢~

整体分为交易系统(OMS)、支付系统、清结算系统、对账系统、会计报表(非必须)等几个部分。

支付系统是负责电商系统收款和出款的子系统,需要支持电商平台与外部渠道间,所有收款和出款的功能,以及电商平台内部账户间转账的功能。简单来说,支付平台需实现充值、提现、转账、退款四方面的功能。

一般来说,支付系统由以下几个功能组成。

第三方支付:微信和支付宝占据国内移动支付的绝大部分份额,因此是一定要接入的。
按照结算类型来分,收款类一般有即时到账、担保交易两种,出款类有转账、银行卡代付等。
如果电商平台有支付牌照,可以自己分账,或者收款类型为年费等无需分账的交易,那么可以选择即时到账方式收款。
如果电商平台没有支付牌照且需要给实现二级商户分账,则可以选择微信的收付通或支付宝的直付通等产品。但用户通过微信支付的订单才能通过微信的产品来分账结算,支付宝支付的订单才能通过支付宝的产品来结算,对于平台对接、商户收款皆有不便之处,因此电商平台很少选用这种方式。

银行卡支付
一般来说,电商平台接入了微信和支付宝后,已经可以满足大部分支付需求,无需再接入银行卡支付。而对于购买了支付牌照的大型电商平台,想要打造自己的支付工具,才会对接各大银行,接入快捷支付功能。或者有一定规模的电商平台也可以直接与银行签约,开通快捷支付接口。

和第三方支付不同的是,银行卡收单、退款,一般都不是实时结算的。而支付公司与电商商户的收单交易,是实时结算的,实际是支付公司提前垫资。

快捷支付
现在市面上大部分电商app中,银行卡支付功能都是使用的快捷支付方式。对于电商平台,如果需要接入银行卡快捷支付功能,有两种方式:

例如电商平台在工行开通了快捷支付接口,用户签约了工行卡快捷支付,用户付款后,资金扣款成功结算后,会进入电商平台在工行的结算账户。注意快捷支付是有经营业务种类限制的,只允许在签约经营范围内的业务收款,即MCC码。

如果是第三方支付公司,因为不允许与银行直连,需使用银联或银行提供的网联接口,用户支付后,网联结算后,金额会转移到支付公司在银行开设的备付金账户。

对于电商平台,与银联对接要方便快捷得多,一次接入即可搞定大多数银行卡的快捷支付;而对于有支付牌照的电商平台或第三方支付公司,为了更低的手续费,才会选择与银行直接对接。

银行卡快捷支付,需要先绑卡签约,后续则无需任何验证完成扣款,而为了安全性,电商平台会加上指纹、人脸、短信或支付密码验证,仅小额支付可以免验证。

快捷支付的签约,需要提供三要素(姓名,身份证号,银行卡号)或四要素(银行预留手机号),信用卡可能额外需要有效期和背后后三位数cvv。注意支付公司或电商平台是不允许保存用户的cvv码的。在快捷支付签约前,用户需先完成实名认证或更高级别的认证,以保证签约卡为本人银行卡。国家法规对于第三方支付用户的信息验证有3个等级,三级为最高安全等级,对应的付款限额和支付范围限制也更大。

对于第三方支付公司,为了安全性、手续费等原因,会与同一家银行,不同的总行分行,或者银联等其他通道,分别签约快捷支付;用户在绑卡签约时,或者后续签约支付时,可能在签约一个需短信验证的通道的同时,还签约了其他无需短信验证的通道。后续用户使用快捷支付时,支付渠道路由会自动选择当前最合适的支付通道发起扣款。对于同一张卡的快捷支付额度,使用不同的支付通道的额度是独立的,但总额不超过发卡行的限制。

对于产品侧来说,如果要实现快捷支付功能,前端需要实现签约卡管理、新增签约(录入卡信息 - 识别卡信息 - 签约结果返回)、解绑功能。

不管是第三方支付还是快捷支付,和支付公司签约时,都可以绑定多个收款账户,有时为了财务上的区分,不同业务可使用不同收款账户收款。

银行转账基础原理

跨行转账有超级网银和小额转账两种,限额都是5w以内,开放时间都是7*24小时,不同的是超级网银实时结算,小额转账银行跑批处理,是准实时的。大额转账是在5w以上,开放时间是工作日的 8:30 ~ 17:00,实时结算。银行提供的转账产品,基本都是基于上述三种方式包装的。

电商业务的退款、商户结算、佣金结算、供应商货款结算等业务都涉及到出款。

退款:一般来说,在支付后一段时间内(一般3到6个月),可以使用原支付渠道的退款功能,将资金原路返回。如果超过时间限制或部分退款次数限制,则无法原路返回。退款最多可能5~7个工作日才能确认返回状态;对于银行来说,一笔已经清算的收单交易,手续费已经扣取;就算产生退款,之前的收单手续费也不会退回。如果在结算之前退款,银行侧可能支持按比例退回手续费。第三方支付公司与电商平台之间退款手续费的收取,由双方协议决定。

银企直连:若电商公司已接入银行的银企直连产品,且支付对象已绑定银行卡,则可使用此方式。

第三方支付的代付功能:对于高频小额的付款需求,且用户已绑定第三方支付账号情况下,可使用此方式。
企业网银:一般用于2B的大额资金转账。资金结算或者用户提现。

对于第三方支付公司,用户提现时,同一个出款账户,会归集一定量(金额或条数)之后批量提交银行处理,所以提现不一定能够实时到账。

出款的前提是用户已实名认证,并绑定了实名对应的银行卡。绑卡需要验证四要素,会需要用到第三方支付提供的信息验证接口,或直接与银行对接。已经签约过快捷支付的借记卡,也可以用于该账户资金提现,无需再次验证。

各个支付渠道的接口指令各不相同,为了方便业务调用以及日后拓展维护,需要建立一个统一的支付网关,开放给业务使用;业务调用时同时指定支付渠道,支付网关请求渠道路由,按照事先配置的路由规则,返回最合适的支付通道,发起支付请求。
网关需实现不同类型的功能接口,一般来说就是支付通道侧接口能力的并集,如充值、提现、转账、退款、签约查询、实名认证校验等等。

引导路由:是指用户在付款时,给用户展示支付方式的规则,包含可见状态,可用状态,展示顺序等。引导路由的意义是,根据用户支付的场景,引导用户选择平台侧希望用户选择的支付方式。平台侧的需求一般是支付成功率高(通道稳定,额度充足)、费率低等,也有因不同支付渠道商务合作关系,限定额度分流的原因。
匹配接入的支付渠道比较少时,引导路由作用不大,一般可能只有一个简单的权重配置后台,即所谓的静态路由,或者直接记住用户上次选择的方式即可。

渠道路由:对于电商平台来说,如果只接入了第三方支付,则不存在渠道路由。对于支付公司来说,如果接入了不同银行、银联网联的快捷支付接口,且用户选择的银行卡签约了多个通道时,渠道路由则按照路由规则去匹配权重最高的渠道,发起扣款请求。

在断直连之后,支付公司的代收服务,只能通过银联或网联接口,因此渠道路由意义也削弱了。对于代付服务,支付公司会在各大银行都开设收付账户,将跨行转账都转化为同行转账,以提高转账速度免除手续费,同时支付公司需要做好备付金管理系统,自动或人工管理监控调拨各行备付金。

当业务向支付网关发起支付请求时,支付网关需要对业务方进行鉴权判断,确定请求是否合法。一次支付请求一般包含以下元素:业务标示,支付时间,支付金额,支付账号,支付客户端信息,支付订单信息等。支付网关需要确认各个元素都合法,比如支付时间是否在有效期内,此支付单是否过期;支付账号状态是否正常,支付订单是否是可支付的,商品是否有库存等等。同时还需要将这些信息过一遍风控,风控那边会根据各种规则判断此次支付是否有风险。风控是一个比较复杂的系统,属于另一个专业领域,在此不细说。

电商平台向支付渠道请求支付后,支付渠道会同步或异步返回支付结果信息。如果支付渠道不主动返回结果,电商平台侧则需要定时去轮询结果。同时电商侧需要将支付请求信息、结果信息、结果凭证等保存下来,也就是支付流水记录。支付流水记录是之后电商与支付渠道对账的凭证。

拿到支付结果记录后,支付系统需要向支付请求方返回支付结果,同时通知账务系统,触发对应的记账操作。

各个支付渠道都会按日和按月生成交易记录文件和资金流水账单,分为支付、退款、提现等类型。交易记录文件相当于信息流凭证,资金流水账单相当于资金流凭证。

银行渠道一般也会推送资金流水文件,但不是所有银行的交易都有业务对账文件,通常收单交易业务对账文件会普遍一些。

电商的支付系统或者对账系统,需要做的事情:

支付系统同样需要和上游各个业务系统进行对账,包装支付状态金额的一致性。一般采用明细轧帐的方式。

收单对账常见问题:
长款:用户支付了但是交易系统未确认支付成功,这种情况需要及时补单或者退款处理,一般如果业务侧订单状态是待支付则可转为支付成功,状态是已取消则自动退款;也有可能是测试数据混入了生产环境;也有可能能与之前的短款差错互相抵消;

短款:一般是日切问题导致,挂账后下个会计日继续对账;或者看是否能与之前的长款差错互相抵消;

重复支付:一般支付渠道都不允许重复支付同一个订单,发现重复支付也可以自动退款处理;
金额不一致:可能用户支付后,支付结果返回之前,交易系统订单金额变化了

退款常见问题:
网络问题或接口问题导致退款失败,这种情况可自动再次提交退款;
对方账户状态异常导致退款失败,这种无法走原路返回退款方式,只能转账/代付;
退款时需要处理好支付手续费的退款,以及退款手续费谁来承担的问题,一般是按比例退;
对于短款差错,可挂账7天处理。

提现常见问题:对方账户状态异常导致退款失败,需要及时通知用户处理。对于短款差错,可挂账3天处理。

产品侧需要设计对账管理后台,可查看支付流水,对账批次记录,差错处理后台等。对于固定处理方式的差错类型,可做成自动化处理。

合单支付是指用户一次支付多笔订单,在电商中很常见。电商业务侧需要自己做好订单拆分,支付系统中,如果使用支付渠道的合单支付接口,则会自动拆分记录支付流水,是最佳的方式;如果支付渠道没有合单支付接口,则可拆可不拆,按原始记录保存简单不易出错,拆分记录则可方便其他业务处理。

混合支付是通过多种支付方式,支付一笔订单,比如余额+快捷支付。混合支付会按照不同支付方式,生成多笔支付流水。

因为不同支付方式,支付成功率不同,可能会发生有的支付方式扣款失败的情况。因此混合支付需要按照支付成功率,优先扣款成功率较低的支付方式;如果有某些支付方式扣款失败,需要判断是取消支付,全部退款,还是提醒用户换其他方式继续支付;全部支付方式都扣款成功后,这比订单才支付完成。后续订单发生退款,如果是部分退款,需要判断,优先退款手续费最低的支付方式。

电商平台或支付公司有时候会做营销活动,出钱补贴支付,也可以用混合支付方式处理。

据说余额+卡的混合支付有洗钱风险,目前已逐渐少见。

对于大额订单,可以采用分次、分阶段支付的方式,实质也是一种混合支付。

订单完成时,电商平台需要扣取平台佣金,结算货款给商家;若涉及推广服务,则需要计算推广用户的佣金和税额,再结算给推广用户。

按照法规,没有清结算牌照的电商,不允许自行截存货款,之后再结算给商家。电商平台可以选择第三方支付公司或者使用银行的电商清结算产品,由他们代为保存货款,之后再结算给商家。此类产品需要先提交商户资料给支付渠道或银行审核,审核通过后,用户支付此商户订单,提交支付同时上送清分规则(分给哪些人,按照什么比例或金额)。在订单交易完成时,电商侧提交结算请求,支付平台按照此前支付时上送的清分规则进行分账结算。部分支付平台,需要在结算时由电商平台指定分账对象和金额,但这样略有二清嫌疑。

选择这类清结算产品时,还需要注意以下几点:

接入此类产品后,除了后端的支付、结算接口对接以外,电商平台商户侧客户端,也需要对接好商户入驻进件,提现账户绑定,结算账单等功能。

电商平台常见的分销、主播代销、拼团、淘宝客等销售模式,其中“分销商”或“团长”角色,本身不是销售主体,在订单完成后可获得推广佣金。一般来说,这部分推广费用,在订单生成后,商户侧可在订单费用明细中看到此支出项;在订单结算时,可将推广佣金与平台佣金一起扣除,再由平台将推广佣金结算给推广人员。

这类支出属于劳动报酬,平台有为推广人员代缴税的义务,需要按月计算税率和金额。因此部分平台采用月结的方式,每个月指定日期,计算每个待结推广人的税费,扣除后再将税后金额结算给推广人。也有部分平台(比如O2O,网约车平台等),会自己承担此部分税费(羊毛出在羊身上),在订单结算时,即时将推广佣金结算给推广人,次月再统计推广人税费,平台自己为推广人交税。

平台也可以采用各种税务筹划方式,比如“灵活用工”的方式,与推广人建立非全日制劳务关系,这样推广人可以享受更低税率。

平台自行结算给推广人,可使用银企直连、支付平台代付等功能进行出款。而平台代缴税需要推广人的实名信息,所以在推广人在提现佣金之前,需要先实名制认证。

不管采用哪种结算方式,电商平台都需要计算订单结算时的各类费用明细(清分),负责清分的模块,也叫做计费系统。

电商平台有花样百出的扣点规则,比如按商品、按商户、按品类、按营销活动等规则扣点,以及各类推广佣金等。扣点规则路由对应着各类扣点规则,比如针对商品、商家、类目的扣点规则管理后台,基本元素是扣点对象、扣点比例、扣点上线、规则生效时间范围、规则状态等。产品经理需要和运营人员确认好扣点规则判断逻辑,即根据怎样的条件判断顺序,确认订单适用的扣点规则。之后加入新的扣点规则时,也需要维护这个扣点规则路由。

扣点规则路由各电商平台都不一样,可能包含营销活动、下单/支付客户端、买家身份、扣点规则权重等等。

一般在订单创建时,扣点规则路由就需要根据订单相关的信息,判断出订单适用的扣点规则并记录下来。同时也需要将用于判断的信息元素保存下来,以作为之后核对凭证。

如果订单有推广员的参与,则也需要在订单创建时,计算出需要扣除的推广费用,并保存记录相关推广员信息。

在计算各方分账明细时,需要注意几点:

与订单交易相关的清算,一般来说,是在订单状态变为终态(交易完成,退款完成),且订单尚有待结算金额时,由交易系统向清结算系统提交清结算请求。也有一些多次结算的场景,比如订单里有部分商品先确认收货时,也可以先结算部分金额,后续再结算剩余金额。

对于有支付牌照的大型电商平台,为了提高商户的回款速度,也可以在订单尚未变为终态时给商家结算货款,比如用户确认收货时或者商家发货时。如果结算后订单发生退款,则再在商户钱包中扣除相应金额。此类结算方式需要平台侧有比较成熟的风控能力,通过风险控制和风险转移的方式,防止平台资金损失。比如和商户签约协议,设置商户保证金,商户买家风控,购买对应的赔付保险等等。

交易系统向清结算系统发起结算请求时,需提交结算订单、结算金额、结算类型(完全/部分结算)等字段。清结算收到结算请求后,可能实时结算,也可能异步周期结算,比如每X小时一次等,视业务量大小决定。

开始结算时,计费中心从账务系统获取订单待结金额,根据结算类型核对结算金额,核对无误后,冻结待结算金额,并提交到计费中心;计费中心找到订单快照中的扣点规则,计算分账明细。

计费中心计算出各方分账明细后,需要和账务中心进行实时或准实时的对账,保证需结算的金额等于各方分账明细之和。核对无误后生成预结算单。

大部分订单,此时结算中心可将结算单提交到支付系统,进行最终的资金转账。小部分订单,结算单可能需要人工审核,则需要审核通过后再提交到支付系统,或者驳回撤销此次结算。

各分账方一般会提前在支付系统内部开设好账户,支付系统会将资金结算到各方的资金账户中,对于支付系统来说,仅涉及内部账户间的资金转移,因此很少会出现结算支付失败的情形。

支付系统返回结算成功结果后,结算单状态变为结算完成;结算系统需要实时通知交易系统和账务系统,账务系统记录各账户资金变化,更新账户余额;交易系统则触发对应的消息通知等关联服务。如果有会计系统的话,也需要异步通知会计系统,进行会计分录记账。

对于成熟的支付公司,会有账务系统和会计系统两套系统。这两套都是以会计分户模型来设计,不同的是账务系统是直接面向业务使用,随着业务信息流实时记账并更新余额,账务流水更多记录交易相关内容;会计系统是面向财务会计使用,一般是异步入账,使用严格的复式记账法。
账务系统中的账户,必须是在是账务系统分户中的叶子科目下。两套系统之间的分户模型,会有多对多的关系。账务系统这套体系可称为分户账户(外),会计系统这套称为分户账户(内)。

按照复式记账法,一般分为资产、负债、损益、共同类等。

交易的实质就是各金额账户间资金的转移,因此首先需要建立好对应的账户。
账户设计遵守三户模型:客户、账号、账户。
客户:指自然人或企业,必须要实名认证才可以开通支付账户,客户以身份证号为唯一标识。

账号:登录账号,一个客户可以有有限多个账号,即一个身份证可以用于有限多个账户用来实名认证。但对于同一个支付公司,一个身份证下多个账号,支付额度上限是共享的。根据身份认证信息丰富程度,支付平台余额账号等级分为一二三类,3类拥有的支付额度和权限最高是20万/年。余额提现、余额宝支付、信用支付无年度额度限制。银行卡快捷支付签约、提现银行卡绑定等操作,也是以账号为主体操作。

账户:每个账号在支付平台或电商网站,都会有多个不同功能的账户。商户侧有货款结算账户,保证金账户;买家侧有支付账户,信用支付账户,积分账户;或者电商平台侧的内部账户,比如活动补贴账户,订单担保账户等。

账务核心主要有四张表:分录流水、分户账、明细账、总账。

首先需要有一个交易码 - 分录规则的分录规则表,用来维护每种用交易码区分的交易场景,发生时应该如何拆成会计分录的规则。比如定义交易码1001为订单银行卡快捷支付,那一笔订单付款流水,经过支付平台,同步到账务中心时,根据同步过来的交易码1001,找到对应的分录规则,按照规则中的定义,生成会计分录:

当一笔业务发生时,首先生成分录流水,然后驱动账户余额变化,账户余额变化后,生成明细账。日终根据分录流水生成总账。根据业务需要,也可以先修改账户余额,然后异步生成分录流水,但是无论先生成会计分录,还是缓冲异步生成会计分录,都要保证分录流水与分户账余额的一致性,这一点通过日终系统的检查来保证。

每天首先需要做支付渠道的对账,然后再进行账务系统和会计系统内对账。
需要做到:

错处理需达到2个效果,一个是完成对账,另外一个是将账务对平,常见的账务处理方式有挂账、登账、调账。
补单:通过人为干预方式,将原有业务进行下去,如通过接口人工干预订单状态
挂账:对于不平账单,先挂起,等查明后再进行相应处理
登账:会计记账,伴随虚拟资金从一个账户向另一个账户转移的过程(原始凭证)

1、多账
多账主要存在2种情况,一种是异步通知未收到,优先采用补单处理,另外一种是同订单2次支付,一般通过登账处理
2、短账
基本不会出现,一般通过签名防抵赖机制与第三方协调处理。协调一致后通过人工增加对账单进行平账。
3、金额不一致
出现概率极低,一般为电商平台内部计算有误。
首先得先解决此bug,然后根据异常订单相应处理,比如说撤销对账,修改系统或对账单金额后再进行对账。

网站支付接口如何配置

网站在线收款时使用第三方接口,有两种情况:
一、如果请人开发的SHOP平台,而且在后台拥有支付接口参数配置的情况下,按照要求填入相关参数即可。去第三方支付平台注册就能获得相关参数。
二、如果是自己开发的,除了申请使用第三方支付平台外,还需要下载相关接口文档标准,按照要求进行开发,跟你的网站接合起来,这样才能使用。
第三方支付平台的网关一般需要手续费或年费的。如淘宝网的支付宝,需要年费。云网支付需要年费或选择手续费。腾迅的财付通不需要任何手续费。

支付网关接口的介绍

支付网关(Payment Gateway)是银行金融网络系统和Internet网络之间的接口,是由银行操作的将Internet上传输的数据转换为金融机构内部数据的一组服务器设备,或由指派的第三方处理商家支付信息和顾客的支付指令。

关于支付网关接口设计和支付网关的主要功能有哪些的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 支付网关接口设计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于支付网关的主要功能有哪些、支付网关接口设计的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:什么是路由器管理员密码(路由器管理员密码指的是什么)
下一篇:平台流量接口管理(接口流量控制)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~