@12-apps/payments-backend

中文文档
4.55.0发布于 2026/11/06MITES Module零依赖构建来源已验证近 30 天下载 4.6万

服务器半个供应商不可知支付平台:每个供应商适配器(Stone、InfinitePay、Frede、.)后面的正常充电/退款/webhook模式,有口罩的商镜证书设置,取回本地HTTP处理器,六边形存储 po

中文使用文档
文档目录6 节
  1. 只有商店可以确认收费
  2. 此软件包是用来执行的
  3. 从哪里开始
  4. 有几件出口品值得一提
  5. 已停用的主机链接( FUT- 4072)
  6. 仅限服务器

@ 12- apps/ 付款- 后端

服务器支付的一半表面:一个提供者不可知的网关,即 其背后的适配器, 证书和充电商店, 网络胡克管道,以及 记录到一个网友错过了什么.

今天有六艘补给船 帕格银行, (中文(简体) ), 条纹, (中文(简体) ), 石头, (中文(简体) ), 无限付费, (中文(简体) ), 意大利 (只有六个,超过mTLS)和 像素手册 (店铺的) 拥有Pix键作为静态代码,由手确认)——在一个适配器合同后. 添加第七个是目录条目和适配器;它不是更改任何 主持人.

只有商店可以确认收费

提供商: capabilities.confirmation 实值 MANUAL ( Pix 手册) 永远不会 说有报酬,没有回电,也没有 getCharge 答题 永远 主机通过网关解决:

  • gateway.confirmManualCharge(merchant, provider, id) - 有人看到钱了 到达。 = 以一个比较和组合计算ChargeStore.transitionPending, (中文(简体) ), 然后是网关 onWebhookEvent 运行恰好是一个供应商 webhook,所以 宿主会解决订单 它知道的方式之一。 已经收费了 它会重新运行处理器(失败和解后恢复).
  • refuseManualCharge 编号 : expireManualCharge - "não recebi", 或商店的 窗口已失效。 拒绝确认的指控.
  • refreshCharge 读取存储的快照 以获取这样的电荷, 并不会写.
  • ChargeOptions.confirmation: 'AUTOMATIC' (另见 RaiseChargeRequest 财务报告和审定财务报表 buyerCheckoutConfig离开这些供应商,为一条没有人看的道.

此软件包是用来执行的

一个主机保持挂载和配置 。 其他的都是包裹的.

这意味着正在呼叫的东道方用品(决心不移的行动者及其 和它自己的商业 政策——计划天花板、重试梯子、买家读出的话。 包裹 拥有机制: API 呼叫哪个, 如何塑造请求, 如何读取 当电荷被再利用时, 网钩是什么意思 双重收费规则 关于重试.

如果主机发现自己解析了供应商的有效载荷, 绘制状态, 分支 或重述出货商主机名 这个代码属于这里.

从哪里开始

../ADOPTING.md 是综合指南——数据库, 后端接线,前端接线,迁移现有的 PagBank 集成, 完成一个活的适配器,并从另一个寄存器中消耗软件包. 在布线前读取它; 此文件只是方向 .

两人将它指向:

  • mountPayments 提供方证书/设置表面,给主机认证, 租户解决与DB接合.
  • createPaymentFlowsBE - 买主退房.

有几件出口品值得一提

这些是接合器主机最常意外地重新执行:

导出答题
pagbankApiBase(environment)PagBank 命令 API 主机. 必需的参数 ——一个在被问及"没有环境"时猜测出"没有环境"的帮助者,是能够悄悄地在错误的东道主处去路由金钱的.
reconcilePendingCharges{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}重新阅读的扫描 {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}所以一个被丢弃的网路不会给付订单
createPrismaChargeStore充值存储网关和扫描共享
classifyReversalEvent倒置的形状是 —— 收费、退款、纠纷
chargeDeadlinePassed, (中文(简体) ), pixChargePayable, (中文(简体) ), hostedChargePayable是否仍应支付已收取的费用
gateway.captureCharge仅收取授权收取的费用,并坚持支付其答复(FUT-4082); UnsupportedOperationError 提供者无法提供的情况
attemptIdempotencyKey使重新定价的订单不被转出旧数的一键

手放回一个停放的路口 才有新的路要走 首先,链条的提供者领导当前链条,或者提供商领先于 它的行走失败了,现在还在下降。 一个链接移动过去是 被取消,或被标记在它的行 并交给你的录音机。 一个链接 空洞的发现已经PAID 成为答案, 和提出的指控代替它 改为退休——除非已支付,但已记录为 DOUBLE_PAID (两者均收取身份证明,作为退款)并答复了所付费用 在这场尝试。 每进一步移动的连接 空白发现支付记录 DOUBLE_PAID 被告回答并报告 onProviderFailure。 。 。 .

createChargeRaiser 决定 { answer, paidEarlier } (它用来解决 (掌声). answer 是用来回答买家的收费 何时 paidEarlier 实值 true, (中文(简体) ), answer 是指: 买方已经付款(其地位是PAID或AUTHARIZED),现在还没有付款。 A 类 那么,主机必须:

  • 结算 提及 answer - 同一个和解,一个网约车或一个 民意调查将适用 answer.amount 作为捕获的数量;
  • 何时 answer.status 被授权, 捕获 首先.. gateway.captureCharge(merchant, provider, providerChargeId) (FUT-4082) - (英语) 买家的钱已经存了 还没有 (a) 被没收的,而仅留下的许可则在 参考文献已付。 PagBank, Stone and Strape 抓取; 提供商 无投出 UnsupportedOperationError,这笔费用是业主的 在提供者的面板中抓取或退款。 同一罪名a DOUBLE_PAID 保留;
  • 显示已支付· ;
  • 财务报告和审定财务报表 跳过 它用新提的电荷所做的一切:没有方向 answer.hostedCheckoutUrl,不附加作为待决指控,不 将它记录为此尝试的仪器用途(一个“最后使用的”邮票),而不是 拒绝作为方法或数量与请求不符.

何时 paidEarlier 实值 false手柄 answer 恰好是一瞬间 养者常出还. (取出挂载会做这一切本身。)

将所需的保证——在兼容性类型中可选择,有效 所需经费数字 :

  • ChargeQueryStore.markSuperseded (两家发货店都执行). 无 它被取代的链接永远不会被标记, 所以它可以在后 链子再次翻转,并在每次尝试遇到它时都退役.
  • gateway.stillWalkedPast (运出网关执行它,从尝试) 分类账和断电器 health) (中文(简体) ). 没有它——或没有它 health —— 说 每一次脑出血时的重排 都会有新鲜的连接 并退出最后一个.
  • correlation.supersede 在检出站台上, onSuperseded 打开 createChargeRaiser: 事后支付被取代的链接的记录 在你的支付处理中见面。 使其具有提供方+充电id的同位素 路径 DOUBLE_PAID 给退款.
  • ChargeRaiseGateway.clientConfigChain 现在需要.

出道再用也只有断取器的记忆所宽. 在一个 外出者问网关 health 前面的供货商是否还在外面. createMemoryProviderHealth 是每个进程: 重排在另一个进程上 实例,或重启后到达,发现断路器关闭,走链 ,并取代已停放的链接——在其行上标出并录入,从不 沉默,但新的链接 对于买主都一样。 运行不止一个主机 实例应该通过 createSharedProviderHealth(resolve) (FUT-4083): (英语) resolve 以 Redis 文本缓存来回答商店 get编号 :set编号 :del编号 :incrementWindow (或为失忆者所弃绝),每一次, 半开而闭.

这里没有决定什么是报酬 表示 到你的地盘 订单,股票, 订阅周期和副本 买方自行阅读在东道方的停留 词汇.

仅限服务器

这个软件包读取了证书和呼叫提供者 API. 从未进口过 输入浏览器捆绑;浏览器的一半是 @12-apps/payments-frontend,其 子路径仅是跨越边界的类型.

版本与发布记录

@12-apps/payments-backend 共发布 120 个版本,首次发布于 2026/08/05;过去 12 个月发布了 120 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
4.55.0latest2026/11/06今天
4.54.02026/11/05今天
4.53.02026/11/051 天前
4.52.02026/11/042 天前
4.51.02026/10/316 天前
4.50.02026/10/316 天前

关于 @12-apps/payments-backend 的常见问题

@12-apps/payments-backend 是什么?

服务器半个供应商不可知支付平台:每个供应商适配器(Stone、InfinitePay、Frede、.)后面的正常充电/退款/webhook模式,有口罩的商镜证书设置,取回本地HTTP处理器,六边形存储 po

如何安装 @12-apps/payments-backend?

在项目目录运行 npm install @12-apps/payments-backend,或使用 pnpm add / yarn add / bun add。

@12-apps/payments-backend 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/12-apps__payments-backend 是否存在。

@12-apps/payments-backend 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@12-apps/payments-backend 需要什么版本的 Node.js?

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

@12-apps/payments-backend 可以商用吗?

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

@12-apps/payments-backend 的下载量有多少?

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

@12-apps/payments-backend 还在维护吗?

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