Visa 虚拟信用卡生成器:从 0 到 1 搭建外币虚拟信用卡

最近,我在从事外币虚拟信用卡项目,项目即将上线。借此机会,对整个项目进行总结,希望能与大家分享经验,促进交流。

一、项目准备

1. 选择卡片类型

在项目初期,我们需要明确卡片的使用场景,是面向特定行业的商户,还是覆盖尽可能多的海外商户。这将决定我们选择预付卡、借记卡还是信用卡。通常,海外商户对信用卡的支持最广泛,其次是借记卡,最后是预付卡。由于我的项目面向 B 端,主要用于跨境出口电商和海外线上消费,需要更广的商户覆盖度,因此选择了企业借记卡。

2. 选择发卡通道

确定使用场景后,我们需要选择卡组织。通常选择 Visa 或 Mastercard。实力雄厚的公司可以直接与 Visa、Mastercard 对接发卡,而更多企业则通过对接发卡通道完成发卡。我的项目对接了一家非银行的发卡机构。

3. 选择持卡人账户模型

根据我的了解,发卡通道通常提供两种持卡人账户模型:鉴权模式和懒人模式。两种模式下,通道都会提供一个资金池账户。鉴权模式的工作原理是:交易发生时,发卡通道会询问是否继续完成交易,如果确认继续,则实时扣除资金池账户中的交易金额。而懒人模式则会记录持卡人卡内余额,交易直接从卡内余额扣除,交易完成前,我们对交易一无所知。

鉴权模式需要我们建立并维护一套交易系统和账务系统,以及时响应交易状态,持卡人看到的余额也需要我们自行维护。懒人模式下,我们只需要在用户充值时将金额从资金池账户转入持卡人账户(实时充值成功)。

鉴权模式更为灵活,可扩展性更强。例如,如果我们想进行营销活动,向部分持卡人提供小额授信,懒人模式需要先将授信总额作为营销成本转入资金池账户,再充值到用户账户,资金压力较大。我的两个虚拟卡项目分别对接了不同的发卡通道,使用的账户模型也不同。最终,我选择了懒人模式。

二、项目建设

1. 查看卡片详情

包括卡片余额、完整卡号、CVV、有效期、交易明细等。这些信息可以直接从发卡通道的接口中获取。由于大多数发卡通道是海外公司,接口响应时间较长,我们可以采取缓存策略。例如,我的项目中采用了主动和被动更新缓存的机制。当用户账户有充值到账时,接收到 webhook 触发被动更新缓存,同时每隔几分钟主动更新一次缓存,以提升用户体验。

2. 卡片充值

由于我的项目是外币卡项目,充值必须以外币资产进行。最初的充值方案是用户将外币资产转账到公司海外母公司的对公账户,再手工转账到资金池账户,最后通过发卡通道接口充值到用户卡账户。这一方案成本高且手工流程多,因此在上线前,我找到了更合理的充值方案。

3. 卡内余额转出

在开发过程中,突然得知发卡通道不支持卡内余额转出,这让我措手不及。因此,这部分功能暂时搁置。

4. 虚拟信用卡申请

根据发卡通道的要求,结合业务需求设计卡申请流程即可。

5. 充值方案优化

在开发卡申请功能时,我找到了一套更合理的充值方案:对接一款收款产品,用户转账后,通过接口将款项转入资金池账户。收款产品和转账功能的结合,降低了运营成本,提高了资金操作效率。收款产品不需要发起收款请求,而是直接将收款账户呈现给用户,并为每个 B 端用户提供唯一的数字码以区分资金来源。

在此基础上,我们引入了用户钱包账户的概念。用户账户的余额来自所有转账到收款账户的金额,用户可以选择将特定金额充值到卡账户。资金流由收款账户转入资金池账户,由于走 SWIFT 转账,时间较长。为了提升用户体验,我们在资金池账户中存放备付金,先垫付用户充值,后批次将收款账户余额转入资金池账户。转账策略为固定频率与组包相结合,每天检查是否需要转出,达到阈值则自动转账。

6. 钱包账户

引入钱包账户后,我们提供钱包余额、钱包交易明细查询等功能。这些信息单独维护,因此不会出现接口响应慢的问题。

7. 对账

主要包括资金池账户和持卡人交易的对账。资金池账户的对账通过将收款账户转出交易与资金池账户转入交易匹配完成。持卡人交易对账在懒人模式下暂未实施,但如果使用鉴权模式,交易对账是必不可少的。

三、项目后续

虚拟信用卡的一期搭建工作已基本完成。后续计划实现以下功能,以更好地服务客户:

1. 收款账户优化

为每个 B 端客户提供独立的海外当地收款账户,用于接收电商平台(如 Amazon 店铺)和收单渠道(如 PayPal)的款项。收款账户接收到款项后,相应金额将增加用户的钱包账户余额。

2. 换汇

提供用户钱包账户资产换汇功能。

3. 钱包账户转出

由于卡账户余额无法转出,我们计划通过钱包账户实现资产转出功能,以避免用户因收款账户款项只能充值到卡账户而产生抵触情绪。

👉 WildCard | 一分钟注册,轻松订阅海外线上服务

上一篇 2025年4月5日
下一篇 2025年4月5日

相关推荐