跨境电商结算系统之提现打款方案

引言

众所周知,在国内开展支付清算业务需要牌照,除了几家头部大厂以外,其他做出海跨境平台的几乎都没有清算资质。所以如何把资金合法合规的打给平台商户,是出海平台必须要解决的头等问题。

因为涉及到外汇,一般的支付平台不支持,支付宝微信这些支持外币的大支付平台,因为跟电商平台存在直接竞争关系,也不方便合作,所以业内出现了与银行合作,由银行担任清算机构的模式,NRA模式就是其中一种。

NAR账户

NRA开户示意图。

所谓NRA,即境内非居民账户(Non-Resident Account,简称NRA账户),经人民银行当地分支机构核准,境外企业可申请在境内银行开立非居民银行人民币结算账户,直接通过境内银行清算系统或人民银行跨行支付系统进行人民币资金的跨境清算和结算。

这一清算模式的主要特点是,境外客户跨境在境内银行开立人民币账户,而整个银行间清算链条完全处于境内,清算环节少,手续简便,如境内客户与境外客户在同一家境内结算银行开户,则在该行系统内转账即可完成清算。

以美元结算举例,平台需要在清算行开立1个NRA美元账户,协助卖家在清算行开立1个NRA美元子户和1个NRA人民币子户和1个外部账户。其中美元子户为卖家收入账户,由清算结构根据交易进行清算分账,得出卖方收入后打入此账户,该业务须有持牌机构开展,否则有违规二清风险。人民币子户为卖家结汇账户,外部账户绑定卖家银行卡,用来实际接收提现资金。

提现

卖家在平台发起提现以后,平台会生成提现单,并以此驱动资金流动,主要过程描述如下:

  1. 发起提现:创建提现单。
  2. 人工/系统审核提现单:审核通过->待打款,不通过自动取消提现单。
  3. 人工/系统发起提现打款:通过合作的清算行执行打款指令
  4. 打款成功后,系统自动核销对应账单。

提现单状态机

打款指令处理时序如下:

清算机构会根据卖家「实际发生的交易」来计算卖家(个人或公司)的外汇额度,并根据提现金额来进行清分结汇,美元结汇到NRA人民币子账户以后,就可以向卖家绑定的银行卡进行实际的金额打款。结汇成功以后,清算机构会勾销卖家的交易订单,扣减外汇额度。

常见疑问

为什么把清分结汇放到提现环节?

提现前可能有会频繁发生逆向扣款,如果提前做了结汇,涉及到银行系统的资金冲正,提高了系统风险。

与结算时清分结汇有何差异?

结算时清分结汇会进行提前锁汇,降低汇率波动带来的资金风险。提现时刻由于跟结算时刻可能有一定的时差,当汇率波动时,卖家实际到手的人民币金额会与预期收入有一定差异。在这一点上,平台方由于始终是单一美元币种,不受汇率波动影响,卖家可以通过及时提现来降低汇率差带来的损耗。

为什么卖家实际到手的金额跟结汇金额不一样?

每家清算行的策略都不一样,有的清算行结汇时做了锁汇,打款时金额就跟结汇时刻一样,部分银行在结汇时没有真正锁汇,在打款时候如果汇率变动,就会出现金额不一致的情况。

相关推荐
Code侠客行几秒前
Scala语言的编程范式
开发语言·后端·golang
moton20171 小时前
云原生:构建现代化应用的基石
后端·docker·微服务·云原生·容器·架构·kubernetes
何中应2 小时前
Spring Boot中选择性加载Bean的几种方式
java·spring boot·后端
你板子冒烟了2 小时前
JJJ:arm64架构下的asid相关
架构
web2u3 小时前
MySQL 中如何进行 SQL 调优?
java·数据库·后端·sql·mysql·缓存
michael.csdn3 小时前
Spring Boot & MyBatis Plus 版本兼容问题(记录)
spring boot·后端·mybatis plus
Ciderw3 小时前
Golang并发机制及CSP并发模型
开发语言·c++·后端·面试·golang·并发·共享内存
小肚肚肚肚肚哦3 小时前
函数式编程中各种封装的对比以及封装思路解析
前端·设计模式·架构
Мартин.3 小时前
[Meachines] [Easy] Help HelpDeskZ-SQLI+NODE.JS-GraphQL未授权访问+Kernel<4.4.0权限提升
后端·node.js·graphql
程序员牛肉3 小时前
不是哥们?你也没说使用intern方法把字符串对象添加到字符串常量池中还有这么大的坑啊
后端