大家好,我是今天的分享人Shedon,目前就职于新西兰一家POS Saas公司,高级工程师,主要负责POS支付集成开发。 今天的分享主要是对之前工作的一家新西兰本地做跨境聚合支付产品和系统的介绍,谢谢大家。

一、产品概况

具体的产品截图如下

Alipay 112 

WeChat Pay

Online

Front End

二、技术架构

系统基于SpringBoot,Spring Cloud开发,具体系统架构如图所示.

具体设计参考了群主老熊的一篇博文设计。

三、支付时序

下面对其中支付时序做个简单介绍。

3.1 微信支付

微信支付共集成了两种支付方式,微信扫描码支付和微信公众号支付。

扫描支付主要用在用户通过电脑访问电商网站;

公众号支付主要用在用户通过微信访问电商网站,开发公众号支付的一个原因是,微信不允许在微信中长按二维码支付,很早之前可以,用户通过微信访问电商网站,然后通过长按出现的二维码完成支付。

去年申请到了境外H5支付,可以实现在普通手机浏览器中唤起微信支付,当时已离职,没再继续跟进了解。

微信扫码支付集成时序如下:

微 信 支 付

微信公众号支付集成时序如下:

Front

公众号支付这里有一段逻辑是判断用户是否是微信浏览器打开,当时因为赶时间,很多都在后端java中完成,导致逻辑上有些绕。

3.2 支付宝支付

支付宝也集成两种支付方式: 境外收单-PC 和 Transaction QR Code Payment; 境外收单 -PC用于线上支付场景,Transaction QR Code Payment用于静态二维码。 境外收单 -PC支付,会将页面跳转到支付宝网站并展示二维码, Transaction QR Code Payment支付会根据提交的支付数据,返回二维码的地址,然后由平台控制二维码展示或直接发起支付宝支付。

支 付 宝 扫 码 支 付

3.3 网银支付

网银支付的流程基本与支付宝扫描流程一样,也是向支付网关提交数据后,会跳转到网关平台,完成银行卡,手机号,身份证等信息填写后,完成支付,支付完成后会前端重定向到平台,同时也会有后台回调通知。

3.4 汇率问题

Reconcile

四、对账服务设计

系统服务部署使用docker,部署在国内杭州和香港,因为大部分的用户都是在国内,所以把系统部署到了国内。

部署到国内会有个问题,有时候国内开重要会议的时候,访问就可能被干扰。

上周,又见到了一种新的集成跨境支付集成方式,由新西兰当地支付公司Smartpay提供,Smartpay与支付宝合作,将支付宝集成到了他们提供的刷卡支付终端上,在店内购物结账时,如果用户选择使用支付宝支付,则商户通过pos会将支付二维码显示在书卡终端上,用户扫描完成支付,此时用户扫描的二维码也不是支付宝的生成的二维码,而是有Smartpay生成的统一二维码,有点类似一码多付,Smartpay会根据用户的User-Agent来判断具体选择哪一个支付渠道。

以上就是我今天的一点分享,准备的不充分, 内容有点混乱,谢谢大家


Q&A

Q:你们做的叫跨境聚合网关支付,可以这样理解不?

A:对的,就是聚合网关支付

S:从技术到业务都有,厉害了…

A:新西兰这边做聚合支付的公司很多,latipay,iemoney,epayment等等

S:关于实时汇率是以哪家作为参考的呢?每天对账应该是基于实时汇率的交易流水,我是这么理解的

A:这边平台不特定展示具体的汇率信息,只有在扫描支付的时候,展示换汇后人民币时展示汇率,是那种支付方式就展示那种的实时汇率,实际支付的汇率是支付宝和微信内部转的,只有首信易是传人民币给接口,需要对它的汇率准确性要求高。

微信支付宝扣用户人民币,给这边商家结算的时候是结算外币,所以只要保证外币金额是对的就可以,如果实时汇率不准确,出现的问题就是用户投诉,扫码看到的人民币金额和实际到微信/支付宝支付的时候,金额不一致。

Q:用实时汇率那每天对账的时候是用的抓取的实时汇率时点数吗?

A:不是,对账对外币的金额,目前首信易交易不大,且没提供对账单下载,没有进行对账

Q:请问下 方便透露下 微服务中间,注册中心,网关,服务注册与发现等所使用到的中间件选型吗?我们公司在重构系统,希望有点借鉴

A:所有的微服务是基于Spring Cloud来做的,因为开发服务的时候,用的是Spring Boot

注册中心:Eureka,网关Zuul,不过我走的时候没有完全做好。

我现在的公司是全部的微服务,用的是go写的,没有使用外部的框架,全部服务go来写,然后docker部署

S:用GO写全套微服务,会和Spring Cloud 有很大的差吗?

A:没有那写组建可以使用,所有的都需要自己写,如果公司人不是很多的,个人感觉使用Spring Cloud来构建会更快一些,很多的功能都已经实现

Q:这么喜欢go啊,有spring cloud为什么不用呢

A:Spring cloud框架毕竟还是没有go的轻便,性能也不一样,go还有个好就是上手很快

A1:架构师是追求 性能极致的亲

S:从头做一个分布式架构,这公司挺牛的。还得补充一下,这公司还非常有钱

A:2年时间开发完

A1:确实 监控 限流 熔断 服务发现 动态配置 网关 权限 这些都是要花时间的 两年算不错的

A:是的

Q:国内银行,支付是不是有限额问题?

A:是有限额,同时网银支付的需要上传提供交易凭证

A1:个人外汇好像是五万的限额

A:你说外汇额度吗?5万美元

Q:对账服务是离线完成计算的吧,有用到hadoop吗

A:离线做的,支付宝微信都是第二天十点以后才能拿到对账单,交易量不大,没有用到hadoop

 


本文档来自支付产品技术交流群的聊天记录整理,由志愿者整理并发布到本网站。如需要及时收到来自支付产品技术交流群的最新消息,请扫码关注“凤凰牌老熊”的微信公众号。 本群面向支付行业的有经验(2年以上)的产品经理、软件工程师、架构师等,提供交流平台。如想加入本群,请在本文评论中留言(不公开),说明所在的公司、负责的工作、入群分享的主题和时间。