Ping++和BeeCloud的比较
2016-09-14 本文已影响3061人
eriolchan
第三方支付集成服务
随着越来越多的移动应用需要集成支付功能,相比于直接与每个支付渠道对接,一些公司提供了第三方支付集成服务,以统一的接口帮助开发者快速地集成多种不同的支付方式,并提供了稳定可靠的云服务和数据管理平台。这里将对其中两个主流的产品进行比较分析。
优势
- 帮助商户更快地成功申请支付渠道。一般初创公司没有对接支付的经验,申请商户号和相关的参数是个极其麻烦的事情,耗费大量的时间。通过第三方支付集成服务商,他们更有经验,更容易申请到。
- 帮助开发者快速接入多种不同的主流支付方式。通过聚合支付接口,隐藏了不同支付方式的接口差异,提供给开发者统一的接口和良好的错误信息。
- 提供聚合的对账查询的管理平台,通过一个平台,查看所有不同支付渠道的数据。
风险
- 信息泄露
- 支付渠道参数泄露。黑客可能会利用渠道的代扣接口进行恶意代扣或者博彩、洗钱等非法服务,最终导致商家被风控系统监测,被加入黑名单。出现信息泄露问题后,由于商家和第三方支付集成公司都持有支付参数信息,责任边界及损失承担方无法确认。
- 交易数据泄露。比如,将交易数据泄露给竞争对手。
- 客户数据泄露。
- 跟不上商户业务的发展需求。
- 直接对接支付渠道可以及时得到接口更新的信息(例如安全漏洞),但如果依赖于支付集成服务商,会有很多不可控的因素。
- 商户的业务需求在支付模式上的创新,会依赖于支付集成服务提供商的开发周期,甚至可能无法被满足。
- 支付系统的稳定性和安全性。使用支付集成服务商可能会产生单点故障。第三方支付在防攻击、防钓鱼、容灾能力、信息安全等方面的能力一般来说是强于集成服务提供商的。
- 资金安全风险。
Ping++ vs. BeeCloud
Ping++ | BeeCloud | |
---|---|---|
服务功能 | 支付系统 支付渠道申请(15天内) 管理平台 |
支付系统 支付渠道申请 管理平台 |
支付渠道 | 支付宝 微信 银联 Visa/MasterCardMasterCard |
支付宝 微信 银联 Visa/MasterCardMasterCard PayPal |
支付方式 | 手机app(iOS/Android/H5) PC 网页 QR 扫码 |
手机app(iOS/Android/H5) PC 网页 QR 扫码 |
支付场景 | 支付 查询 退款 红包 企业付款 账户系统(余额、优惠券) 分期支付 |
支付 查询 退款 红包 企业付款 订阅支付(定时自动扣款) 秒支付button |
接入开发 | SDK(Client & Server) 提供Test 和Live 模式 https://github.com/PingPlusPlus |
SDK 提供Live 和Sandbox模式 https://github.com/beecloud |
集成Ping++
- 分别下载服务端SDK 和客户端SDK。
- 安装部署服务端SDK,使用服务端SDK 请求交易对象。
- 安装部署客户端SDK,并请求你的服务端拿到交易对象,调用客户端SDK 完成支付(此步骤仅限支付交易)。
- 配置服务端Webhooks,接收交易结果的事件通知。
- 根据具体场景,在指定时间没有获取Webhooks 通知的前提下,通过查询接口获取交易结果。
注意:以上步骤适用于Test 和Live 两种模式。
BeeCloud 移动端支付流程- App 端发送订单信息。做完这一步之后就会跳到相应的支付页面(如微信app 中),让用户继续后续的支付步骤。
- App 端处理同步回调结果。付款完成或取消之后,会回到客户app 中,在页面中展示支付结果(比如弹出框告诉用户“支付成功”或“支付失败”)。同步回调结果只作为界面展示的依据,不能作为订单的最终支付结果,最终支付结果应以异步回调为准。
- 客户服务端处理异步回调结果(Webhook)。付款完成之后,根据客户在BeeCloud 后台的设置,BeeCloud 会向客户服务端发送一个Webhook 请求,里面包括了数字签名,订单号,订单金额等一系列信息。客户需要在服务端依据规则要验证数字签名是否正确,购买的产品与订单金额是否匹配,这两个验证缺一不可。验证结束后即可开始走支付完成后的逻辑。
- 网页服务器端发送订单信息。
- 收到BeeCloud 返回的渠道支付地址(比如支付宝的收银台)
- 微信扫码返回的内容不是和支付宝一样的一个有二维码的页面,而是直接给出了微信的二维码的内容,需要用户自己将微信二维码输出成二维码的图片展示出来。
- 将支付地址展示给用户进行支付。
- 用户支付完成后通过一开始发送的订单信息中的return_url 来返回商户页面。
- 微信没有自己的页面,二维码展示在商户自己的页面上,所以没有return_url 的概念,需要商户自行使用一些方法去完成这个支付完成后的跳转(比如后台轮询查支付结果)
- 此时商户的网页需要做相应界面展示的更新(比如告诉用户“支付成功”或“支付失败”)。不允许使用同步回调的结果来作为最终的支付结果,因为同步回调有极大的可能性出现丢失的情况(即用户支付完没有执行return_url,直接关掉了网站等等),最终支付结果应以下面的异步回调为准。
- 商户后端服务端处理异步回调结果(Webhook)。付款完成之后,根据客户在BeeCloud 后台的设置,BeeCloud 会向客户服务端发送一个Webhook 请求,里面包括了数字签名,订单号,订单金额等一系列信息。客户需要在服务端依据规则要验证数字签名是否正确,购买的产品与订单金额是否匹配,这两个验证缺一不可。验证结束后即可开始走支付完成后的逻辑。
参考
使用第三方支付集成有何风险 - 梁川的回答
Ping++, BeeCloud 这类集合支付服务产品的商业模式盈利模式是什么 - 陈龙的回答