用途:把 PaySera 支付网关集成进 Web 应用或网站,支持卡支付、银行转账、电子钱包与移动支付,覆盖 180+ 国家,在波罗的海与欧盟区域覆盖较强。官方文档 https://developers.paysera.com,TypeScript SDK https://www.npmjs.com/package/@biggora/paysera。
集成前需确认:clientId 与 clientSecret(来自 PaySera 商户账户)、集成方式(SDK 或直接 API)、所需支付方式、支付流程(一次性、预授权/捕获、循环)、Webhook 回调地址。凭据可在 PaySera 商户后台获取。
两条路径:1)@biggora/paysera TypeScript SDK,适合 Node.js/TypeScript,封装 Checkout V3 REST API,自动缓存 OAuth2 令牌,提供类型化错误处理与 NestJS 支持,ESM/CJS 双格式,要求 Node.js 20+,安装命令 npm install @biggora/paysera。2)直接 HTTP API,适合非 Node.js 技术栈,用 OAuth2 client_credentials 获取令牌。基础地址 https://api.paysera.com/checkout/v3/,令牌地址 https://api.paysera.com/oauth/token;请求头需 Accept、Content-Type 与 Authorization: Bearer。
主要能力:orders(创建、列表、读取、更新、取消)、payments(列表、读取、捕获、取消)、refunds(创建、列表、读取、取消)、webhooks(创建、列表、读取、更新、删除)。创建订单返回 checkout_url,将客户重定向至该地址完成支付;随后通过 Webhook 通知并在服务端用 orders.read() 核验状态。支持全额/部分捕获与全额/部分退款。提供 NestJS 模块 forRootAsync、@InjectPayseraClient 注入与 PayseraWebhookVerifier,需在 NestFactory 启用 rawBody: true。
注意:令牌需在过期前约 30 秒刷新。verifyWebhookPayload() 当前会抛出 PayseraWebhookVerificationUnavailableError,因官方未公开稳定的 Webhook 签名算法,因此收到 Webhook 后必须通过 paysera.orders.read() 服务端核验支付状态,不要只依赖重定向 URL;Webhook 需快速返回 HTTP 200,耗时处理异步执行,失败投递可能重试。其他费用、价格与具体平台支持范围资料中暂未提供。