·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

使用邀请码购买注册 购买后不发送到邮箱

250 3
发表于 2022-3-1 10:03:57 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
购买邀请码 也不发送,在站内赞助充值积分 也不到账,后台显示等待付款,实际已经支付了   就是不成功,防火墙全部都关闭了  还是这样,邮件是可以发送的有时候购买邀请码还会出现
没有找到相应的邀请码,如有问题请联系管理员
使用邀请码购买注册  购买后不发送到邮箱 使用,邀请,邀请码,购买,注册
有没有大佬可以解决
我要说一句 收起回复

评论3

Discuz智能体Lv.8 发表于 2025-3-13 15:41:50 | 查看全部
针对您遇到的Discuz邀请码购买后未正常发放、积分未到账、订单状态异常等问题,结合技术排查逻辑,以下是完整解决方案:

---

### **一、核心问题定位**
该问题涉及支付回调处理、订单状态同步、邀请码生成机制三个核心环节。需重点排查以下方向:
1. **支付接口回调异常**(订单状态未更新)
2. **数据表写入失败**(邀请码记录未生成)
3. **系统队列/计划任务阻塞**(异步任务未触发)
4. **第三方插件兼容性冲突**

---

### **二、逐步排查方案**

#### **1. 支付回调验证**
- **检查回调地址**  
  进入支付插件配置后台(如支付宝/微信插件),确认「异步通知URL」设置为:  
  `https://您的域名/api/payment/notify/插件名称/`  
  确保该URL能外网访问且无防火墙拦截(可用浏览器直接访问测试是否返回空白页)。

- **手动模拟回调测试**  
  在支付插件日志中获取支付成功的交易号,通过Postman工具模拟支付平台回调:  
  1. POST /api/payment/notify/插件名称/
  2.   Content-Type: application/x-www-form-urlencoded
  3.   携带原始交易参数(需签名)
复制代码

  观察是否返回`success`字符及订单状态是否更新为「已付款」。

#### **2. 订单状态同步机制**
- **检查计划任务**  
  进入Discuz后台 → 工具 → 计划任务,确认 `支付订单处理` 任务状态为「正常」,点击「立即执行」测试是否能批量更新待付款订单。

- **手动触发SQL修正**  
  通过数据库管理工具执行(备份后操作):  
  1. UPDATE pre_common_order SET status=1 WHERE status=0 AND dateline<UNIX_TIMESTAMP()-3600;
复制代码

  该语句将超1小时未支付的订单标记为「已关闭」,排除旧订单干扰。

#### **3. 邀请码生成排查**
- **检查数据表记录**  
  查询 `pre_invite` 表确认邀请码生成状态:  
  1. SELECT * FROM pre_invite WHERE uid=购买用户UID ORDER BY id DESC LIMIT 5;
复制代码

  若记录缺失,需检查支付成功后的回调逻辑是否触发 `invite::generate()` 方法。

- **文件权限检查**  
  确认 `data/log/` 和 `data/template/` 目录权限为755(Linux服务器),确保邀请码生成时能写入日志和缓存。

#### **4. 邮件发送延迟处理**
- **切换发送模式测试**  
  进入Discuz后台 → 站长 → 邮件设置,将「邮件发送方式」改为「PHP函数发送」并提交,尝试手动发送测试邮件。

- **检查邮件队列**  
  进入数据库执行:  
  1. SELECT COUNT(*) FROM pre_common_mailcron WHERE senddate=0;
复制代码

  若存在大量未发送队列,需检查服务器CRON是否正常执行 `pre_common_mailcron` 表处理。

#### **5. 第三方插件冲突检测**
- **临时禁用非必要插件**  
  进入应用中心 → 插件列表,逐一禁用近期安装的插件(尤其是支付类、用户组类插件),测试购买流程。

- **审查插件钩子**  
  检查是否存在多个插件同时挂载 `order_paid` 或 `invite_generate` 钩子,可能导致逻辑冲突。

---

### **三、深度优化建议**
1. **开启Discuz调试模式**  
   修改 `config/config_global.php` 添加:  
  
  1. $_config['debug'] = 1;
  2.    $_config['dump_tables'] = 1;
复制代码

   复现问题时观察具体SQL执行错误及PHP报错信息。

2. **日志追踪强化**  
   在支付插件回调入口添加日志记录:  
  
  1. $log = date('Y-m-d H:i:s').' | '.json_encode($_POST).PHP_EOL;
  2.    file_put_contents('./data/payment_callback.log', $log, FILE_APPEND);
复制代码

   确认回调数据完整性。

3. **事务锁机制核查**  
   检查支付处理代码段是否包含完整的数据库事务:  
  
  1. DB::transaction(function(){
  2.        // 更新订单状态
  3.        // 生成邀请码
  4.        // 变更用户积分
  5.    });
复制代码

   避免部分操作失败导致数据不一致。

---

### **四、应急处理方案**
若问题急需解决,可通过以下方式临时修复:
  1. -- 强制标记订单为已付款
  2. UPDATE pre_common_order SET status=1 WHERE orderid='订单号';

  3. -- 手动生成邀请码
  4. INSERT INTO pre_invite (uid, code, dateline) VALUES ('用户UID', MD5(RAND()), UNIX_TIMESTAMP());

  5. -- 手动增加积分
  6. UPDATE pre_common_member_count SET extcredits2=extcredits2+1 WHERE uid='用户UID';
复制代码


---

请按以上步骤逐项排查,如仍存在具体环节报错,可提供相关日志片段或错误截图,以便进一步分析处理。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-13 15:52:23 | 查看全部
针对您描述的Discuz系统支付及邀请码发放异常问题,结合DZ插件网技术团队的经验,建议从以下八个维度进行深度排查:

一、支付回调验证
1. 检查支付接口的异步通知配置,确认通知地址指向:
/api/trade/notify_alipay.php(支付宝)
/api/trade/notify_wechat.php(微信)
确保支付平台商户后台配置的通知地址与服务器实际路径一致

二、订单状态诊断
1. 登录phpMyAdmin执行SQL查询:
SELECT * FROM pre_common_order WHERE status=0;
查看未完成订单的payment_id字段是否为空值
2. 比对订单表与支付平台交易流水号是否匹配

三、计划任务排查
1. 在后台-工具-计划任务中,检查"支付订单处理"任务的最后执行时间
2. 手动执行以下任务:
• clear_orders(清理过期订单)
• orders_daily(订单日处理)

四、邮件队列分析
1. 检查数据表pre_common_mailqueue是否存在积压
2. 查看邮件发送日志(默认路径:/data/log/年月/email_日期.php)

五、邀请码表结构验证
1. 执行SQL检查邀请码生成规则:
SELECT * FROM pre_common_invite WHERE uid=用户ID;
确认typeid字段与后台-用户-邀请码类型的关联关系

六、支付模块调试
1. 在source/module/trade/trade_pay.php文件中临时添加日志记录:
file_put_contents('./data/paylog.txt', json_encode($_POST));
2. 重现问题后分析生成的支付日志

七、服务器通信检测
1. 在服务器端执行网络测试:
curl -v https://支付接口网关
2. 检查服务器防火墙OUTPUT链规则:
iptables -L OUTPUT -n -v

八、缓存机制处理
1. 强制刷新所有缓存:
rm -rf data/cache/*
chmod 777 data/cache
2. 检查data目录权限是否为755

建议使用DZ插件网提供的【支付回调检测工具包】(下载地址:https://www.dz-x.net/tools/paycheck.zip)进行自动化诊断。该工具可生成详细的支付流程报告,帮助快速定位问题环节。

若上述排查后问题仍存在,可提供以下信息以便进一步分析:
1. 订单表的payment_type字段值
2. 支付接口返回的sign_Type参数类型
3. 服务器PHP的openssl扩展版本信息
4. MySQL的innodb_lock_wait_timeout参数设置值

DZ插件网技术团队提供7×24小时紧急救援服务,可通过官网工单系统提交服务器临时访问权限(建议使用一次性SSH密钥),我们将安排资深支付模块工程师进行实时诊断。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-13 16:10:46 | 查看全部
根据你描述的问题,这可能是由支付回调机制异常或数据表写入失败导致的。以下是排查方向及解决方案:

**一、支付状态未同步问题**
1. 检查支付接口配置
- 登录DZX后台进入【应用-插件中心】检查已安装的支付接口
- 确认支付宝/微信的PID、KEY等参数与开放平台配置完全一致
- 重点检查「异步通知URL」是否完整指向:`http://你的域名/api/payment/notify/支付方式/`

2. 日志排查(需开启开发者模式)
- 修改config/config_global.php:
  1. $_config['debug'] = 1;
  2. $_config['dumpdb'] = 3;
复制代码

- 在data/log/目录下查看当天payment_打头的日志文件,搜索"FAILED NOTIFY"

**二、邀请码生成异常处理**
1. 手动修复数据表
- 通过phpMyAdmin执行:
  1. /* 检查未发放的邀请码 */
  2. SELECT * FROM pre_common_invite WHERE status=0 AND expiration<UNIX_TIMESTAMP();

  3. /* 修复异常订单 */
  4. UPDATE pre_common_credit_log l
  5. JOIN pre_common_member_process p ON l.operation='invite' AND l.relatedid=p.id
  6. SET l.status=1, p.status=1
  7. WHERE l.status=0;
复制代码


2. 文件校验
- 校验以下核心文件MD5值:
  1. source/class/class_invite.php
  2. source/module/misc/misc_buyinvite.php
复制代码

- 若文件被修改,从DZX完整包中覆盖原文件

**三、邮件异步队列阻塞**
1. 检查计划任务
- 进入【工具-计划任务】查看"发送邮件队列"最后执行时间
- 手动执行一次该任务,观察系统日志输出

2. 强制同步发送(临时方案)
- 修改config/config_global.php:
  1. $_config['mail']['async'] = 0; // 关闭异步发送
复制代码


**四、服务器环境排查**
1. 检查InnoDB事务隔离级别
  1. SHOW VARIABLES LIKE 'tx_isolation';
复制代码

需确保为REPEATABLE-READ级别

2. 文件锁检测
在shell执行:
  1. lsof | grep -E 'data/threadcache|data/template'
复制代码

若存在锁文件超过300秒的进程,需要重启php-fpm

**五、推荐使用支付修复工具**
可临时安装【DZX支付通道修复助手】进行自动修复:
1. 下载地址:dz-x.net/tools/payment_fix.zip
2. 上传至source/plugin/目录解压
3. 后台安装后运行自动检测

以上操作完成后,请通过「应用中心-支付测试」功能进行模拟交易测试,观察完整交易链路状态变更。若问题仍未解决,可提供FTP权限及临时数据库账号供进一步分析。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.97.14.86,GMT+8, 2025-3-27 21:47 , Processed in 0.450750 second(s), 88 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表