跳转到主要内容
使用 getCardProvisioningUrl 查询来铸造一个短且一次性使用的 URL——当终端用户在手机上打开该链接时,会在设备上启动 Fluz,并将指定优惠的虚拟卡添加到 Apple Pay(iOS)或 Google Pay(Android)。 你可以通过任意方式传递该 URL:二维码、短信、电子邮件,或应用内按钮。随后 Fluz 将处理钱包开通流程。

何时使用

在任何你通常会把虚拟卡交给用户、并希望他们能在手机的钱包中一键添加而无需输入卡号的场景。典型流程:
  • 为用户创建卡片优惠后,在屏幕上展示一个二维码。
  • 通过短信或电子邮件将 URL 发送给持卡人。
  • 在你的移动应用中嵌入一个“添加到 Apple Pay / Google Pay”按钮。
先决条件: 终端用户的 OAuth 访问令牌,且包含 CREATE_VIRTUALCARD 范围,以及为该用户创建的虚拟卡优惠(通过现有的优惠 API 创建)。
此查询不接受基本认证(client_id / client_secret)——必须使用用户上下文的持有者令牌(bearer token)。

查询

输入

ProvisioningPlatform

返回的 URL 具备平台感知能力:iOS 用户会自动获得 App Clip 体验,Android 用户会自动获得 Fluz 应用深链。platform 仅影响当 URL 在 iOS 或 Android 设备之外的地方(如桌面浏览器)被打开时的行为。 选择与你预期 URL 将被打开位置最匹配的值。如不确定,保持 IOS 即可。

输出

示例

请求

响应

如何投递 URL

该 URL 是不透明的且不包含敏感数据——可安全地用于二维码、短信、电子邮件或应用内 UI。常见模式:
  • 屏幕二维码 —— 从 url 生成二维码并展示;用户用手机相机扫描。
  • 短信 / 电子邮件 —— 将链接直接发送到用户的手机或收件箱。
  • 应用内深链 —— 在你的移动应用中接入一个按钮来打开 url
无论通过何种投递渠道,用户都必须在移动设备上打开该 URL——钱包开通流程会在手机上进行。

有效期与重新签发

  • 每次调用都会返回一个全新的、一次性使用的 URL。
  • URL 在 expiresAt 前有效(≈ 5 分钟)。
  • 如果用户未及时操作,只需再次调用 getCardProvisioningUrl 来铸造一个新的链接。没有单独的“刷新”端点。

错误处理

所有错误都会以 Fluz 标准 GraphQL 错误格式返回,错误名称位于 extensions.code 中。

常见问题

不包含。该 URL 仅携带短期有效的不透明查找 ID。一旦用户打开链接,凭据会在设备上安全交换。
不能。它是一次性使用。每次需要触发此流程时都应生成一个新的链接。
他们会根据你选择的 platform 落到相应的回退(App Clip 启动器、Android 深链或 Fluz Web 应用)。要完成钱包开通,最终仍需在移动设备上打开该 URL。
不需要。相同的 URL 适用于两者——Fluz 会自动按设备类型路由。

后续步骤

发送卡片

通过电子邮件、短信或分享链接分发虚拟卡。

设置虚拟卡 PIN

在需要线下输入 PIN 的交易前,为符合条件的卡设置 PIN。