先决条件: 一个携带
CREATE_SHARE_LINK 范围的 Bearer 访问令牌。Basic auth 会被拒绝。联系你的销售代表以启用访问。参见 Authentication。什么是“托管”/“open-loop”。 托管 链接指向由 Fluz 托管的激活页面。Open-loop 表示生成的虚拟卡是网络卡(Visa/Mastercard 风格),可在许多商户处使用,但需遵循你项目的规则——而不是单品牌的封闭式礼品卡。
工作原理
1
你生成链接
使用
generateVCShareLinks 调用并传入优惠、卡片限额、数量、资金来源以及投递方式。每个链接代表一张卡及其独立限额,资金来自你指定的消费账户。2
Fluz 为每个链接创建一个分享请求
每个链接对应一个分享请求(
PENDING)和一个托管 URL。3
链接被投递
使用
GENERATE_URL 时,你会拿到 URL 自行分发。使用 EMAIL 或 PHONE_NUMBER 时,Fluz 会为你向每位收件人发送一个链接。4
收件人激活并领取卡片
收件人打开链接,通过一次性验证码验证手机号并设置卡片 PIN——无需下载 App、无需密码。卡片限额会在领取时从你的消费账户中划拨,而不是在生成链接时划拨。随后,收件人可以查看卡片详情、在线消费,并一键将卡片添加到 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;未领取的链接将无法再被领取。
输入字段
批次 ID 可通过
getVCShareLinks 获取。
"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 天)。该日期会展示给收件人(通常作为“有效至”日期)。
需向收件人传达的项目规则
以下是托管(open-loop)虚拟卡的项目级规则。请与你的 Fluz 代表确认你的项目的具体值——其中若干为合作方协商项。
收件人客服支持: 1-888-360-6660 · humans@fluz.app
完整的面向合作方参考资料(术语、带截图的收件人流程、资金说明、受限类别及支持)见 Partner Guide — Hosted URL Virtual Cards。请向你的 Fluz 联系人索取你项目的最新版本。
状态与错误参考
分享对象状态
面向收件人的链接错误
常见 API 错误
备注与限制
- 返回的 URL 是托管目的地而非短链接。 内部会通过短链接服务包装,但 API 返回的是规范的托管 URL(
/virtual-prepaid-card/{share_request_id})。请按原样分发该 URL。 - 尽管架构标注为可选,但
userCashBalanceId实际上是必填项。 - 隐藏/内部字段不属于该 API。 对象类型和卡片类型是固定的(
VIRTUAL_CARD/SINGLE_LOAD),其他资金来源字段尚未启用;请勿发送。 - 不支持礼品卡托管链接。 此 API 仅用于虚拟卡。
下一步
创建批量订单
一次性发放多张卡以便程序化分发。