位置:首页 > 科学教育 >

防踩坑指南:对接支付渠道二三事

作者:四川新闻 | 发布时间:2018-12-17 07

今天要分享内容,会以商家视角去分析对接渠道过程中需要关注问题。

一. 支付渠道业务规则

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

1. 产品概述和应用场景

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

一般情况下对接支付渠道有两类:

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

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

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

微信在移动应用、手机网页、pc 网页、公众号内、线下扫码、微信小程序中支付产品分别是:APP 支付、H5 支付、扫码支付、公众号支付(仅能在微信浏览器内支付)、刷卡支付(也包含扫码支付 )、小程序支付( 其中小程序内不能使用其他渠道支付产品)。扫码支付和刷卡支付区别是,前者是用户扫商家码,后者是用户支付码被商家扫。其中需要注意是,APP 支付和公众号支付需要分别在开放平台和公众平台进行申请开通。开通公众号支付后,默认会开通扫码支付和刷卡支付产品权限。H5  支付功能是在微信商户平台上开通支付产品权限,前提是至少开通APP支付、小程序支付、公众号支付其中一种支付权限。

分期产品:目前比较常见花呗分期和京东白条,这两家分期产品早期都是放在收银台一种支付方式,C 端用户在选择支付宝或者京东支付之前并不能直观了解到该商家是否支持分期,所以后期两家也推出了分期前置模式,即支持分期支付方式直接在商家收银台进行展示(对于 C 端用户来讲,更加直观,体验更好,能够有效降低消费者心里门槛),与支付宝、微信、QQ 钱包支付可做平级展示。

简单介绍了商家收款,我们也来看看商家付款产品功能:

代付:代付,我们通常称「代付」主要指是商家充值到在支付机构开通备付金账户,然后直接调用代付接口下发给 C 端用户或者 B 端商家银行账户。 转代付(这个叫法可能不同公司有所不同,转代付比较容易理解):转代付,这里指是先通过支付渠道支付产品收款至企业账户,然后直接通过出款接口进行下发。现在微信新资金流企业付款就是转代付模式。 分账(严格意义来讲不能称之为商家出款行为):指是商家在发起收款订单时即指定了相关分账信息,用户支付成功时,直接将资金分账到对应 B 端商家企业账户。

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

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

这里需要提及下,微信企业付款只能针对 C 端用户,不能给 B 端商家打款。支付宝单笔转账可以给 C 端用户和 B 端商家支付宝账户转账。

因为微信现在区分新旧资金流,所以现在企业付款到零钱资金根据商户号账户开通情况,实际出款账户有做区别:

默认情况下,企业付款到零钱使用商户号基本户(或余额账户)余额。如商户号已开通运营账户,则企业付款到零钱使用运营账户内资金。 基本户(或上述其他出款账户)资金来源,可能是交易结算款项(仅基本户),或给账户充值资金。当出款账户余额不足时,付款将因余额不足而付款失败。

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

2. 行业准入和区别

(1)商家收款类别

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

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

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

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

(2)商家付款类别

Tips:微信新资金流开通企业付款功能要求商户号开通 90 天且持续 30 天以上有交易流水,才可以申请开通「企业付款」权限,且目前服务商模式不支持企业付款。

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

① 费用

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

前者费用一般是按照单笔手续费计算,比如 1-2 元/笔。后者代付到钱包一般是免费,这个手续费商家不承担,主要在用户发起提现时候会需要支付提现手续费。

② 限额

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

避免业务部门已经申请完成了渠道,后面产品对接发现根本不能满足业务应用场景,那就后使用起来就 GG 了。

③ 到账时间

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

④ 支持银行

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

前面在商家付款中提到代付和转代付,对于微信企业付款产品区分新旧资金流。

微信现在区分新旧资金流企业付款到零钱资金根据商户号账户开通情况,实际出款账户有做区别:

默认情况下,企业付款到零钱使用商户号基本户( 或余额账户 )余额。如商户号已开通运营账户,则企业付款到零钱使用运营账户内资金。 基本户(或上述其他出款账户)资金来源,可能是交易结算款项(仅基本户),或给账户充值资金。当出款账户余额不足时,付款将因余额不足而付款失败。

3. 渠道合作模式和优惠政策

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

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

直连 直连( 入驻 ) 普通服务商 银行服务商

目前服务商模式做比较好是微信和支付宝,微信营销活动做比较好,之前智慧餐厅推广叠加活动、随机立减活动,以及最近朋友圈广告功能投放功能等等活动,无论是从商家成本还是用户体验上,都极大调动符合条件客户参与活动积极性。

各种合作模式优缺点

4. 退款处理规则

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

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

为什么在业务对接时候就需要关注上图这三点呢?

某些特定行业对于退款周期有特殊要求,比如共享单车押金、家具公司较长退货期等等,这一类允许较长周期退款行业都需要关注各个渠道退款周期。如果退款周期不满足需求,最好在入网阶段就能提出延长订单可退款周期需求,按照渠道要求提交业务说明并变更退款周期。避免到了后期渠道不好调整而导致用户与商家纠纷投诉。 关于退款是否退回手续费规则需要提前与渠道确认好,正常情况下当用户产生退款,商家是会被渠道退回支付时收取交易手续费。但少部分支付渠道存在以下几种情况:退款不退回手续费、部分退款不退回手续费、退款只退部分手续费(退动态手续费,不退固定手续费部分)

因此需要提前捋顺几个问题:

退款功能是否需要提前额外申请 退款周期是否需要延长 退款资金是否需要额外充值:待结算账户、余额充值账户 退款或者撤销是否退回原订单支付手续费

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

5. 支付渠道对接及管理

(1)资金结算方式

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

(2)获取对账单方式

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

如果通过接口下载是否需要提前走申请流程,因为我们有遇见过一些支付渠道下载对账单也需要提前走线下公司盖章申请流程,周期略长。前期若没有确认好,会都后期项目开发周期造成影响。

(3)清分时间

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

(4)区分不同交易对账单

微信新资金流,因为没有待结算和余额充值账户概念,退款都是从基本户中出去,所以退款订单都会在 ALL 类型对账单中; 微信旧资金流,区分待结算账户和充值余额账户,即使针对 ALL 类型对账单,也不包含余额充值退款对账单。

二. 支付渠道对接及管理

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

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

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

1. 渠道对接步骤和内容

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

切记不要申请错了权限,这个对于微信是比较常见问题( 服务号、订阅号、APP ) 配置并获取参数,这一个步骤建议是产品与业务部门能一起操作、确认。另外如果有线下版本协议,建议产品也可以看下,因为我们曾经遇见过一些渠道有业务处理时间限制,但是没有写在线下开发文档中,是单独列在了协议中。在获取参数时,部分渠道是一定要通过测试案例提交才能获取正式参数,此处也需要留足项目时间。 对接支付相关 API ,按照自己内部支付模块以及支付渠道对接开发文档对接开发即可。 上线结果通知:这一步列在这里原因是因为对外技术服务商在日常工作中需要留足足够时间给协同模块。 关联模块功能更新:可以完成一笔成功交易并不代表整个交易功能已经完善。比如对于交易明细展示和管理、报表展示。后期商家内部渠道参数更新、维护等配套模块也需要做更新。

① 是否需要添加出口IP

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

② 对接接口版本

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

③ 订单号长度和组合

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

④ 交易金额单位

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

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

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

⑥ 收款公司名称展示

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

⑦ 订单过期时间模式确认

绝对时间( 某个固定时间 ) 相对时间( 例如用户在支付页面密码输错了扣款失败,才开始计时 ) 二维码有效期 过期时间单位

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

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

⑨ 是否支持禁用信用卡

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

⑩ 前端带回参数信息

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

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

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

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

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

③ 是否支持原单重试

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

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

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

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

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

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

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

⑦ 是否支持退款异步通知

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

⑧ 是否区分退款资金来源

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

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

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

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

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

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

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

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

与前文相同,不做赘述。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

④ 交易成功时间字段

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

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

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

⑥ 重试机制以及恢复信息

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

⑦ 签名验证或IP 白名单

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

2. 常见对接问题和解决方案

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

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

 

本文由 @支付学院 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自 Pexels,基于 CC0 协议