今天的课程来自于 Ping++  渠道产品负责人——周萍老师的 《 支付渠道业务规则 & 对接管理 》。

其实 Ping++ 在对接支付渠道过程当中,不仅仅是作为聚合支付技术提供方这样一个角色,更多的也是作为一个商家在接入渠道,因此,接下来今天要分享的内容,会以商家的视角去分析对接渠道过程中需要关注的问题。

支付渠道业务规则

这部分内容主要介绍常见支付渠道的业务规则以及选择渠道过程中需要关注哪些重点,主要面向商家的业务部门,方便根据自身业务模式匹配最合适的支付渠道。

产品概述和应用场景

要想了解支付渠道的业务规则,首先需要知道目前主要的支付渠道、支付产品有哪些,是什么模式,然后商家根据自身产品及业务模式去匹配最优的支付方式。

目前 Ping++ 主要对接的支付渠道有两类:

  • 银行:招行、建行、农行等
  • 支付机构:微信、支付宝、京东等

每个渠道有自己的收款产品,对应在不同的支付终端上使用。这里讲一下,「支付终端」换成「支付场景」也是合适的,不同公司团队个人叫法可能有所不同,总之方便理解来看就是电脑网站、手机网站以及手机应用等等。

支付产品及应用场景

这里将各个渠道的收付款产品放到了对应的支付终端下,不同支付终端下支持的渠道支付产品也有所区别,且需要独立申请开通权限。

下面一张图看看转代付和分账的区别。

转代付

B 商家发起收款 100 元,后续可以给 C 端商家或者 B 端商家进行打款。这里需要注明的是,给商家或者用户打款的 X 和 Y 元,跟 100 元没有必然联系,只要确保出款账户内资金足够用于 B 商家打款即可。

分账

B 商家发起 100 元收款,含分账指令给 C 商户 20 元,那么最终用户完成这笔订单支付的时候,则商家 B 收款 80 元,商家 C 收款 20 元。分账模式比较适用于平台类型的商家或者集团类型的商家,目前所接触到的微信分账并没有对外开放申请,最多关联的分账账户有 5 个的限制。支付宝的分账目前看到的是在跨境上有用到,最多支持在 10 个以内。两个分账功能均需要单独联系 BD 进行申请。

行业准入和区别

商家收款类别

收款类别

1)这里简单列了下大的分类,主要有实物类、虚拟类和政府/事业单位( 主要指的公立医院和学校 )走微信和支付宝的渠道申请所对应的费率和结算周期的区别。特殊行业对应所需要的资质也有所区别。

  • 实物类:医疗类的会有资质文件才可以申请,比如医疗器械、身体康复用品的需要持有《 医疗器械经营企业许可证 》、经营内容包含美瞳或者隐形眼镜,则需要提供《 第三类医疗器械销售资质 》等等;

  • 虚拟类:比如游戏道具购买,需要具备《 网络文化经营许可证 》。

2)商家的行业可以直接参照腾讯或者支付宝的的商家类目、费率、资质的文档,简单粗暴,可以到官网上了解一下。

3)这里提及一下,前面的花呗分期和京东白条产品:使用的前提都是至少拥有支付宝或者京东对应的基础支付功能,才能进一步申请分期的产品权限,目前两家的分期产品的权限都是需要单独联系 BD ,走线下申请的流程,周期较长。

商家付款类别

付款场景类别

目前银行卡代付的申请,看各家机构的要求,目前尚且没有比较固定的行业分类。基本上 case by case 的去看。所以我们主要看看在使用商家付款产品的时候,需要关注哪些内容。

① 费用

看代付的费用从两种情况来看,一个是付款到银行卡,一个是付款到钱包账户。

② 限额

各家支付机构不一样,但是主要需要与支付机构沟通的是单笔、单日、单月、以及每天的调用频次等是否有限制,限制是多少。

③ 到账时间

选择商家付款渠道的时候也需要关注付款到账时间,因为有些应用场景对于实时性要求比较高。

④ 支持的银行

支持银行列表也需要多加关注,尤其是 B2B 转账或者对于有特殊银行需求的商家。

渠道合作模式和优惠政策

早期商家跟渠道的合作比较单一,但是近 2 年渠道也推出来比较多的合作模式来吸引商家以及合作伙伴。

支付渠道合作模式

简单介绍下各种合作模式:

1、直连

2、直连( 入驻 )

3、普通服务商

4、银行服务商

各种合作模式的优缺点

支付渠道合作模式优缺点

退款处理规则

接下来我们讲讲退款,原先「退款」这一块的逻辑是放在后面渠道开发对接部分的。

但是因为近期日常渠道运营中遇见了一个关于手续费的问题,退款是否退回手续费的问题一定程度上决定了某些特定场景的商户对于支付渠道的选择,因此把它提到业务规则中来聊一聊。

退款规则

需要提前捋顺几个问题:

1)退款功能是否需要提前额外申请

2)退款周期是否需要延长

3)退款资金是否需要额外充值:待结算账户、余额充值账户

4)退款或者撤销是否退回原订单的支付手续费

以下是一张关于各渠道的退款周期,是否退回手续费以及退回手续费的逻辑说明:

退款手续费

支付渠道对接及管理

渠道对账处理要点

1、资金结算方式

手动提现还是自动结算,自动结算是否有资金门槛( 因为在跨境微信支付宝的渠道资金结算,直连会有 5000 usd 结算资金门槛 )

2、获取对账单方式

业务需要提前确认获取对账单方式,是只能通过商户平台下载还是也能通过接口下载。

3、清分时间

这个跟获取对账单方式时候可以一并确认,一般渠道的清分时间都是 00-24 点之间的交易。

4、区分不同交易对账单

对账单汇总

支付渠道对接及管理

这部分内容着重介绍在开发对接渠道过程中需要关注哪些问题,主要面向商家的产品部门。

第一部分主要讲了商家的业务部门在前期申请渠道时候,场景适配以及需要提前跟渠道沟通了解的注意事项。

第二部分就涉及到产品技术对接阶段的一些细节处理。

渠道对接步骤和内容

渠道对接步骤

公司内各个部门不同的产品,线上线下产品适用场景不同,费率会有所区分,注意事项在第一部分已经阐述。

  1. 切记不要申请错了权限,这个对于微信是比较常见的问题( 服务号、订阅号、APP )

  2. 配置并获取参数,这一个步骤建议是产品与业务部门能一起操作、确认。另外如果有线下版本的协议,建议产品也可以看下,因为我们曾经遇见过一些渠道有业务处理时间的限制,但是没有写在线下开发文档中,是单独列在了协议中。在获取参数时,部分渠道是一定要通过测试案例提交才能获取正式参数,此处也需要留足项目时间。

  3. 对接支付相关的 API ,按照自己内部支付模块以及支付渠道的对接开发文档对接开发即可。

  4. 上线结果通知:这一步列在这里的原因是因为对外的技术服务商在日常工作中需要留足足够的时间给协同模块。

  5. 关联模块功能更新:可以完成一笔成功的交易并不代表整个交易功能已经完善。比如对于交易明细的展示和管理、报表展示。后期商家内部渠道参数的更新、维护等配套模块也需要做更新。

对接支付要点

① 是否需要添加出口 IP

部分渠道需要添加 IP 白名单才可以进行开发、测试调试,有些渠道较快的能添加完成,但是有些银行类的可能要走比较漫长的线下申请。

② 对接的接口版本

不同支付渠道的接口版本对应的支付渠道的参数也不一样,所以在商务确定产品合作后需要确认对应的业务申请参数和渠道开发的接口版本是否一致。

③ 订单号长度和组合

支付机构遇到此类问题比较多。每个渠道的订单规则其实略有不同,例如招行早期的订单号只允许数字形式,不允许其他任何符号;微信、支付宝和银联对订单号的长度要求不同,因此建议订单号长度为 8~20 位,目前来看基本可以适配要求。

④ 交易金额单位

一般情况下单位都是以「分」为单位,但也遇到过以「元」为单位的情况。

⑤ 商品描述特殊字符,是否展示在用户可见的渠道支付页

部分渠道会因为在商品描述中加入了特殊字符而导致交易失败,然后因为报错提示信息不明显,会导致开发定位较长时间,另外需要确认该信息是否会展示在用户所见的渠道支付页上,避免字段设置的信息给用户产生疑惑。

⑥ 收款公司名称展示

常规情况下,大部分支付渠道是可以在后台进行设置或者在入网时有很清晰的提示,但是有些渠道是通过某个字段来进行填写并上传的,比如建行龙支付。

⑦ 订单过期时间的模式确认

– 绝对时间( 某个固定的时间 )

– 相对时间( 例如用户在支付页面密码输错了扣款失败,才开始计时 )

– 二维码有效期

– 过期时间单位

⑧分期支付是否支持前置展示

主要是用户体验的问题,假设不做前置展示可能会在最后一步支付时流失掉这个订单。

⑨ 是否支持禁用信用卡

有些商家不希望用户支付使用信用卡,部分渠道可以通过请求参数字段进行设置,也有渠道通过入网签订协议后台配置。

⑩ 前端带回的参数信息

大部分商家比较在意前端带回的结果参数信息,例如订单号、支付结果等等。

对接退款要点

① 可退款订单周期、权限开通

之前在对接线下扫码支付,走服务商模式,退款权限并不默认开通,需要走线下申请的流程后才可以开通。可退款订单周期如之前提及,需要提前申请确认。

② 单笔订单退款次数、频率限制

例如微信是有单笔订单对多 50 次退款限制的,虽然实际场景中遇见单笔退款几十次概率很小,但一旦出现这类情况就需要做好线下给用户退款的准备。

③ 是否支持原单重试

这种场景微信比较多,微信现在文档上备注的已经十分详细了,尤其对于商家转账红包这种类型的出款,一定需要提前确认是否支持原单重试,避免重复出款。

④ 是否支持部分退款 & 是否退还手续费以及计算逻辑

对接的渠道大部分都支持部分退款,但是有些个别的渠道是支持退款不退手续费。因此商家遇到用户退款的情况,就会在退款时损失手续费。同时对计算逻辑也要进一步确认,有些渠道的手续费分两部分,一部分是固定手续费,一部分是动态手续费。在退款时也会有全退、只退动态手续费不退固定手续费以及手续费全部不退的情况。

⑤ 多选一单号请求,需要确认优先级

这个在退款时微信、QQ 钱包都有过类似的问题,例如早期 QQ 钱包超过 30 天的订单如果不使用交易单号就会报错。因此如果渠道的文档表示两个字段二选一都行,就要提前确认好优先级。

⑥ 退款描述特殊支付,是否展现在用户可见的地方

这部分和前面是一样的,就不细说了。

⑦ 是否支持退款的异步通知

最早期的时候微信退款无异步通知,Ping++ 当时自己做了个自动查询模块,定时( 5s、10s、20s、1min 等等递增)去调用退款查询接口来获取退款状态,现在微信也支持了退款成功的异步通知,主要的支付渠道也都支持了该功能。

⑧ 是否区分退款资金来源

这块主要是需要清楚地明白和业务的关联点在哪里,一般在退款接口上会有区分字段提示。

⑨ 同步返回的状态,是否可以作为最终结果

该种情况除了接口文档上的描述外,建议与渠道再做二次确认。通常是根据异步通知或者查询的退款结果进行更新,但是存在部分渠道建议直接根据创建退款同步返回结果直接判断的情况,比如支付宝国际的退款,并不提供退款查询接口。

对接查询要点

① 支付和退款的查询是否区分接口

有的渠道不作区分,但有的渠道例如单号是区分支付成功单号以及退款单号两种不同的字段。

② 确认查询接口展示的状态参数

比如退款、用户被扫等模式可能存在多个状态,需要考虑多状态之间的关系和更新逻辑。

③ 多选一单号查询,需要确认优先级

与前文相同,不做赘述。

④ 区分通信结果、业务结果、交易结果

查询一个交易结果之前需要判断通信结果以及业务结果,最终展示的交易状态要根据交交易结果来判断。

⑤ 结算金额、优惠金额、退款渠道等信息是否返回

常规情况下渠道会通过支付成功之后的异步通知或者查询返回对应的信息,但是也存在部分渠道是通过后台配置的优惠信息,仅在支付成功页面、对账单中才有体现,并不会体现在交易返回参数中。

⑥ 查询和异步通知返回的交易相关信息一致

例如支付宝国际支付,查询与异步通知返回的信息不一致,是由于币种的转换造成的。存在部分返回信息需要提前邮件申请进行配置,虽然对外并没有文档指引和说明。

⑦ 查询频率是否限制,是否有建议的查询间隔机制

不同的渠道略有不同,有的渠道对频率有限制、间隔有限制。因此在前期需要确认。

对接异步通知要点

① 各种交易是否有异步通知

产品与技术对接过程当中,需要稍微注意一下,因为渠道的文档都放一起,按照惯例是都有的,但是背不住要踩坑,比如线下支付的用户被扫模式。

② 异步通知地址是请求上送还是后台固定配置

不同渠道不一样,大部分是通过接口请求上送;小部分渠道通过后台固定地址配置。

③ 何种状态会触发异步通知

需要校验异步通知的状态类型,比如支付成功、订单支付中、订单关闭等等,避免未区分异步通知类型导致错误更新订单状态。

④ 交易成功时间字段

有些渠道交易成功时间这个字段不正确,可能会导致对账会出现一些问题,需要人工去处理。

⑤ 是否带回交易请求上送的附加信息

在渠道提供的交易请求信息并不足以区分商家内部的业务订单时,商家往往还会上送额外的字段信息,有些渠道有去无回,即异步通知不带回该额外信息,导致商家业务更新异常。

⑥ 重试机制以及恢复信息

重试机制需要提前确认,如果渠道间隔时间比较长,就需要提前在订单过期前之前加一些查询机制,避免用户体验糟糕。

⑦ 签名验证或 IP 白名单

异步通知的验证真伪性一般可以通过签名或者 IP 白名单,如果是 IP 白名单的话提现与渠道确认好出口 IP 。

常见对接问题和解决方案

对接支付渠道常见问题

一般情况下上图中的情况会导致交易异常,因此建议商家除了对接渠道异步通知也要对接查询接口,可以设置查询任务;同时不建议商家以业务查询结果为参考,查询服务端的订单状态,一旦不一致就调用接口去查询一下,更保险。还有不要查询频率太高,可能造成渠道结果返回不了。

例如支付宝和微信使用线下渠道会有风控( 一般线上套线下才会有 ),因此匹配自身场景去申请渠道是最安全的。渠道系统异常的情况,最好是多对接几个渠道,万一挂掉了一个另一个也不影响使用。渠道更新接口 / 规则没有及时同步的情况,这就需要经常爬一下各渠道的公告平台了。渠道数据状态不同步的情况只能去咨询渠道,根据渠道的建议去修改查询模块。