域名分发系统如何集成易支付接口?
域名分发系统独享域名解析出租DNS管理系统支持易支付全开源
我最近把自己的域名分发系统弄好之后,最头疼的事儿就是怎么把支付功能接进去。刚好系统自带的支付模块是易支付接口,官方文档里说只要把易支付的商户号、密钥填进 .env 里就能跑。下面我把从零开始的实战步骤分享给大家,免得你们像我当初一样绕来绕去。
先把项目跑起来。环境要求是 PHP 8.0+、MySQL 5.7+,我直接把源码放到 public 目录下,ThinkPHP 的伪静态也开好了。数据库导入后,根目录的 .env 文件里填上自己的数据库信息,保存完毕就能通过 http://yourdomain.com 访问后台。管理员默认账号是 admin / 123456,登录进去后别忘了立刻改密码,安全第一。
在后台左侧的“支付设置”里,我看到已经预留了易支付的入口。只需要把易支付提供的 商户号、API 密钥、回调地址(我把回调写成 https://yourdomain.com/pay/notify)填进去,然后点保存。系统会自动生成一段支付请求代码,后端会调用易支付的统一下单接口,返回的支付链接会直接嵌入到用户的付款页面。
接下来是前端的配合。系统的前端模板已经把支付按钮写死为 class="pay-btn",我只需要在对应的模板文件里加入一行 {{ pay_url }},让按钮指向后端返回的 URL。调试时,我打开浏览器的开发者工具,看到请求的参数里带着 amount、order_id、sign,这些都是系统自动拼装的,省去了手写签名的麻烦。
最重要的一点是回调验证。易支付会把支付结果 POST 到我们设定的回调地址,我在 pay/notify 接口里先用易支付的 SDK(官方提供的 PHP 包)校验签名,确保是官方回调。校验通过后,直接在数据库里把对应订单的状态改成已支付,并给用户发送一封通知邮件。这个过程我把日志写进了 storage/logs/pay.log,方便以后排查问题。
全流程跑通后,我在系统的“独享域名出租商城”里新建了一个商品,价格随意设成 99 元,点“发布”。用户下单后会跳到易支付的收银页,付款成功后自动回到我的站点,订单状态立刻变为已支付,域名即可分配给用户。整个链路只用了系统自带的易支付插件,没有额外写太多代码,真的太好用了。
如果你们遇到支付回调一直不生效的情况,先检查服务器是否能外网访问(防火墙或 CDN 可能拦截),再确认 .env 里的 EASY_PAY_KEY 是否和易支付后台保持一致。还有一点,易支付的接口偶尔会因为网络波动返回超时,这时候在代码里加个重试机制就能避免订单丢失。
总的来说,把易支付接进域名分发系统并不像想象中那么复杂,只要按上面几步走,配好 .env、配置回调、测试一次就能上线。祝大家玩得开心,别忘了把系统的 SSL 证书也一键部署好,安全支付才更放心。

参与讨论
配置.env这一步确实容易踩坑
回调地址写错了,排查了我一下午
PHP版本必须8.0以上吗,7.4能不能跑
我直接用的宝塔面板,伪静态折腾了一会
支付成功后的邮件通知这个功能不错
重试机制这个建议很实用,记下了
那个独享域名出租商城是系统自带的吗
要是能加上微信支付和支付宝分别配置就更好了
刚上线还没加SSL,看来得赶紧补上