先决条件: 一个携带
CREATE_SHARE_LINK 范围的 Bearer 访问令牌,以及已启用发送卡片功能的账户(send_virtual_cards_enabled 活动标记)。不支持基本认证(Basic auth)。联系你的销售代表开通访问权限。参见 Authentication。“托管”/“开放式”是什么意思。 托管 链接指向由 Fluz 托管的激活页面。开放式 表示生成的虚拟卡是网络卡(Visa/Mastercard 风格),可在许多商户处使用,但须遵循你的项目规则——而不是单品牌的封闭式礼品卡。
工作原理
1
你生成链接
使用
generateVCShareLinks 指定优惠、卡片限额、数量、资金来源以及投递方式。每个链接代表一张卡片,拥有自身限额,并从你指定的消费账户扣款。2
Fluz 为每个链接创建分享请求
每个链接对应一个分享请求(
PENDING)和一个托管 URL。3
链接被投递
选择
GENERATE_URL 时,你将获得返回的 URL 并自行分发。选择 EMAIL 或 PHONE_NUMBER 时,Fluz 会代你向每位收件人发送一个链接。4
收件人激活并领取卡片
收件人打开链接,用一次性验证码验证手机号并设置卡片 PIN——无需下载应用、无需密码。卡片限额会在领取时而非生成链接时从你的消费账户占用。随后他们可查看卡片详情、在线消费,并一键将卡添加至 Apple Pay 或 Google Pay。
可用性与范围
卡片分享链接的对象类型为
VIRTUAL_CARD,卡片类型为 SINGLE_LOAD。
操作参考
共有三个公开操作,均受CREATE_SHARE_LINK 范围控制:
所有发送卡片操作均通过 Fluz GraphQL API 调用:
POST https://<your-fluz-api-host>/api/v1/graphql,并携带 Authorization: Bearer <access_token> 头。令牌必须包含 CREATE_SHARE_LINK 范围,且你的账户必须已启用发送卡片功能——否则,每个操作都会返回 “Missing permissions! Please contact your sales rep to get access to generate VC share links.”。
generateVCShareLinks
创建quantity 个分享请求,并为每个请求返回一个托管链接。
输入字段
资金来源。 目前唯一支持的资金来源是消费账户(
userCashBalanceId),且必须属于你(发送方)的账户。其他资金来源(银行账户、银行卡、预付/奖励余额)尚未开放。投递方式(shareMethod)
校验规则
cardLimit必须为整数且不小于项目最低限额。offerId必须是一个有效的 UUID v4,且对应激活中的优惠,其商户可分享。quantity必须为整数。- 当通过
EMAIL或PHONE_NUMBER投递时,对应的收件人列表长度必须等于quantity。不匹配将返回明确错误,且不会创建任何记录。 - 只能提供一个资金来源。
userCashBalanceId必须为发送方账户拥有的有效 UUID v4。 - 无效的卡片类型或格式错误的输入将返回明确错误,且不会创建记录。
示例
响应
shareLinks 是一个托管 URL 数组,与 quantity 一一对应,格式为 https://fluz.app/virtual-prepaid-card/{share_request_id}。
getVCShareLinks
列出先前生成的分享链接,以便查看状态、收件人、到期时间以及已发放的卡片。输入字段
响应字段(GeneratedShareLink)
示例
deactivateVCShareLinks
停用(使失效)你生成的链接——例如某个批次误发,或你需要撤销未被领取的链接。停用后,链接状态将被设为EXPIRED;未领取的链接将无法再被领取。
输入字段
从
getVCShareLinks 获取批次 ID。
"3 share requests successfully deactivated!"。
收件人体验
当收件人打开一个托管链接(https://fluz.app/virtual-prepaid-card/{share_request_id})时:
1
进入页面并登录
收件人将看到带有发送方品牌的激活页面。他们通过 Fluz 身份门户登录(新用户在此完成注册)。
2
双因素认证
首次加载时,现有用户会进入 2FA 页面。完成 2FA 后才能查看或领取卡片。
3
账单地址(如需)
若收件人档案中没有账单地址,将提示其添加。在线消费需要账单地址。
4
设置 PIN(若尚未发放)
在卡片发放前,收件人需要设置 PIN。
5
卡片发放与领取
系统会创建一张一次性加载的虚拟卡并分配给收件人,资金来自发送方账户,锁定日期等于链接的到期日期。
6
使用卡片
一旦领取,收件人即可查看卡片详情、交易记录,并(在支持的情况下)将卡片添加至移动钱包。
已被领取? 如果同一用户再次打开他们已领取的链接,将看到其卡片详情。若_不同_用户打开已被他人领取的链接,则在完成 2FA 后会看到拒绝访问的页面。
到期与冻结
链接的到期日期具有双重作用:- 链接到期——在此日期之后,未被领取的链接将无法再被领取。
- 卡片冻结/锁定日期——对于已发放的卡片,这是其锁定日期(当天结束)。届时卡片将被冻结,无法消费。
- 卡片过期 与冻结日期所在月份的月末对齐(例如,冻结日期为 2026/6/15,则卡片过期为 2026/6/30)。
daysUntilExpiration 设置该窗口。若省略,则使用项目默认(30 天)。此日期会展示给收件人(通常作为“有效期至”日期)。
需要告知收件人的项目规则
以下为托管(开放式)虚拟卡的项目级规则。请与你的 Fluz 代表确认你的项目的具体取值——其中若干项由合作方协商确定。
收件人客服支持: 1-888-360-6660 · humans@fluz.app
完整的合作方参考资料(术语、带截图的收件人流程、资金说明、受限类别、支持信息)详见 合作方指南 — 托管 URL 虚拟卡。向你的 Fluz 联系人索取适用于你项目的最新版本。
状态与错误参考
分享对象状态
面向收件人的链接错误
常见 API 错误
备注与限制
- 返回的 URL 为托管目标地址,而非短链接。 内部也会使用短链接服务包装,但 API 返回的是规范的托管 URL(
/virtual-prepaid-card/{share_request_id})。请按原样分发该 URL。 - 即使架构标记为可选,
userCashBalanceId在实际中是必填的。 - 隐藏/内部字段不属于本 API。 对象类型与卡片类型固定为(
VIRTUAL_CARD/SINGLE_LOAD),其他资金来源字段尚未启用;请勿传递。 - 不支持礼品卡托管链接。 本 API 仅适用于虚拟卡。
后续步骤
生成分享链接
专注于
generateVCShareLinks 的精要参考,如果你只需要这个。创建批量订单
一次性发放多张卡,用于程序化分发。