Skip to content

从部署到第一笔支付 ​

更新时间:2026/10/16 09:53:00

本文介绍系统部署成功后,如何通过一系列必要配置,最终跑通第一笔支付。

  • 全程以「支付宝(直连)」的沙箱环境为例,不产生真实资金往来;沙箱验证通过后切换生产环境的步骤见文末
  • 只讲解必要流程,可选项会单独标注;每一节的界面字段与操作均与当前版本系统一致
  • 通用功能(订单、退款、分账等日常操作)见业务功能各章节
  • 正式生产上线的全量配置(域名规划、HTTPS、对外接口、风控收紧、网关收款等)见完整上线指南

前置条件:

  • 系统已按项目运行或一键部署完成部署,健康检查 {"status":"UP"} 通过
  • 已导入初始化 SQL,可以使用开发环境超级管理员账号登录运营端
  • 已注册支付宝开放平台账号(沙箱验证阶段使用其沙箱环境,无需企业认证)

全程约需 30~60 分钟,各步耗时见下表。

上线流程总览 ​

整个上线过程分为两个阶段:运营端配置让系统具备收款条件,商户端配置完成对接签名并验证支付。

步骤操作端菜单入口耗时
1. 账号安全运营端系统管理 → 用户管理5 分钟
2. 端点配置运营端系统管理 → 系统配置 → 平台配置5 分钟
3. 沙箱环境运营端接入配置 → 支付产品配置2 分钟
4. 创建商户运营端商户管理 → 商户列表5 分钟
5. 开通通道商户运营端商户工作台 → 通道商户5 分钟
6. 配置通道密钥运营端通道商户 → 应用管理15 分钟(含支付宝侧操作)
7. 对接签名配置商户端商户中心 → 业务配置 → 对接配置5 分钟
8. 第一笔支付商户端开发调试 → 支付调试(普通)5 分钟

逐项勾选清单见上线检查清单。

第一步:首次登录与账号安全 ​

使用部署时初始化的超级管理员账号登录运营端。开发环境的默认账号见项目运行 - 默认登录账号(账号 bootx,仅 dev 环境可登录运营端)。

超级管理员仅限开发环境

超级管理员由配置项 daxpay.platform.starter.auth.enable-admin 控制,dev 默认开启,prod 强制关闭。生产环境请在完成本节操作后确认该配置为 false,详见配置说明 - 超级管理员。

建议立即完成:使用超管在「系统管理 → 权限 → 用户管理」中创建正式的运营管理员账号,分配角色与菜单权限后,日常使用该账号操作。用户管理的详细操作见用户管理。

第二步:配置平台端点 ​

菜单路径:运营端 → 系统管理 → 系统配置 → 平台配置 → 端点配置

端点配置告诉系统各端的对外访问地址。点击右上角「编辑」进入编辑态,填写后「保存」(保存前会弹确认框,「取消」可撤销修改)。

配置项用途
管理端访问地址运营管理端的基础访问地址,第三方登录 client=admin 时用于生成回调 URL
商户端访问地址商户管理端的基础访问地址,须与商户前端访问源一致并在开放平台白名单登记
支付网关前端地址支付收银台 / 网关页面的访问地址,支付页面跳转依赖此项
后端 API 地址后端服务的基础 API 地址,支付回调通知等后端发起的场景依赖此项

示例格式:https://admin.daxpay.com、https://pay.daxpay.com、https://api.daxpay.com。

每个地址右侧都有「检查」按钮:后端 API 地址的检查会调用部署自检探针(验证回调接口可达),其余地址校验 HTTP 可达性,通过时会显示延迟(如 连通性检查通过 (35ms))。

本地开发环境怎么填

本地没有公网地址时:先填写格式合法的域名占位(如 https://pay.example.com),保证接口调用不报错;需要真实接收回调时,按本地联调配置内网穿透后替换为穿透地址。

同级的其他页签均为可选,按需配置:

页签内容说明
站点配置系统名称、Logo、备案与版权信息对外展示类配置
OSS 配置S3 兼容对象存储对账单等文件存储,详见存储配置
邮件配置SMTP 邮件服务找回密码等通知场景
敏感词策略敏感词检测启停一般保持默认

第三步:确认沙箱环境 ​

沙箱环境使用支付宝提供的测试账号与密钥,可以在不产生真实资金的情况下验证完整支付流程,首次上线强烈建议使用。

沙箱由两层机制控制:

层级控制方式说明
全局开关配置项 daxpay.platform.config.sandbox-enabled开发环境默认开启;生产环境强制关闭,界面上的沙箱入口随之隐藏
产品环境运营端「接入配置 → 支付产品配置」每个支付产品单独切换「生产 / 沙箱」

操作:进入 接入配置 → 支付产品配置,找到「支付宝(直连)」产品,点击产品卡片右上角的环境标签,将其切换为沙箱。

先切环境,再建通道商户(重要)

通道商户在创建时会按产品当时的环境固化快照(沙箱 / 生产),此后:

  • 切换产品环境不会影响已创建的通道商户;
  • 环境与产品不一致的通道商户会被路由排除,发起支付时报环境不匹配错误;
  • 通道商户列表的「环境状态」列 tooltip 也提示了这一点:「创建时固化的环境标识,不随产品切换改变」。

因此操作顺序必须是:先在产品配置中切到沙箱,再执行第五步创建通道商户。沙箱验证完成后切回生产时,需要重新创建生产环境的通道商户并配置生产密钥。

两点补充说明:

  • 只有支持沙箱的产品才显示环境切换:「支付宝(直连)」支持沙箱,「支付宝(服务商)」不支持。
  • 「支付管理 → 支付主数据」下的支付产品、支付通道、支付能力等是系统内置主数据,只读不可新建,无需关心创建顺序;「支付产品配置」页负责的才是启停与环境切换。

第四步:创建商户 ​

菜单路径:运营端 → 商户管理 → 商户列表 → 新增

表单分为「商户信息」与「管理员信息」两组:

字段必填说明
商户名称是商户全称
商户简称是列表与页面中展示的简称
主体类型是小微商户 / 个体工商户 / 企业
账号是该商户管理员的登录账号(用于商户端登录)
名称是管理员显示名称
密码 / 确认密码否留空时系统自动生成随机初始密码;如填写则需输入两次且一致

点击「保存」后,系统自动完成四件事,无需手动操作:

  1. 生成全局唯一的商户号(M 开头);
  2. 创建该商户的管理员账号,绑定商户超管角色(可登录商户端);
  3. 创建默认应用(A 开头的 appId,发起支付时不指定 appId 则默认使用它);
  4. 创建默认门店。

创建成功后抽屉切换为结果展示:顶部绿色提示「请立即复制并妥善转告用户,对方首次登录后需自行修改密码」,面板展示账号与初始密码(明文),密码旁有「复制」按钮。

初始密码只显示一次

初始密码仅在此结果页展示一次,关闭抽屉后无法再次查看,只能通过重置密码处理。请立即复制保存。

第五步:开通通道商户 ​

通道商户是商户在具体支付产品(通道)上的开通记录,发起支付前必须至少开通一个。

菜单路径:运营端 → 商户管理 → 商户列表 → 操作列「管理」→ 商户工作台 → 支付配置分组 → 通道商户

顺带认识一下商户工作台。它是运营端代管商户所有配置的入口,按磁贴卡片分组:

分组包含功能
基础管理商户资料、商户用户、门店管理、系统终端
支付配置通道商户、应用管理、支付应用(微信)、支付应用(抖音)
业务配置对接配置、域名校验文件
危险操作删除商户(强确认,仅无交易数据的商户可删)

进入「通道商户」列表页,点击工具栏「创建通道商户」,创建分两步:

Step 1 选择支付产品:页面以卡片形式列出所有已启用的产品(产品 Logo、产品名、所属通道),右上角显示该产品当前的环境标签(橙色「沙箱」/ 蓝色「生产」,仅支持沙箱的产品显示)。选择「支付宝(直连)」后点击「下一步」。

Step 2 填写通道信息(支付宝直连):

字段说明
支付产品只读回显所选产品
通道商户名称自定义名称,便于在列表中辨识
支付宝商家用户 ID支付宝账号的合作伙伴身份 ID(2088 开头),沙箱环境填沙箱商家的账号(见下一步的沙箱参数获取)

点击「创建通道商户」,成功后展示绿色对勾与「通道商户已成功创建」提示,点击「关闭页面」返回列表。通道商户号由系统自动生成(通道前缀 + 随机数),创建后不可修改。

微信(直连)对照

微信直连的创建参数为「通道商户名称 + 微信支付商户号(商户平台上查看到的 mchId)」。微信转账场景不在创建向导中,创建后进入通道商户详情的「交易配置」分组里补配(「转账场景」与「转账发起应用」)。

若需在微信内打开 H5 / JSAPI 支付页或统一收银台,还要先在商户工作台「业务配置 → 域名校验文件」上传微信侧下发的域名验证文件(MP_verify_*.txt),完成域名归属校验。

列表页说明:

  • 「环境状态」列展示每个通道商户固化的沙箱/生产标签;
  • 「启用状态」开关可以临时禁用某个通道商户(禁用后其支付不可用);
  • 顶部的「通道商户」全局列表(商户管理 → 通道商户)是跨商户的汇总视图,创建操作仍需从商户工作台进入。

第六步:配置通道密钥 ​

创建通道商户只是登记了商户身份,还需要配置通道密钥(支付宝侧的应用凭证)才能调用支付宝接口。

支付宝(直连)密钥配置 ​

菜单路径:商户工作台 → 通道商户 → 操作「管理」→ 支付宝直连商户管理 → 应用管理分组 → 应用管理 → 应用卡片「管理」→ 密钥配置页签

进入密钥配置前,界面顶部会显示只读的「环境」标签(生产 / 沙箱),旁注「环境由通道商户创建时确定,不可在此切换」。环境正确性在第三步已保证。

先拿沙箱参数:登录支付宝开放平台控制台,进入「沙箱环境」页面(开发联调专区),可以看到:

  • 沙箱应用 APPID(如 9021000000000000 开头)
  • 沙箱支付宝公钥(用于「支付宝公钥」字段)
  • 沙箱买家账号(测试付款用,配有沙箱钱包 App 下载入口)

「应用私钥」使用支付宝官方密钥工具生成(开放平台文档中心可下载,选择「公钥模式」生成 RSA2 密钥对),私钥自己留存,公钥配置回支付宝开放平台。

再回系统配置:密钥配置页签中,先在「基础配置」选择认证方式:

认证方式需要配置的字段
公钥(public_key)应用ID、支付宝公钥、应用私钥
证书(cert)应用ID、应用公钥证书、支付宝公钥证书、支付宝根证书(三个 .crt 文件上传)、应用私钥

沙箱联调用「公钥」方式最简单。此外还有「通信密钥」分组(AES 密钥,部分接口报文加解密使用,开放平台控制台获取)。

网关地址无需配置

系统按通道商户的环境自动选择支付宝网关(沙箱 openapi-sandbox.dl.alipaydev.com / 生产 openapi.alipay.com),界面上没有网关地址字段,也不需要关心。

点击右上角「编辑」→ 填写 → 「保存」(弹确认框)。当前版本没有「连接测试」按钮,密钥是否正确在第八步发起支付时验证。

最常见的配错点

「支付宝公钥」填的是支付宝侧的公钥(开放平台展示给你、用于你验签支付宝报文的那个),不是你自己生成的「应用公钥」。两者填反是联调失败的最常见原因。

微信(直连)密钥对照 ​

微信直连的密钥配置入口较浅:通道商户详情 → 基础管理 → 「直连密钥配置」抽屉。字段:

分组字段
接口密钥API V3 密钥(商户平台「API 安全」中设置)
支付证书API 证书(apiclient_cert.pem)、API 证书私钥(apiclient_key.pem)、证书序列号、支付公钥(pub_key.pem)、支付公钥 ID

各通道密钥参数的完整说明见支付宝通道、微信通道文档。

第七步:商户对接配置(互换签名公钥) ​

业务系统调用 unipay 开放接口使用 RSA 签名,签名是商户级的(同一商户的所有应用共用):

  • 商户请求:用商户私钥签名 → 平台用「商户公钥」验签;
  • 平台响应与回调:用平台私钥签名 → 商户用「平台公钥」验签。

因此需要互换一次公钥。

菜单路径:商户端 → 商户中心 → 业务配置 → 对接配置(页面顶部提示:「商户 API 配置用于接口调用时的身份验证与数据加解密,请妥善保管密钥信息」)

区块操作用途
平台公钥只读,点「复制」带回业务系统业务系统用它验证平台响应与回调的签名
商户公钥点击「生成密钥对」自动填入,或粘贴已有公钥平台用它验证商户请求的签名
通信密钥可选,点击「生成密钥」接口调用时数据加密(AES)

操作流程:

  1. 点击「生成密钥对」,若已有公钥会先确认覆盖;
  2. 弹窗标题「RSA 密钥对」,展示生成的私钥,黄色警示条:「私钥仅在此处展示一次,请务必妥善保管,丢失无法找回」。立即复制私钥并妥善保存(下一步支付调试与业务系统签名都要用);
  3. 关闭弹窗(公钥已自动回填表单),点击「保存」(弹确认框)。

运营端也可以代管此配置:商户工作台 → 业务配置 → 对接配置(同一功能的运营侧入口)。

第八步:发起第一笔支付 ​

系统内置的开发调试页面可以模拟真实的 unipay 调用,无需编写代码即可验证整条支付链路。

菜单路径:商户端 → 开发调试 → 支付调试(普通)(页面标注「模拟商户 API」,提交后将真实调用 /unipay/pay 接口)

操作步骤:

  1. 设置商户私钥:点击「设置私钥」按钮,在弹窗中粘贴第七步保存的商户私钥(说明文案:「仅用于生成请求签名,仅保存在浏览器本地缓存中」)。设置后按钮区显示绿色「已设置」标签;
  2. 选择支付模式:
    • 跟随通道路由(推荐):选「商户 + 应用 + 支付方式」,由应用路由解析通道商户与支付能力;
    • 直接指定:手动选「通道商户 + 支付能力」,跳过通道路由(排错时用);
  3. 填写订单信息:订单号(可点「生成」自动填)、支付金额(单位:分,最低 1)、支付标题;「支付参数」区的「支付方式」选择如 支付宝扫码(alipay_qr);
  4. 提交支付:点击底部红色「提交支付」。页面自动完成组参与签名,调用统一支付接口;
  5. 查看结果:弹窗展示返回结果,扫码类支付显示支付二维码与支付链接,JSAPI 类支付展示参数 JSON,底部有「完整 DaxResult 响应」可复制;
  6. 完成付款:在支付宝沙箱钱包 App 中登录沙箱买家账号,扫描结果弹窗中的二维码完成支付。

支付成功后核对订单:

  • 商户端「交易订单 → 支付订单 → 普通订单」或「支付交易」页可以看到订单,业务状态变为「成功」;
  • 如果本地环境无法接收通道回调,订单会停留在待支付,在订单列表对该单执行「同步」操作即可拉取最新状态。

网关支付调试

如果要用统一收银台或聚合扫码(码牌、一码多付)链路,先在应用工作台完成「网关支付配置」,然后使用「开发调试 → 支付调试(网关)」:选择网关支付类型(统一收银台 / 聚合扫码),提交预下单后返回网关落地页 URL(可扫码或打开),验证收银台页面。详见网关支付。

第九步(可选):回调验证与签名联调 ​

沙箱支付跑通后,建议再验证回调与签名,之后就可以正式对接了:

  • 异步回调:在支付调试的「异步通知地址」字段填写你的接收地址并发起支付,验证回调报文接收与验签;回调格式见异步回调。生产环境的统一通知配置(应用工作台「异步通知配置」,支持订阅支付/退款事件)当前版本建设中,后续版本开放。
  • 签名排查:接口验签失败时,使用「开发调试 → 签名调试」:「签名生成」页签输入参数 JSON 与私钥,可复现待签名字符串与签名值(RSA2);「签名验证」页签可用公钥反向验证。常见失败原因是时间字段未按东八区 yyyy-MM-dd HH:mm:ss 格式传输。
  • 正式对接:按接口文档对接 unipay 接口,或直接使用官方 SDK(Go / Java / Node.js / PHP / Python,签名逻辑已内置)。

切换生产环境 ​

沙箱验证通过后:

  1. 「接入配置 → 支付产品配置」将产品环境切回生产;
  2. 重新走第五、六步:创建生产环境的通道商户(会固化生产快照),配置从支付宝开放平台正式应用获取的生产密钥;
  3. 确认部署配置 sandbox-enabled=false(生产强制,启动时系统会把遗留的沙箱产品自动重置为生产);
  4. 建议先用小额真实支付做一次端到端验证。

常见问题 ​

现象原因与处理
发起支付报「通道商户环境不匹配」通道商户创建时固化的环境与产品当前环境不一致(先建商户后切环境)。按正确顺序重建通道商户
验签失败 / 签名不正确商户公钥未保存或私钥不配对;用「签名调试」页核对;确认时间字段为东八区格式
支付宝接口报密钥错误「支付宝公钥」误填成了自己生成的「应用公钥」,或公钥/证书模式与开放平台侧设置不一致
二维码出来了但订单一直待支付本地收不到通道回调。用订单「同步」拉取状态;生产环境检查「后端 API 地址」公网可达
找不到「创建」通道商户的按钮创建入口在商户工作台内的通道商户列表;全局通道商户列表只有查看与启停
初始密码丢了无法找回,重置该商户管理员密码(运营端用户管理或商户端找回密码通道)

下一步 ​