Skip to content
 
 

Repository files navigation

Digital Shield Pay
链上支付,尽在掌控。

官方网站:ds.pro  |  DsPay GitHub

Digital Shield Pay — 链上支付


萌次元商城系统


php8.1+ mysql5.6+ license

关于本仓库:本仓库是 mcy-shop(萌次元商城系统)DsPay(DigitalShieldPay)接入版,基于上游 5.0.34 版本(dspay 分支)开发,内建 DsPay USDT 支付渠道与 CardShip 卡密自动发货插件。接入形态为纯插件、零宿主改动(不改 kernel/、app/ 核心与路由文件),方便后续同步上游。本仓库与上游官方(lizhipay)无关,DsPay 相关问题请优先在本仓库提交 Issue。上游项目地址:https://github.com/lizhipay/mcy-shop ,上游文档:https://wiki.mcy.im

法律声明

本商城程序基于 MIT 协议开源,并且完全免费。该程序的初衷是为开发者提供学习和研究的机会。未取得合法资质,严禁将本程序用于任何商业用途,尤其是禁止利用本程序搭建平台进行商品销售。

用户在使用或学习本程序时,必须严格遵守法律法规。我们提倡依法行事,尊重法律,坚守法律,避免对社会产生不良影响。

使用本程序即表示您已充分理解并同意本法律声明的所有内容。

DsPay 支付(DigitalShieldPay)

DsPay(DigitalShieldPay) 是一个 USDT/USDC 链上支付网关,买家扫码进入托管收银台用链上稳定币付款,商家自动收款发货。本仓库已将其作为支付插件内置

  • 纯插件接入(app/Plugin/DsPay/),下单跳转 DsPay 托管收银台,回调验签(六步校验:验签、防串单、幂等短路、状态校验、金额同源)通过后自动发货,全流程无需人工干预。
  • 网关对失败回调 24 小时内自动重试 12 次;签名契约已对官方网关(wallet.ds.pro)真实下单/查单/回调实测,并附带 35 项断言的自测脚本:php app/Plugin/DsPay/test/dspay_test.php
  • 配套 CardShip 卡密自动发货插件app/Plugin/CardShip/):本地卡密库存(一行一个),支付成功事务内扣减发卡,不启用、商品不绑定时零影响。

后台配置商户参数(装好后只需这几步)

  1. 找 DsPay 商务获取:商户编号(merchantNo)API 密钥(apiSecret)、API 网关地址。
  2. 登录后台 → 插件列表 → 启用 DS-Pay 插件。
    • ⚠️ 内核启用插件时会请求官方应用商店校验权限,未登录商店账号会报「[DS-Pay] 登录已过期」。官方解法:后台 → 应用商店 → 登录 mcy 账号后再启用。本地/离线验证环境可用 .verify/enable_plugins.php 启用(原理见 docs/dspay-分支接入总结.md 踩坑 #11)。
    • 若插件目录是通过 git 直接放置(未走商店安装流程),回调路由缓存不会生成,需 CLI 注册一次:
      \Kernel\Plugin\Route::inst()->add(
          require BASE_PATH . '/app/Plugin/DsPay/Config/Route.php',
          'DsPay'
      );
      验证:curl -i -X POST https://你的域名/plugin/ds-pay/notify 返回框架 JSON 应答(而非 404)即成功。
  3. 后台 → 支付设置 → 添加支付配置,选择 DS-Pay,填入:
    • 网关地址(gateway_url):如 https://wallet.ds.pro注意是 wallet API 网关域名,不是收银台域名,以商户后台实际分配为准)
    • 商户编号(merchant_no)
    • API 密钥(api_secret)
    • 汇率(exchange_rate):1 人民币 = X USDT,如 0.137(仅接受 (0,1] 区间;小额测试期可临时设 1,上线前必须改回真实汇率
  4. 后台 → 支付设置 → 支付方式列表,添加支付方式:code 填 dspay,绑定上一步的配置,启用,终端选全端,适用范围需勾选商品购买(否则结算页看不到该支付方式)。
  5. 确认后台站点设置中绑定的域名包含回调到达所用域名(带端口的要单独一条;修改后需重启 PHP 服务,配置缓存按进程生效)。
  6. (推荐,可选)到 DsPay 商户后台把回调地址(notifyUrl)配置为:
    https://你的域名/plugin/ds-pay/notify
    
    不配置回调也能完成支付闭环:插件内置主动查单兜底(Sync::settle),用户打开订单查询页/结算页时会向网关确认支付状态,已支付则自动发货——代价是发货时机依赖用户回访页面,配置回调则到账秒级发货。
  7. 保存即可收款。

⚠️ API 密钥等同资金凭证,切勿泄露到公开场合;怀疑泄露请立即在商户后台轮换。 ⚠️ 汇率语义是「1 人民币 = X USDT」,配反方向(如 7.2)插件会直接拒绝;金额×汇率截断后为 0 的订单无法创建(如 0.01 元 × 0.137),测试请使用小额商品 + 临时汇率 1。

更多接入细节、部署后验证清单与踩坑速查,见 docs/dspay-分支接入总结.md

本地一键演示(Docker)

.verify/ 目录提供完整本地验证环境,无需登录商店账号即可跑通「下单 → USDT 收银台 → 回调验签 → 自动发卡」:

cd .verify && docker compose up -d && bash init.sh   # 首次:起容器 + 装库(admin@mcy.local / admin123)
php .verify/enable_plugins.php                        # 启用 DsPay / CardShip 插件并注册回调路由
php .verify/setup_demo.php                            # 一键搭演示数据:支付配置/方式 + 测试商品(0.01 元,CardShip 自动发货)
php .verify/smoke_checkout.php                        # 冒烟:游客下单并检查结算页列出 USDT 支付

之后前台打开 http://127.0.0.1:18788/,用测试商品下单、选「USDT 支付」即可体验真实收银台。本地无需内网穿透:支付完成后回到订单查询页(收银台支付成功会自动跳回),插件主动向网关查单并自动发卡。全部脚本可重复执行(幂等)。

商户凭据放 .verify/credentials.php(已被 git 忽略,勿提交):<?php return ['gateway_url' => 'https://wallet.ds.pro', 'merchant_no' => '你的商户号', 'api_secret' => '你的密钥']; ⚠️ api_secret 等同资金凭证,仅放本地或 CI 秘密变量;怀疑泄露立即在商户后台轮换。

安装部署

环境要求

  • PHP >= 8.1必须启用 bcmath 扩展(金额运算必需),另需 curl、openssl、gd、zip
  • MySQL >= 5.6(推荐 5.7 / 8.0)
  • 系统本身的安装流程见上游官方文档:https://wiki.mcy.im

安装步骤

第 1 步:下载本仓库

git clone -b dspay https://github.com/DigitalShieldOfficial/mcy-shop.git
cd mcy-shop

第 2 步:安装依赖

composer install

第 3 步:安装系统

按官方文档完成安装(数据库信息按你的实际环境填写),安装完成后后台地址是:https://你的域名/admin

第 4 步:配置 DsPay

DsPay 支付 章节启用插件并填入商户参数即可收款。

功能简介

萌次元商城系统基于异次元店铺系统3.0 全新重构,历时两年精心打磨,初心不改。我们采用纯原生PHP打造了一款极具潜力的个人创业型商城系统。数据库底层经过对hyperf/database 的深度优化,感谢hyperf开发团队提供的强大ORM组件。模版渲染引擎采用世界著名symfony团队开发的twig ,安全且高性能。以下为系统主要功能介绍,更多细节等待您亲自下载体验。

  • 自主研发底层框架,支持多种部署环境:兼容FPMCLI双架构,构建从零到一的纯原生底层框架,适用于虚拟主机、虚拟VPS和高性能云服务器,支持超大型负载均衡部署,能够处理百万级并发。
  • 全新内容安全过滤系统:确保用户输入内容到数据库的安全性,不再强制过滤用户输入的HTML 代码(如分站公告、商品介绍等需要HTML展示的内容),保证100%安全过滤用户提交的内容。
  • 全站API二进制加密通讯:使用AES加密,对所有API接口数据进行二进制加密传输,大幅提升数据传输的安全性和私密性。
  • 插件系统 :支持多种插件开发模式,包括控制器(API/VIEW)、管理菜单(后台/用户)、控制台命令(命令式插件开发)、进程(定时/后台任务等插件开发)、WebSocket(即时通讯类插件开发)、支付(支付插件开发)、货源(发货插件开发)、HOOK(页面/API钩子类插件开发)。
  • 模板系统:提供高扩展性的模板HOOK,支持控制器(API/VIEW)开发,方便开发者快速构建高性能、功能强大的插件及模板。
  • 国际化支持:完全支持i18n国际化,支持自定义显示国家货币及翻译内容。
  • 丰富的用户角色设计:适用于构建小型个人创业商城、及中大型货源平台及第三方经销商网站,包含平台(主站)、供货商、商家(分站/经销商)、顾客(会员)等多种角色。
  • 分站独立插件/模板:分站即主站,商家开通分站后,几乎拥有与主站相同的功能,可自主安装插件和模板,包括自定义支付接口,无需依赖主站的支付接口。
  • 多样化的发货方式:通过安装不同的发货插件,如虚拟卡密、游戏账号、实体商品实时物流、游戏充值业务、账号充值业务等,满足各种业务需求。
  • DsPay 链上支付(本仓库内置):USDT/USDC 托管收银台收款,回调验签自动发货;配合 CardShip 卡密发货插件实现链上支付买卡密、全流程无人值守。

更多支持

  • 上游交流QQ群:317898299
  • 上游 Telegram
  • DsPay 相关问题请在本仓库提交 Issue

许可证

本项目沿用上游 MIT License(Copyright (c) 2024 lizhipay)。感谢上游项目 lizhipay/mcy-shop 的优秀工作。

About

纯原生PHP打造一款极具潜力的个人创业型商城系统、商业发卡、个人发卡、二次元发卡、PHP发卡,支持虚拟商品,实体商品,支持任意支付方式!

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages