@flopay/vue

中文文档
1.14.11发布于 2026/11/14TypeScriptESM + CJS近 30 天下载 2640

Vue 3 组件和可堆叠件,用于 FloPay 检查、卡片设置和单击支付: Vue 对应的 @flopay/react,具有相同的道具,事件和行为.

中文使用文档
文档目录6 节
  1. 安装
  2. 使用量
  3. 实例
  4. 公共 API
  5. PayPal 购买者取消
  6. 错误

@ flopay/vue (帮助)

Vue 3 组件和可堆叠件,用于 FloPay 检查、卡片设置和单击支付: Vue 对应的 @flopay/react,具有相同的道具,事件和行为.

安装

npm install @flopay/vue

vue (单位:千美元)>=3.3.0)是同级依赖关系. @flopay/js 财务报告和审定财务报表 @flopay/shared 与软件包一起安装.

使用量

渲染器 FloPayCheckout 带有商家服务器创建的会话,或内含 createSession 草案。 通知回调是 Vue 事件: react's onComplete 实值 @complete 模板中 onComplete 内 h()。 。 。 .

import { FloPayCheckout } from '@flopay/vue';
import { h } from 'vue';

export default {
  setup() {
    return () =>
      h(FloPayCheckout, {
        sessionId: 'sess_123',
        nonce: 'nonce_123',
        onComplete: (result) => console.log(result.status),
        onDecline: (decline) => console.log(decline.message),
      });
  },
};

浏览器工作( 会话读取、 SDK 加载、 主机卡部件) 开始于 onMounted,所以服务器渲染从不触及 window 使装载状态.

实例

从无花纹子路径设置的卡片 :

import { FloPayCardSetup } from '@flopay/vue/card-setup';
import { h } from 'vue';

const render = () =>
  h(FloPayCardSetup, {
    sessionId: 'sess_setup_123',
    nonce: 'nonce_setup_123',
    onComplete: (event) => console.log(event.sessionId),
  });

使用购买者节省的支付方法一击支付:

import { FloPayAutomaticPaymentButton } from '@flopay/vue';
import { h } from 'vue';

const render = () =>
  h(FloPayAutomaticPaymentButton, {
    clientId: 'client_123',
    account: { userId: 'user_123', email: '[email protected]' },
    products: [{ code: 'pro-monthly', quantity: 1 }],
    successUrl: 'https://example.com/success',
    cancelUrl: 'https://example.com/cancel',
    onSuccess: (event) => console.log(event.autoCompleted),
  });

公共 API

每个 @flopay/react 组件和钩头有一个同名的 Vue 导出。 React的通知回调是Vue事件,其有效载荷相同.

导出反应( E)@flopay/react(中文(简体) )Vue( 时速@flopay/vue(中文(简体) )
FloPayProvider<FloPayProvider>FloPayProvider提供给后代; @instrument
FloPayCheckout<FloPayCheckout>FloPayCheckout数字 : @complete, (中文(简体) ), @decline, (中文(简体) ), @cancel, (中文(简体) ), @error, (中文(简体) ), @button-click
SplitCardForm<SplitCardForm>SplitCardForm数字 : @complete, (中文(简体) ), @decline, (中文(简体) ), @cancel, (中文(简体) ), @error
VaultCardFields<VaultCardFields>VaultCardFields数字 : @ready, (中文(简体) ), @error, (中文(简体) ), @validation
DirectPayPalButton<DirectPayPalButton>DirectPayPalButton数字 : @complete, (中文(简体) ), @decline, (中文(简体) ), @cancel, (中文(简体) ), @error
FloPayAutomaticPaymentButton<FloPayAutomaticPaymentButton>FloPayAutomaticPaymentButton数字 : @success, (中文(简体) ), @error, (中文(简体) ), @decline
FloPayCardSetup<FloPayCardSetup>FloPayCardSetup数字 : @ready, (中文(简体) ), @complete, (中文(简体) ), @decline, (中文(简体) ), @cancel, (中文(简体) ), @error
FloPayPaymentMethodSetup<FloPayPaymentMethodSetup>FloPayPaymentMethodSetup
useFloPayuseFloPay()useFloPay()裁判, null 直至 loadFloPay() 决定
usePayPalFloPayusePayPalFloPay()usePayPalFloPay(): 参考文献
useCheckoutuseCheckout()useCheckout(): 反应式取出状态
FloPayCardSetupErrorFloPayCardSetupErrorFloPayCardSetupError
dropThirdPartyOnlyErrordropThirdPartyOnlyErrordropThirdPartyOnlyError

反应 children 和自定义布局为槽. FloPayCheckout是因为 layout 插槽替换内置窗体,并 a SplitCardForm 内部接收会话、非会话和 submitLabel 除非它自己设置.

入口点 : @flopay/vue, (中文(简体) ), @flopay/vue/card-setup 财务报告和审定财务报表 @flopay/vue/payment-method-setup。 。 。 .

PayPal 购买者取消

FloPayCheckout, (中文(简体) ), SplitCardForm 财务报告和审定财务报表 DirectPayPalButton 发射 cancel (单位:千美元)@cancel反应 onCancel)每点击一次,当购买者关闭了PayPal弹出,或从PayPal的应用开关返回时,未经批准. 有效载荷是 FloPayPaymentCancelEvent数字 : { status: 'cancelled', sessionId, provider: 'paypal', paymentMethodType }。 。 。 . sessionId 是尝试的会话(点击时的补丁,否则就是取出),并且 paymentMethodType 实值 paypal_vaulted 当会场广告 order 或者说 setup_token,否则 paypal。 。 。 .

这绝不是用来报应的 @decline),被屏蔽的弹出,负载,渲染或资格失败,或者单击您 runBeforeButtonClick 闸机已停止, 同一点击的重复取消会被忽略 。 它只涵盖直接的 PayPal 按钮(会话带有 gateways.paypal) (中文(简体) ). 按钮会为下次点击而保持被渲染,如果不听则不会改变.

"不起作用吗? 支付另一种方式"将购买者移动到卡表的提示:

import { FloPayCheckout, type FloPayPaymentCancelEvent } from '@flopay/vue';
import { defineComponent, h, ref } from 'vue';

export default defineComponent({
  setup() {
    const cancelled = ref<FloPayPaymentCancelEvent | null>(null);
    const cardForm = ref<HTMLElement | null>(null);
    return () => [
      cancelled.value
        ? h('div', { role: 'status' }, [
            "Didn't work? Pay another way. ",
            h(
              'button',
              { type: 'button', onClick: () => cardForm.value?.focus() },
              'Pay by card or Google Pay',
            ),
          ])
        : null,
      h('div', { ref: cardForm, tabindex: -1 }, [
        h(FloPayCheckout, {
          sessionId: 'sess_123',
          nonce: 'nonce_123',
          onCancel: (event: FloPayPaymentCancelEvent) => {
            cancelled.value = event;
          },
        }),
      ]),
    ];
  },
});

错误

错误是 FloPayError 来自 @flopay/shared,通过 @error。 。 。 .

代码含义
UnsupportedBackendVaultCapability会话没有主机金库卡表,也没有其他可用的方法.
stored_payment_method_unsupported买家所保存的方法不能收费;要求另一种方法.
MissingCheckoutSessionToken一个会话 id 是没有它的 nonce。 。 。 .
network_request_failed类型 network_error。 。 。 . FloPayCheckout 无法开始, 因为创建或读取会话在 SDK 重试后从未得到回复 . cause 持有原始错误; sessionId 当会话已经存在时设置.
CheckoutInitializationFailed类型 api_error。 。 。 . FloPayCheckout 无法启动, 原因不是网络失败, 原因是 sessionId 当会话存在时设置.

设置表面弹出 FloPayCardSetupError,其 retryable 说再次尝试是否有帮助.

版本与发布记录

@flopay/vue 共发布 18 个版本,首次发布于 2026/10/20;过去 12 个月发布了 18 个版本。

版本发布日期距今
1.14.11latest2026/11/141 天前
1.14.102026/11/141 天前
1.14.92026/11/132 天前
1.14.82026/11/123 天前
1.14.72026/11/114 天前
1.14.62026/11/114 天前

关于 @flopay/vue 的常见问题

@flopay/vue 是什么?

Vue 3 组件和可堆叠件,用于 FloPay 检查、卡片设置和单击支付: Vue 对应的 @flopay/react,具有相同的道具,事件和行为.

如何安装 @flopay/vue?

在项目目录运行 npm install @flopay/vue,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:vue(>=3.3.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@flopay/vue 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@flopay/vue 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@flopay/vue 可以商用吗?

@flopay/vue 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@flopay/vue 的下载量有多少?

根据 npm 官方下载统计,@flopay/vue 在 2026/10/15 – 2026/11/13 这 30 天内被下载 2,640 次,日均约 88 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@flopay/vue 还在维护吗?

最新版本 1.14.11 发布于 2026/11/14(1 天前);至今共发布 18 个版本,其中过去 12 个月发布了 18 个;首次发布于 2026/10/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。