开源卡密领取系统:支持多类型定价、IP 限额管理与支付宝自动对账

2059 字
10 分钟
开源卡密领取系统:支持多类型定价、IP 限额管理与支付宝自动对账

卡密领取系统 — 开源项目介绍#

卡密领取系统是一个基于 PHP + SQLite 的轻量级卡密管理与分发系统,支持免费领取、付费购买、多种卡密类型管理,并集成支付宝当面付功能。适用于软件激活码、会员卡、游戏礼包码等场景的在线分发。


✨ 核心功能#

  • 免费领取:每个 IP 每天可设置免费领取次数(默认 1 次)
  • 付费购买:通过支付宝当面付生成二维码,扫码支付后获得额外领取额度
  • 多类型支持:用户可在前台选择不同类型的卡密(如:会员卡、体验卡、季卡)
  • 类型价格独立设置:不同卡密类型可设置不同的支付价格

2. 后台管理#

  • 卡密管理:批量导入卡密、按类型筛选、删除已用/未用卡密
  • 类型管理:自定义卡密类型、设置各类型支付价格
  • 订单管理:查看所有订单、手动标记支付成功、补单操作
  • IP 管理:查看领取记录、搜索 IP、封禁/解封 IP
  • 数据统计:卡密总量、今日领取、今日订单、今日收入等

3. 支付宝集成#

  • 支付宝当面付(F2F)集成,自动生成支付二维码
  • 异步回调验签、订单轮询、订单超时自动关闭
  • 支持沙箱环境测试,网关连通性一键检测
  • 手动标记支付成功(方便测试或补单)

🛠️ 技术架构#

项目说明
后端语言PHP 7.4+(无需框架,单文件 API)
数据库SQLite 3(无需 MySQL,自动创建表结构)
前端原生 JavaScript + CSS(无框架依赖,单文件)
支付接口支付宝当面付(F2F)— 支持 PC/移动端扫码支付
部署要求支持虚拟主机、云服务器、本地测试(无需 Composer)

📦 数据库设计#

系统使用 SQLite 数据库,自动初始化以下表:

  • cards:卡密表(code、used、type、claim_type、used_by、used_at、remark)
  • ip_records:IP 领取记录表(ip、date、free_count、paid_count)
  • orders:支付订单表(order_no、trade_no、ip、amount、type、status、created_at、paid_at)
  • settings:系统设置表(key-value 存储配置项)
  • banned_ips:封禁 IP 表(ip、reason、created_at)

🚀 安装部署#

1. 上传文件#

将以下文件上传到服务器:

card-system/
├── index.php # 前台领取页面
├── admin.php # 后台管理页面
├── api.php # 后端 API 接口
├── alipay.php # 支付宝集成类
├── db.php # 数据库初始化
├── config.php # 系统配置(密码、路径等)
├── alipay/ # 支付宝回调文件
│ ├── notify.php
│ └── return.php
└── data/ # 数据目录(自动创建)
└── cards.db # SQLite 数据库文件

2. 配置文件#

编辑 config.php,设置以下参数:

// 管理后台密码(建议使用强密码)
define('ADMIN_PASSWORD', 'your_password_here');
// 支付宝配置(在后台可图形化配置,此处为默认值)
define('ALI_APP_ID', 'your_app_id');
define('ALI_RSA2_PRIVATE_KEY', 'your_private_key');
define('ALI_RSA2_PUBLIC_KEY', 'your_public_key');
define('PAY_AMOUNT', '1.00'); // 默认支付金额
define('PAY_SUBJECT', '卡密领取额度');
// 每日限额
define('DAILY_FREE_LIMIT', 1); // 每日免费领取次数
define('DAILY_PAID_LIMIT', 5); // 每日付费领取次数

3. 访问前台#

打开 http://your-domain.com/card-system/index.php

  • 选择卡密类型
  • 点击”立即领取”免费领取
  • 点击”购买额度”进行支付宝支付

4. 访问后台#

打开 http://your-domain.com/card-system/admin.php

  • 输入在 config.php 中设置的密码
  • 导入卡密、设置类型、查看订单

📱 使用流程#

用户领取流程#

  1. 用户打开前台页面,选择卡密类型(如”会员卡”)
  2. 点击”立即领取”,系统分配一张未使用的卡密
  3. 如果免费次数已用完,点击”购买额度”
  4. 使用支付宝扫描二维码完成支付
  5. 支付成功后,额度自动到账,可继续领取

管理员操作流程#

  1. 登录后台,进入”卡密管理”
  2. 批量导入卡密(每行一个,支持备注)
  3. 进入”卡密类型”设置类型名称和价格
  4. 查看”订单管理”,手动标记支付成功(如需)
  5. 查看”数据统计”了解今日领取情况

🔐 安全特性#

  • IP 限领:每个 IP 每天有免费和付费领取次数限制
  • IP 封禁:可封禁恶意 IP,禁止其领取卡密
  • 支付宝验签:所有回调请求均进行 RSA2 签名验证
  • 金额校验:回调时校验支付金额与订单金额是否一致
  • APPID 校验:防止跨应用伪造回调
  • 幂等处理:重复回调不会重复增加额度
  • 订单超时:5 分钟未支付自动关闭订单

📊 支付宝配置指南#

1. 获取支付宝密钥#

  1. 登录 支付宝开放平台
  2. 创建网页&移动应用,开通”当面付”能力
  3. 使用 支付宝密钥生成器生成 RSA2 密钥对
  4. 上传应用公钥,获取支付宝公钥

2. 在后台配置#

  1. 登录管理后台 → 系统设置
  2. 填写 APPID、应用私钥、支付宝公钥
  3. 设置网关地址(正式环境 / 沙箱环境)
  4. 点击”测试网关连通性”验证配置

3. 异步回调 URL#

支付宝异步回调 URL 格式:

http://your-domain.com/card-system/alipay/notify.php

请在支付宝开放平台的应用设置中配置此 URL。


🎨 界面预览#

前台领取页面#

  • 简洁的卡片式设计
  • 卡密类型选择按钮
  • 今日剩余额度显示
  • 支付宝二维码弹窗
  • 领取成功动画效果

后台管理页面#

  • 左侧导航栏,功能分类清晰
  • 数据统计仪表盘
  • 卡密列表(支持按类型筛选)
  • 订单管理(支持标记支付成功)
  • IP 领取记录(支持按 IP / 卡密搜索)

📦 文件说明#

文件功能
index.php前台领取页面(卡密类型选择、领取、支付)
admin.php后台管理页面(SPA 单页应用)
api.php后端 API(路由 + 业务逻辑)
alipay.php支付宝集成类(签名、验签、请求、日志)
db.php数据库初始化(自动建表、迁移)
config.php系统配置文件(密码、支付金额、限额等)
alipay/notify.php支付宝异步回调处理(独立版,脱离 WordPress 依赖)
alipay/return.php支付宝同步回调处理(跳转回前台)

🔧 常见问题#

Q:如何修改每日免费领取次数?#

A:登录后台 → 系统设置 → 修改”每日免费领取上限” → 保存。

Q:如何设置不同卡密类型的价格?#

A:登录后台 → 卡密类型 → 在底部”类型价格设置”中为每个类型设置价格 → 保存。

Q:支付宝回调失败怎么办?#

A:

  1. 检查 alipay/notify.php 是否可以公网访问
  2. 在后台”系统设置”中点击”测试网关连通性”
  3. 查看 data/logs/ 目录中的日志文件
  4. 使用”调试签名”功能检查密钥格式

Q:如何手动标记订单为已支付?#

A:登录后台 → 订单管理 → 找到待支付订单 → 点击”标记支付”。系统会自动增加对应该 IP 的付费额度。

Q:支持哪些支付方式?#

A:当前集成支付宝当面付(F2F),用户使用支付宝 APP 扫码支付。可扩展支持微信支付等其他支付方式。


📊 项目亮点#

  • 零依赖:无需 Composer、无需框架,上传即可使用
  • 轻量级:SQLite 数据库,无需 MySQL 配置
  • 安全:IP 限领、封禁、支付宝验签、金额校验
  • 灵活:多类型支持、类型价格独立配置
  • 易用:图形化后台、一键导入卡密、订单管理
  • 可扩展:清晰的代码架构,方便二次开发

📝 更新日志#

v2.0 (2026-05-14)

  • 新增:多卡密类型支持
  • 新增:不同类型设置不同支付价格
  • 新增:手动标记订单为已支付
  • 优化:修复前台类型选择 bug
  • 优化:支付宝集成稳定性提升

v1.0 (2026-05-12)

  • 首次发布
  • 基础卡密领取功能
  • 支付宝当面付集成
  • 后台管理功能

📧 联系与反馈#

如有问题或建议,欢迎反馈:

  • 在项目页面留言
  • 提供详细的问题描述和截图
  • 我会尽快回复并修复问题

立即下载体验,轻松搭建你的卡密领取系统!

下载地址#

百度网盘

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
开源卡密领取系统:支持多类型定价、IP 限额管理与支付宝自动对账
https://blog.90svip.cn/posts/post-295/
作者
小北
发布于
2026-05-17
许可协议
CC BY-NC-SA 4.0
相关文章 智能推荐
1
灵魂摆渡十年 百度网盘 夸克网盘下载
资源分享 导演: 巨兴茂 编剧: 小吉祥天 主演: 于毅 / 刘智扬 / 肖茵 / 许佳琪 / 姜馥颐 / 更多… 类型: 悬疑 / 惊悚 / 短片 / 奇幻 / 冒险 制片国家/地区: 中国大陆 语言: 汉语普通话 首播: 2026-06-02(中国大陆) 集数: 24 又名: 灵魂摆渡5 / The Ferry Man 5
2
网易云黑胶会员免费领【6月更新】
资源分享 免费赠送网易云音乐黑胶会员给大家,目前每个月可以送128天,随机天数,先到先得哦! 时间 领取地址 2026.6 https://163cn.tv/8gYb2Hi
3
从零搭建个人博客:一些过程与心得
技术笔记 从 WordPress 迁移到 Astro,部署在腾讯云 EdgeOne Pages。本文记录了博客搭建的全过程,以及写作路上的零星感想。
4
Telegram 提示“短信收费”的完整解决方案
经验分享 Telegram 登录弹出“SMS Fee/短信收费”?教你免费绕过! 最近很多人在使用 Telegram 的时候,都会遇到一个非常离谱的提示: SMS Fee / 短信收费 。 无论是 登录老账号 ,还是 注册新账号 ,都会突然弹出提示,让你先支付短信费用才能继续操作。 很多人就懵了: 这个钱到底该不该交? 交了会不会被骗? 有没有办法绕过这个收费? 这篇文章,我把目前 成功率最高的解决方案...
5
3分钟注册外区苹果ID教程(无需翻墙、无需信用卡)
经验分享 3分钟注册外区苹果ID教程(无需翻墙、无需信用卡) 很多用户在使用 Apple 设备时,都会遇到一个问题: 为什么很多海外应用在国内 App Store 下载不了? 答案很简单—— 地区限制 。 今天这篇文章,教你用 最简单的方法 ,3分钟注册一个外区苹果ID(美区 / 港区 / 台区均可),而且: 不需要翻墙 不需要外区信用卡 支持国内手机号 + 邮箱 一、注册前准备...
随机文章 随机推荐

评论区

Profile Image of the Author
小北
我很感谢那些任凭时光流逝却依旧陪在我身边的人。
公告
欢迎来到我的博客!这是一则示例公告。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
25
分类
5
标签
69
总字数
17,669
运行时长
0
最后活动
0 天前

文章目录