@authvia/payment-method-create

中文文档
2.2.2发布于 2026/11/06MITTypeScriptESM + CJS近 30 天下载 1917

Authvia 支付法表格 Web 组件 - 使用 Vue 3 和 Vuetify 3 构建的支付法表格

中文使用文档
文档目录23 节
  1. 所需资源
  2. 安装
  3. 特征(摘要)
  4. Vue: 注册插件
  5. Vue: 使用组件
  6. 网络组件
  7. 网络组成部分活动
  8. 哨兵行为
  9. 支持( 概览)
  10. paymentMethodDisplay
  11. 帕兹 paze (中文(简体) )
  12. 付费页/ Venmo
  13. 稳定型钩子课(覆盖)
  14. CSS 变量
  15. 发展
  16. 捆绑和资产
  17. 浏览器支持
  18. 更改日志
  19. 1.0.3 版本 内容提要
  20. 第1.0.2号版本
  21. 文件(当前)
  22. 许可证
  23. 支助

澳大利亚支付方法表

Vue 3 + Vuetify 3 组件和独立的网络组件用于 添加保存的支付方法 (卡、ACH、PayPal、Venmo、Paze和相关选项)。 您选择要曝光的方法; 只有启用的方法才会出现 。 成功时,主机收到 支付方法 id。 。 。 .

完整道具和行为笔记 故事书 (单位:千美元)AuthviaPaymentMethodForm story docs)和导出类型脚本.

所需资源

  • 阴道 >= 3.4.0
  • 检查 3.x (您的应用程序创建 Vuetify 实例; 此软件包不)
  • 计量吸入器 主机页面上的字体 CSS( Matrial Design 图标)

如果在嵌入的网页组件中缺少 Vue、 Vuetify 或样式, 元素可能会发出 authvia:dependency-missing。 。 。 .

安装

npm install @authvia/payment-method-create

输出 :

  • Vue 插件/ 模块 : @authvia/payment-method-create (默认构建)
  • 独立的网络组件 : @authvia/payment-method-create/web-component

特征(摘要)

  • 键 : 内部形式需要有效的JWT。 符号必须包括 https://authvia.com/uuid 财务报告和审定财务报表 payment_methods:create 内 scope。丢失、空出、无效或已过期的令牌保留窗体;包装器发出 error 作为 { phase: 'init', error } 并记录一个警告 没有 发射 ready。 。 。 . ready 只在符号通过验证后才释放.
  • 启用的方法 : 诸如 card, (中文(简体) ), ach, (中文(简体) ), paypal, (中文(简体) ), venmo,以及 paze 控制一切出现。 您不配置退出列表的方法 .
  • 运行时间出错 : 保存时失败 error 载荷通常包括: message 字符串( 形状为 没有 { phase: 'init', … }) (中文(简体) ). 不完整 帕泽 或者说 PayPal/ Venmo 系统 (用于非payouts 意图) 配置在列表中隐藏这些方法,而不是在打开时出错. 嵌入物通常会被挂起以便用户可以重试.
  • 哨兵: 支持独立部件所有权( N)VITE_WIDGET_SENTRY_DSN)和东道主所有权(VITE_SENTRY_EMBED_MODE=lock 或者说 window.__AUTHVIA_EMBED__.sentry='host')而无取出相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相.
  • 成功 : success 带有支付方法细节(见事件)。 由主机决定导航或隐藏嵌入.
  • 风格: 色调、边框半径和字段 variant 可配置; CSS 变量使用 --avwc-* 前缀在窗体根上.

Vue: 注册插件

您的申请必须打电话 createVuetify() (并在注册此插件之前加载 Vuetify 样式 + MDI).

import { createApp } from 'vue';
import { createVuetify } from 'vuetify';
import AuthviaPaymentMethodFormPlugin from '@authvia/payment-method-create';
import App from './App.vue';

const app = createApp(App);
const vuetify = createVuetify();

app.use(vuetify);
app.use(AuthviaPaymentMethodFormPlugin);
app.mount('#app');

命名导出 AuthviaPaymentMethodFormPlugin 也可用于明确的进口.

Vue: 使用组件

<template>
  <AuthviaPaymentMethodForm
    :token="token"
    merchant-id="demo-merchant"
    customer-ref="demo-customer"
    intent="payments"
    :card="{ demoMode: false }"
    :ach="{ demoMode: false, online: true }"
    @ready="onReady"
    @success="onSuccess"
    @error="onError"
  />
</template>

<script setup lang="ts">
import { AuthviaPaymentMethodForm } from '@authvia/payment-method-create';

function onReady(): void {
  /* JWT passed validation; inner form can render */
}

function onSuccess(detail: unknown): void {
  /* includes paymentMethodId — see types */
}

function onError(detail: unknown): void {
  /* init: { phase: 'init', error }; runtime: often { message } */
}
</script>

网络组件

装入 第3组, (中文(简体) ), 认证中央支助系统,以及 计量吸入器 在捆绑之前 使用 data- 属性的前缀; 对象道具是元素上的JSON字符串.

见 demo.html 在此重播中,用于完整页面示例.

<script src="https://cdn.jsdelivr.net/npm/vue@3/dist/vue.global.prod.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.css" data-vuetify />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/[email protected]/css/materialdesignicons.min.css" data-mdi />
<authvia-create-payment-method-form
  data-token="YOUR_JWT"
  data-merchant-id="demo-merchant"
  data-customer-ref="demo-customer"
  data-intent="payments"
  data-card='{"demoMode":false,"submitBtnText":"Add card"}'
  data-color="#4CAF50"
  data-border-radius="1rem"
></authvia-create-payment-method-form>

在 Vue 后装入已建脚本( 例如输出 npm run build:wc:

<script type="module" src="https://cdn.authvia.com/web-components/authvia-payment-method-create/authvia-payment-method-create.js"></script>

网络组成部分活动

为:

活动detail
ready只有在JWT通过验证(非空的,可解析的,不过期的,所需范围)时才予以批准. 未因丢失、 无效、 过期或范围不足而出错; 使用 error 与 { phase: 'init', error } 换句话说.
submit从一些内部流出(例如ACH/PayPal)并带有与形式有关的有效载荷.
success保存的支付方法; 包括 paymentMethodId 在正常有效载荷.
error启动失败 : { phase: 'init', error }。运行时间:经常 { message: string } 或类似.
authvia:dependency-missing主机缺少Vue,Vuetify,或需要的样式.
<script>
  const component = document.querySelector('authvia-create-payment-method-form');
  component?.addEventListener('ready', () => { /* … */ });
  component?.addEventListener('success', (e) => { console.log(e.detail); });
  component?.addEventListener('error', (e) => { console.log(e.detail); });
</script>

哨兵行为

软件包采用单一客户所有权模式:

  • 独立部件模式 : 设定 VITE_WIDGET_SENTRY_DSN; 部件调用 Sentry.init 一次并标记事件 component=payment-method-create 财务报告和审定财务报表 integration=standalone-web-component。 。 。 .
  • 嵌入式主机模式( 锁定或另一个主机) : 设定 VITE_SENTRY_EMBED_MODE=lock 在构建时间,或设定 window.__AUTHVIA_EMBED__.sentry = 'host' 部件挂载前; 部件跳过 Sentry.init 并将处理器附加到活动主机客户端.
  • 没有活动的哨兵客户端 : 抓获帮助者是安全的无操作者.

支持的 Sentry env vars :

变量目的默认
VITE_WIDGET_SENTRY_DSNDSN 用于独立部件所有权未设定
VITE_SENTRY_EMBED_MODE设定为 lock 强制主机模式未设定
VITE_SENTRY_RELEASE发给哨兵的可选发布版本未设定
VITE_SENTRY_REPLAY_SESSION_SAMPLE_RATE会话重放样本率( E)0..1(中文(简体) )0
VITE_SENTRY_REPLAY_ON_ERROR_SAMPLE_RATE重放过量样本率(0..1(中文(简体) )1

支持( 概览)

细节和实例匹配 故事书 (单位:千美元)src/components/AuthviaPaymentMethodForm.stories.ts) (中文(简体) ).

区域道具
认证/ 上下文token, (中文(简体) ), merchantId, (中文(简体) ), customerRef, (中文(简体) ), intent
方法card, (中文(简体) ), ach, (中文(简体) ), paypal, (中文(简体) ), venmo, (中文(简体) ), paze
列表 UIpaymentMethodDisplay (标题、字幕、顺序;可选根) gap(中文(简体) )
法律/页脚terms (空缺+术语链接)
行为forgetHidden, (中文(简体) ), forgetDefault
样式color (默认) #4CAF50从 DEFAULT_AVWC_PRIMARY_COLOR, (中文(简体) ), borderRadius (默认) 1rem从 DEFAULT_AVWC_BORDER_RADIUS, (中文(简体) ), variant (默认) outlined从 DEFAULT_AVWC_FIELD_VARIANT, (中文(简体) ), vuetifyOverrides (web组件:Shadow DOM的平版 CSS字符串)

paymentMethodDisplay

控制 支付方法拾取列表 (标签和顺序). 它不打开或关闭方法;使用 card, (中文(简体) ), ach, (中文(简体) ), paypal,等等,为此.

外地说明
gap (根,可选)选项行之间的垂直间距。 任意 CSS 长度1rem, (中文(简体) ), 12px(中文(简体) ). 如果省略,此道具不添加间隔;布局与先前的行为相匹配(没有列表级别) gap 从此对象).
card, (中文(简体) ), ach, (中文(简体) ), paypal, (中文(简体) ), venmo, (中文(简体) ), paze可选 title, (中文(简体) ), subtitle,以及 order下调 order 数值在列表中较高.

阴道

:payment-method-display="{
  gap: '1rem',
  card: { title: 'Credit / debit card', subtitle: '…', order: 1 },
  ach: { title: 'Bank account', subtitle: '…', order: 2 }
}"

网络组件 (单位:千美元)data-payment-method-display: 通过一个 单个 JSON 对象 绳子。 在属性之间使用逗号 。 无效的 JSON 被忽略( 请检查控制台) .

data-payment-method-display='{"gap":"1rem","card":{"title":"Card","order":1},"ach":{"title":"Bank","order":2}}'

帕兹paze(中文(简体) )

要求数 amount, (中文(简体) ), clientId, (中文(简体) ), profileId,以及 name 在你们所经过的物体上; 都一定不是空的 (经修行后. 如果有任何缺失或空白, 未显示帕泽 在捡取器。 内流分两步: 启动和平 (SDK负载) 处理和平付款 (退出) —— 完整 —— 创建). 失败 error 并返回用户到支付方法列表中,该步骤上没有内含错误横幅;细节会被记录给开发者.

付费页/ Venmo

  • intent="payouts"数字 : paypal 财务报告和审定财务报表 venmo 可以是布尔斯; PayPal 和 Venmo 保留列表 即使当 merchantId 不完整(与以前一样).
  • intent="payments" (和除下列行为以外的任何意图) payouts: PayPal和Venmo仅在采取器中出现 merchantId 在解析的钱包设置上是非空的 财务报告和审定财务报表 构建定义 VITE_APP_PAYPAL_CLIENT_ID否则,这些行是 隐藏 (与前一次点击时间相同的规则) error,而不显示一个死选项).
  • 过 merchantId 和可选 redirectUrl 编辑 paypal 编号 : venmo 对象,当您希望付款流成功时.

稳定型钩子课(覆盖)

用这些钩子 data-vuetify-overrides (web组件)或主机CSS. {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}有条绳子住进去了 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}我从不 src/constants/avwcStylingHooks.ts (单位:千美元)avwcPaymentMethodFormHooks) (中文(简体) ).

类何处
avwc-payment-method-form__root主要形式包装器( E)AuthviaPaymentMethodForm(中文(简体) )
avwc-payment-method-form__options-root选项容器( E)AuthviaPaymentMethodOptions v-container(中文(简体) )
avwc-payment-method-form__options-card选择支付方法 v-card
avwc-payment-method-form__options-list列表区域包装拾取行
avwc-payment-method-form__method-dialog每一种付款方法 v-dialog 内容 v-card
avwc-payment-method-form__method-row每个拾取行( E)AuthviaPaymentMethodCard(中文(简体) )
avwc-payment-method-form__credit-card-section信用卡卡/ PayPal 对话框
avwc-payment-method-form__ach-rootACH 添加-银行流根(AuthviaPaymentMethodAddAch(中文(简体) )

在每行拾取器内 (单位:千美元)data-vuetify-overrides:与行钩结合,例如. .avwc-payment-method-form__method-row .payment-method-card__title { color: #1565c0 !important; } 标题文本, .payment-method-card__logo-slot 对于图标锡特, .payment-method-card__subtitle 说明行.

CSS 变量

窗体根设置主题变量,包括:

  • --avwc-color (美分; 镜像) color 道具, 默认 #4CAF50 从 DEFAULT_AVWC_PRIMARY_COLOR(中文(简体) )
  • --avwc-border-radius (缩写) borderRadius默认值 1rem 从 DEFAULT_AVWC_BORDER_RADIUS(中文(简体) )

附加符号( 例如 --avwc-text-color-light页:1 variables.css 和故事书.

发展

先决条件:节点.js 18+,npm 9+.

npm install
npm run dev              # app dev server
npm run build            # Vue module
npm run build:wc         # web component
npm run type-check
npm run lint
npm test

捆绑和资产

  • 这个 Vue 模块 期望 Vue 和 Vuetify 作为对等依赖; 您的应用程序提供 Vuetify 和 MDI .
  • 这个 独立的网络组件 捆绑 Java 脚本 但期望从主机中查找 CSS + MDI (和 demo.html) (中文(简体) ).
  • 组件样式与JS同船;在应用层面添加Vuetify + MDI.

浏览器支持

Chrome 88+, Firefox 85+, Safari 14+, Edge 88+.

更改日志

1.0.3 版本 内容提要

添加故事本故事并扩展单元测试; 固定重复的招标类型过滤 useWalletMerchantService详细情况见Git历史.

第1.0.2号版本

ACH和卡片的统一成功有效载荷({ type, paymentMethodId, use }, (中文(简体) ), --avwc-* CSS 变量带有后相兼容倒置,并命名为插件导出.

文件(当前)

读取与 AuthviaPaymentMethodForm.stories.ts (包括 paymentMethodDisplay.gap, (中文(简体) ), demo.html,以及一揽子出口(@authvia/payment-method-create) (中文(简体) ).

许可证

麻省理工学院许可证——参见LICENSE文件.

支助

如需支援及提问,请联系奥特维亚UI团队.

版本与发布记录

@authvia/payment-method-create 共发布 51 个版本,首次发布于 2026/03/23;过去 12 个月发布了 51 个版本。

版本发布日期距今
2.2.2latest2026/11/062 天前
2.2.12026/11/043 天前
2.2.02026/10/299 天前
2.1.52026/10/2316 天前
2.1.42026/10/2216 天前
2.1.32026/10/2217 天前

关于 @authvia/payment-method-create 的常见问题

@authvia/payment-method-create 是什么?

Authvia 支付法表格 Web 组件 - 使用 Vue 3 和 Vuetify 3 构建的支付法表格

如何安装 @authvia/payment-method-create?

在项目目录运行 npm install @authvia/payment-method-create,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:vue(^3.4.0)、vuetify(^3.5.0)、@mdi/font(^7.4.47)、@sentry/vue(>=8.42.0 <11)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@authvia/payment-method-create 支持 TypeScript 吗?

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

@authvia/payment-method-create 支持 ESM 还是 CommonJS?

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

@authvia/payment-method-create 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@authvia/payment-method-create 可以商用吗?

@authvia/payment-method-create 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@authvia/payment-method-create 的下载量有多少?

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

@authvia/payment-method-create 还在维护吗?

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