# onepay **Repository Path**: tans/onepay ## Basic Information - **Project Name**: onepay - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-12 - **Last Updated**: 2026-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 欢迎使用 OnePay收银台 让不同产品使用统一的支付后台 ### 快速部署 - Bun + Hono + Svelte:一套接口 + 一个收银台页面。 ### 多种支付方式 - 集成微信支付、支付宝、PayPal 等。 ## 主要功能 - 每次开发新产品,都需要重新开发支付后台,成本高,维护难。 - 通过 OnePay,可以轻松集成多种支付方式,让不同产品使用统一的支付后台。 - 免去重复的开发,避免密钥泄露风险,统一管理支付渠道。 ## 使用步骤 ### 步骤 1: 部署 OnePay - 部署到任意可运行 Bun 的平台 - 配置环境变量 ``` # 主机 HOST=https://域名 # 微信支付 WEPAY_APPID=公众号appid WEPAY_MCHID=商户号 WEPAY_SECRET=商户密钥 # 数据库 MONGODB_URI=mongodb://用户名:密码@主机:端口/数据库名?authSource=数据库名 MONGO_DB=数据库名 # PayPal # PAYPAL_MODE=sandbox 或 live(默认 sandbox) PAYPAL_CLIENT_ID=你的ClientID PAYPAL_CLIENT_SECRET=你的ClientSecret PAYPAL_CURRENCY=USD PAYPAL_WEBHOOK_ID=你的WebhookID ``` 本地开发: ```bash bun install bun run dev ``` 构建(生成前端静态文件到 `dist/client`): ```bash bun run build bun run start ``` ### 统计支付数据 > 统计 MongoDB `onepay` 集合的订单/支付数据(按时间范围过滤、按维度分组、支持 table/json/csv 输出)。 ```bash bun run stats:pay --from 2025-01-01 --to 2025-01-31 bun run stats:pay --status all --group-by status bun run stats:pay --from 2025-01-01 --to 2025-01-02 --group-by hour bun run stats:pay --group-by email --format csv > paid_by_email.csv ``` ### 步骤 2: 创建支付订单 - 跳转到 `HOST/api/create-order` #### 参数: - `fee`: 单位为分,100 表示 1元 - `redirectUrl`: 支付完成后跳转的地址 ### 步骤 3: 获取支付结果 - 回调: 创建订单时传入的回调地址参数 `notifyUrl` - 轮询: 根据订单号查询支付结果 ## API 文档 ### 创建订单 `/api/create-order` - `fee`: 单位为分,100 表示 1元 - `redirectUrl`: 支付完成后跳转的地址 - `notifyUrl`: 支付结果回调地址 ### 查询订单 `/api/query-order` - `outTradeNo`: 订单号