万字:境外支付收单通道接入实战指南!【内附银行国际+promptpay实战案例】

小明是一位从事国内支付行业的小伙伴,对通道可谓是太熟悉了。在日常工作中,小明总是要面对支付宝、微信支付、银网联等常见通道。
可随着公司的不断发展,国内支付业务已经出现了瓶颈。
于是领导大熊派小明去调研一下海外支付通道怎么接入,准备在广大的海外支付市场大展拳脚。
可小明调研后人有点懵,境外的各类支付方式纷繁复杂,光是常见的本地支付方式就有:电子钱包、银行卡支付、运营商支付、线下支付、网银及银行转账、先买后付等等。这么多支付方式,都该怎么接入呢?
于是小明去请教境外支付专家墨玉,墨玉微微一笑,开始了他的讲述。

一、境外支付通道总体概览
1.1 境外支付通道的总体分类
实际上通道的分类方法可以有很多种,举几个例子:
按照业务场景区分:收单、收款、换汇、结汇、发卡、代发等
按照支付方式区分:银行卡、钱包、线下支付、运营商支付等
按照来源对象区分:按照各PSP分别命名
按照接入方式区分:直连、间联
按照接入模式区分:大商户模式、机构模式
显然这里墨玉采用了业务场景区分的方式,不过只看这些介绍只能有个模糊印象。
小明:那么这些通道都有什么样的特点呢?

1.2 境外各类支付通道的特点

都说能用图表不用文字,墨玉直接掏出了一张表格,让小明自己看。

小明:我看出来了,这里面有一些共同的规律。

【收单类通道】

  • 单一通道‌:仅支持单个国家/地区的卡片支付,存在单笔/单日额度限制,需授权且结算周期较长。
  • 聚合通道‌:覆盖多国及多币种支付,交易处理能力更强,但需匹配合规审查流程。

【账户管理类通道】

  • VA(虚拟账户)‌:通过独立虚拟子账户实现收款、付款及余额查询,支持银行账户汇款或转账,资金可自动归集主账户并批量分配子账户。

【货币兑换类通道】

  • 换汇通道‌:无地区限制,支持多种货币对兑换,仅限同主体账户操作,可选择即时或延迟交割。
  • 结汇通道‌:支持主流货币兑换人民币,需申报且存在额度限制,部分场景可突破额度限制。

【资金流转类通道】

  • 发卡通道‌:面向特定地区用户发行支付卡,支持线上无卡交易,充值来源限于账户余额或同名银行转账。
  • 代发通道‌:支持约定地区/币种的代付服务,通过汇款或转账实现充提,T+1完成结算且额度较高。

小明:现在特点我知道了,但是对接境外通道对接和境内有什么区别呢?
墨玉:不语,又掏出了一张图。

1.3通道对接流程概述
小明:从流程上看,境外本地支付通道的对接与国内通道对接似乎没有什么不同。
墨玉:真正的魔鬼都在细节里,实际上境外通道对接复杂的部分其实是在接洽谈判和技术对接上面。这主要是因为:
国内外的工作时间(时区不同找不到人
语言(咖喱味的英文听得让人想死
法律法规(一不小心就会踩雷
技术规范(有些规范抄都不会抄无力吐槽
诸如此类的差异,导致对接过程中充满了诸多困难。
要克服这些困难你需要:
1个给力的渠道BD(帮你搞定对接中的卡点
1个熟悉境外渠道的产品经理(轻松理清各种奇葩渠道的隐藏问题
1个熟悉各国法规的法务合规同事(帮你提前避雷各类法律问题
1帮吃苦耐劳的开发伙伴(顶着时差联调测试应付通道的奇葩技术要求

小明:现在我已经知道大概了,可那些规范文档太复杂,看不懂怎么办!
墨玉:来上案例,先来一个线下POS场景的接口规范(默默掏出一厚本书)。

二、境外支付通道典型对接案例全解析
2.1 银联国际卡收单通道对接(线下POS场景)
2.1.1接口规范概览

【接口文档】中国银联银行卡联网联合技术规范V2.1(跨境卷)

【应用范围】用于银联卡的跨境线下支付场景(POS场景)

【文档结构】1.交易处理说明(联机交易的处理流程)

2.报文接口规范报文接口+交易报文的结构、报文格式以及报文域说明)

3.文件接口规范(文件交互流程、文件内容说明、文件格式说明)

4.数据安全传输规范数据传输安全要求、密钥管理方法和加密方法

5.通信接口规范通信链路的选择、接入方式选择、接入设备的要求和通信协议的规定

6.附录标准代码、交易种类、交易信息关联、清分对账、标准版本转换


2.1.2 交易类型一览

【交易类型分类】:可分为请求类、通知类

又从是否需要卡组织转接又可以分为需要转接和不需要转接两种。

【请求类交易定义】请求类交易从交易的请求方(如:受理方)发送至接收方(如:发卡方),接收方收到后直接给予交易批准或拒绝的应答

【通知类交易定义】发送方将已采取动作通知接收方的交易,只要求响应不要求批准。通知类交易可由受理方、发卡方、CUPS发出。

【说明】

1.预授权+预授权完成是单信息模式,授权+结算文件则用于双信息模式。

2.MOTO交易是指通过电话、信件、邮件等非面对面形势委托商户发起的交易。

3.结算通知是双信息转单信息时,CUPS将双信息请求转发给单信息发卡方的,对已批准的预授权的资金结算通知。双信息模式下入网的机构没有对账通知和结算通知。


2.1.3 交易流程一览

【请求类交易流程】:需要转接则先依次传递信息,而后再反向依次应答不需要转接则直接应答成功或失败或处理中。

【通知类交易流程】:需要转接则先应答,再转接传递消息。不需要转接则直接应答收到即可。

【批量类交易流程】:发送批量文件至银联,银联检查并返回检查结果,无误后发联机报文给发卡行,发卡行应答结果后以应答文件形式返回给受理方。

2.1.4 联机报文结构
                                  联机报文4部分示意图

【定义规范】:ISO 8583定义+其它域由CUPS自定义

【报文组成】4部分,分别是报文头、报文类型标识符、位图、报文域

part01【报文头】:主要记录报文的长度、路由、批次号等。

part02【类型标识符】定义了报文一般性分类,比如是金融类报文还是管理类报文

part03【位图】位图定义了哪些报文域会出现在报文中。位图一定义域2到域64,位图二定义域66到域128

pat04【报文域】:由2-128域组成,每个域可以视为一个字段,代表独特的含义。

下面我们4部分一个个详细说说:

part01【报文头】

报文头:报文头一共46个字节,所有域都是必填。

备注1个字节(byte=8bit=8个二进制数字。

part02【类型标识符】

也就是说当你发起一笔预授权类、消费类交易,报文的类型标识符就是01XX,如果是退货(联机)那类型标识符就是02XX 。以此类推来区分这笔报文的交易类型。

part03【位图】

主位图:主位图由8字节构成,一共64个二进制数字,除了第一位(第一位用来说明有没有位图2其他每一位和2-64域相对应,即和域2到域64相对应0表示该域不出现在报文中,1表示在报文中出现。

位图二和主位图相同,位图二也由64个二进制位(八字节)构成。可以认为位图二是主位图的扩展,和域66128相对应。报文域65不存在。

part04【报文域】

一共有128个域,每个域你可以理解为一个报文里的字段,每个域有不同的含义,以上图里是比较重要的域含义解析。

知道了含义,后面对接就好办了。


2.1.5 文件交互传输流程

CUPS与入网机构之间的文件传输

文件存取方式:流传输方式、SFTP方式。

文件加密算法DES算法,密钥长度8字节。

传输连接方式采用短连接的方式。也就是双方建立一条全双工的连接,连接建立后,双方在同一条连接上收发请求和应答。当文件传送完成后,双方关闭连接。


2.1.6 文件的种类和命名规则

IFDYYMMDD??ICOM/ICOMB,面对一个这样的文件名,你是不是很懵逼?

这是个啥,这个文件是干啥的?如何去解读?有这一张图你就明白了。

跟银联有关的交互文件常用的有以下这些(以下CUPS指银联):

文件名称

说明

IFDYYMMDD??ICOM/ICOMB

机构作为发卡方/二级发卡方的一般交易清算明细

IFDYYMMDD??ACOM

机构作为受理方的一般交易清算明细

IFDYYMMDD??IERR/IERRB

机构作为发卡方/二级发卡方的差错清算明细

IFDYYMMDD??AERR

机构作为受理方的差错清算明细

IFDYYMMDD??ALER

基于PBOC借贷记标准的脱机消费差错交易受理方流水格式

IFDYYMMDD??ILER

基于PBOC借贷记标准的脱机消费差错交易发卡方流水格式

IFDYYMMDD??FCPB

机构(二级机构)的收/付费明细,不区分受理和发卡

IFDYYMMDD??FCP

不区分受理和发卡

IFDYYMMDD??ALFEE

机构作为受理方的品牌费明细

IFDYYMMDD??ILFEE/ILFEEB

机构作为发卡方/二级发卡方的品牌费明细

IFDYYMMDD??ISTI

机构作为发卡方的即时代授权交易明细

IFDYYMMDD??ISTIFEE

机构作为发卡方的代授权费用文件

IFDYYMMDD??ALOD

机构作为受理方的电子现金的圈存类交易明细

IFDYYMMDD??ILOD

机构作为发卡方的电子现金的圈存类交易明细

IFDYYMMDD01ACOMPOS

机构作为直联收单方的一般交易明细


文件名称

说明

OFCYYMMDD5?C

受理机构传送到CUPS的银联卡跨境业务交易清算文件

IFCYYMMDD5?R

CUPS传送到受理机构的银联卡跨境业务交易拒绝文件

IFCYYMMDD51C

CUPS传送到受理方的成功清算的银联卡跨境业务交易文件

IFCYYMMDD51S

CUPS传送到受理机构的银联卡跨境业务交易统计文件

IFCYYMMDD99C

CUPS传送到发卡方的成功清算的银联卡跨境业务交易文件

IFCYYMMDD99S

CUPS传送到发卡方的银联卡跨境业务交易统计文件

IFCYYMMDD99CB

CUPS传送到二级发卡方的成功清算的银联卡跨境业务交易文件

IFCYYMMDD99SB

CUPS传送到二级发卡方的银联卡跨境业务交易统计文件


2.1.7 文件的格式解析
知道了文件名称规则还不够,我们还得会解读文件的内容。
银联的文件分为一般的交易流水文件和非流水文件(比如各类结算文件):
                          一般交易流水文件格式解析
                                  非流水文件格式解析
2.1.8 常见的几种密钥解析
了解了文件以后,联机交易时与银联交互还需要交换各种密钥,这就需要了解下密钥的大概情况:

与银联交互,常见的有以下几种秘钥:

PIN:个人银行卡的密码。

PIK:  PIN key用于加密PIN的密钥。

MAC(message authentication code): 报文鉴别码,是消息来源正确性鉴别的数据

MMK(member master key):指在银行卡安全体系中,分配给成员机构的密钥加密密钥,用于加密下一层密钥受主密钥(MK)加密保护。

MAK:即MAC key用于生成交易报文合法性验证数据(MAC)的密钥

工作密钥指加密PIN和计算MAC的密钥,包括MAC密钥(MAK)和PIN密钥(PIK

HSMhardware and security module硬件加密机,对传输的数据进行加密的外围硬件设备,用于PIN的加密和解密、验证报文和文件来源的正确性以及存储密钥。


2.1.9 密钥的加解密流程

加密流程细说的话非常复杂,我们挑一个PIN的加解密过程让大家体会下一个秘钥是如何流转的:

上图中终端机具、受理方、CUPS(银联) 以及发卡方之间的加密解密信息为:

1 :终端机具输出PIN的密文

2:受理方用与终端机具约定的密钥解密,

3 :受理方用与CUPS约定的密钥加密

4 :受理方输出PIN的密文

5 :CUPS与受理方约定的密钥解密

6 :CUPS用与发卡方约定的密钥加密

7 :CUPS输出

8 :发卡方用CUPS约定的密钥解密

9 :发卡方用与发卡行约定的密钥加密。

10:发卡方输出PIN的密文


小明:线下我大概知道卡渠道怎么接入了,再讲讲电子钱包呗,这两种用的最多了。
墨玉:来,上第二个案例(接着又从兜里掏出一本接口规范)。
2.2 泰国本地电子钱包通道对接(扫码场景)

2.2.1 概况介绍

【背景介绍】PromptPay是泰国政府积极推动的数字钱包支付系统,于20171月正式推出 PromptPay支持大多数的泰国银行。本次接入的PromptPay的通道方是泰国最大的银行之一,其为PromptPay背后的核心成员之一,相当于直连钱包终端。

【市场分析】截至20217月,PromptPay的注册用户已达6220万,覆盖了泰国89%的民众(泰国总人口约7000万人)。泰国客户平均每个月使用PromptPay进行近8亿笔交易。


2.2.2 PromptPay支付流程介绍

1.泰国用户在购物时选择PromptPay为支付方式。

2.商户调用我方,我方自行按照通道给的规则生成收款二维码,并传输给商户展示。

3.泰国用户用手机银行APP扫码识别并完成支付。

4.通道发支付确认,我方确认交易(有这一步是因为码是我方生的,所以通道来要确认下是否是我方发起的交易)

5.通道发送异步支付结果通知,我方异步通知商户支付结果

6.如果未收到通知,则通过查询接口向通道查询。

2.2.3 接口总览
【主要接口】

生成QR、订单确认接口、支付结果通知接口、订单查询接口

注:常见的接口其实还有下单接口、退款接口、对账单获取接口等。

本案例中我方无需下单(因为二维码可以自己根据通道给的规则生成)、并且通道不支持退款,对账单只能通过web端后台手工下载获取,故以上接口未列出。


2.2.4 生成QR

生成QR是根据通道提供的规则,由我方自己生成。

生成QR所需要的字段如下:

可以看出生成一个QR码必不可少的字段有:码的分类(动态码/静态码)、商户信息(包括商户编号、商户城市、商户名等)、通道侧入网信息(包括在通道的唯一编号)、订单信息(如订单金额、订单币种、订单号等)
最后就会生成一串字符串,像这样:
然后转换成二维码即可。

2.2.5 订单确认接口
订单确认接口主要起的作用就是让我方和通道有一个相互确认的过程,通道请求我方确认,我方只要回复应答码是000,就代表这订单我们认了,就这么简单。
2.2.6 异步通知接口
异步通知接口的主要作用,就是通道用来主动通知我方支付结果,我方回复收到就可以(在这里就是应答000)。
那么一个完成的支付结果至少要包括:交易日期和时间、交易的终端类型(是ATM机还是网银或者手机银行)、交易的金额、订单编号(用于定位唯一一笔订单)。
那么如果出现了异常情况,我方没有收到通道的异步通知怎么办呢?那么需要查询接口来帮忙。
2.2.7 查询接口
查询接口的主要区别在于,请求是由我方主动发起,由通道给与结果应答。这样的好处在于我方可以定期主动发起查询,而不需要被动依赖通道的通知结果。
有些通道还会将查询分为正向交易查询和退款查询,原理都是一样的。

小明:现在我好像基本知道通道对接分析是怎么回事了,但是我接了这么多通道以后怎么去管理他们呢?
只见墨玉又从口袋里掏出了另一张图....

三、境外支付通道管理系统
3.1通道管理系统整体产品架构
小明:这图我懂,所有通道的接入最后其实还是为了服务各类业务场景,为了服务这些业务场景所以需要接入各种API进行统一管理调配。至于底层能力,就是为了更好的应用这些API通道管理系统必须要搭建的一整套基础功能。
墨玉:呦小伙子,回答的不错,都学会抢答了。
小明:道理我都懂,可以这么多通道我怎么分类管理呢?

3.2 通道的分类管理
墨玉通道的分类方法各不相同,一般按照通道的业务用途区分的较多,也可以按照通道属性区分。
举例来说收单通道可以按照下面的方法区分:

1.支付方式类别(指支付方式的本身属性)

例如银行卡支付、电子钱包支付、运营商支付、线下支付、网银转账、银行转账、预付卡支付等等。

2.所属渠道(指支付方式从哪个PSP接入的)

如果是转接的一般名称为聚合网关名称(如adyenstripedelocal等等,如果是直连通道则名称一般是支付方式本身(例如VISATruemoney等等)。需要注意的是,不同的渠道可以接入同一个支付方式,构成主备通道。

3. 支付方式名称一般是支付方式本身的名称)

4. 通道状态(即通道是否处于上线状态)

5. 通道优先级(用来区分同一支付方式多条通道都是上线状态时,谁的路由优先级更高)

6.支持的国家地区(该要素一般在发起支付时决定是否调用该通道)

有了这些分类方法,再结合业务场景,就可以建立起一套通道管理系统啦

小明:这些分类方法我也会,可是通道多了以后,路由管理是个问题,怎么才能制定出一套合理的通道路由体系呢?

3.3 通道的路由逻辑体系
墨玉:所谓路由就是给所有通道的挑选建立一套规则。我们可以大致将规则分为3类:基本属性类、渠道状态类、特殊策略类。这三层的关系是自下而上逐步去判断的关系。
基本属性会将渠道进行分类,保证在一笔支付交易来的时候,我们不会能够在支持该笔交易支付方式的通道里去挑选。
举个例子,如果用户使用支付宝支付,我们调起了一条微信支付通道,那不就闹笑话了吗。所以基本属性的筛选确保了我们选出的通道能够完成这一次支付。
小明:那渠道状态筛选是为了什么?
墨玉:渠道状态主要是指渠道的开闭、负载情况、是否成功率过低等实时状态情况,如果一条通道已经有大量失败发生,或者延迟过高,那么再将新的交易推送到该通道的风险就很大,所以需要这些要素帮我们了解通道的状态,以求实时去调整该通道的优先级。
小明:那如果有多条通道既符合基本要求,渠道状态也不错,我们该如何确定优先级呢?
墨玉:那就要看我们自己的内部策略如何决定,一般来说常见的策略有黑白名单类(比如某商户不能用或者一定要用某通道)、成本类(一般成本低的优先级高)和特殊分流类(由于商业关系或其他原因必须保持一定的流量给于)。
小明:哦,现在我明白了,回去我就可以大干一场了。

观众朋友们,你们学废了吗,欢迎留言讨论。

喜欢()
热门搜索
317 文章
16 评论
58 喜欢
Top