总览仪表盘
实时数据 · 全局概览
今日总收款
$0
真实回调统计
0个活跃通道 · 0个B站
B站当日订单量
0
成功订单
总0笔 · 0笔失败
成功率
等待真实付款
0笔成功 · 0笔失败
B站当日访问量
0
今日跳转
A站跳到B站的订单访问
活跃B站
0
未配置
绑定通道共0个
活跃A站
0
未配对
0个A站已与B站配对
通道健康
通道状态今日收款日限使用
最近真实支付
状态订单号金额B站时间
轮询分配比例
收款通道
Stripe / PayPal / Shopify 等可用收款能力 · 真正给 A站使用时在轮询组里选择 B站通道
ℹ Shopify B站可作为独立收款通道绑定到网关。WooCommerce B站则先在自己的 WP 后台绑定 Stripe/PayPal/信用卡等收款方式,网关只负责建单、跳转和回调。
B站管理(收款方)
WooCommerce / Shopify / 自建站 · 安装插件后连接网关
ℹ B站是实际收款的站点。WooCommerce B站需要先启用自己的收款插件,再安装 AB Gateway B-Site 桥接插件;Shopify B站则绑定 Admin Token 后作为独立收款站参与轮询。
A站管理(导流方)
前台店铺 · 客户在A站下单 → 按轮询组路由到B站完成支付
A站以“商户应用”接入:应用持有应用ID、密钥和网关地址,并绑定一个轮询组。轮询组再决定哪些B站承接支付。
轮询组
每个轮询组绑定一个A站,组内维护B站、权重与支付呈现方式
每个轮询组对应一个A站。Shopify / Shopyy A站使用直连跳转到B站支付;WooCommerce / 自建站可选择嵌入A站支付页或直连跳转。
对账单
按子账号和月份保存做账表格,可直接编辑、追加和汇总
这里是内置做账表。先在系统子账户里完成新增和授权,再进入子账户创建月份表;项目则直接创建在第一层。
轮询调度
加权轮询 · 每B站独立的通道轮询状态
全局通道分配(所有B站汇总)
加权轮询:weight 越大被分配概率越高。超限或停用通道自动跳过。连续失败5次自动禁用。
今日路由统计
通道类型权重今日分配成功失败成功率今日收款
风控限额
每通道独立配置 · 超限自动跳过
⚠ 连续失败 5 次自动禁用。日限额凌晨 00:00、月限额每月1日自动重置。
通道单笔范围日金额限额日笔数限额月金额上限连续失败状态操作
订单列表
A站订单 · B站收款订单 · 网关 Session 对账
真实运行时,这里直接读取后端订单会话。A站 Draft、B站 Draft/Order、付款状态和物流同步状态会集中在这里对账。
默认只看当日订单,历史订单请按日期从数据库查询或导出,避免订单越来越多后页面变慢。
筛选订单
0
当前结果笔数
筛选金额
$0
当前结果总金额
手续费
$0
按已支付订单核算
应收手续费
$0
应收手续费
待处理
0
PENDING / PROCESSING
已支付
0
SUCCESS
状态Session ID子账号A站订单/DraftB站订单/Draft金额通道B站A站物流时间
结算报表
按 A站、B站、通道统计收款、手续费、退款和待结算金额
可结算金额
$0
扣除退款、争议与手续费
手续费合计
$0
按B站设置核算
应收手续费
$0
应收手续费
处理中
$0
等待通道清算
预留保证金
$0
争议/退款风险预留
结算批次
每个批次保留 A站/B站/通道维度,方便财务对账
批次号A站B站通道交易金额手续费退款/争议应结算状态时间
结算规则
建议上线前按通道设置 T+N、手续费和预留比例
通道结算周期手续费预留比例最小结算操作
争议管理
Chargeback、退款、金额不一致、Webhook 异常统一审核
争议单不应自动完成 A站订单。需要核对 A站订单、B站实收、通道流水、物流证明和 Webhook 验签记录后再处理。
争议列表
支持人工审核、上传证据和冻结结算
状态争议单Session类型A站/B站金额原因截止时间操作
API 密钥
A站调用网关、B站插件回调、后台自动化任务使用的密钥
密钥只在创建或轮换时显示一次。正式环境必须按 A站/B站分开授权,避免一个密钥同时拥有过多权限。
接入密钥
用于 HMAC 签名、幂等请求和订单创建
名称归属Key ID权限状态最后使用操作
API 用量
请求量、错误率、延迟、限流与调用方分布
今日请求
18,492
A站/B站/后台 API
成功率
99.24%
失败 141 次
P95 延迟
286ms
Webhook 不计入
限流命中
32
保护通道和站点
接口用量
按 endpoint 统计,方便定位慢接口和异常调用
Endpoint请求数成功率P95错误限流最近错误
广告回传
Google / Meta / TikTok 成交回传 · 只在 B站真实付款成功后触发
最佳做法:Google / Meta / TikTok 广告代码继续放在 A站。SafeS Pay 只采集 A站带来的 gclid/fbclid/ttclid 等广告点击参数与订单 Session,等 B站付款 Webhook 验证成功后,再按 A站自己的广告凭证和出口环境回传。
待回传
0
已有点击ID,等待发送
已回传
0
广告平台已接收
缺少点击ID
0
自然流量或未采集到广告参数
异常/待配置
0
配置后可重试,不丢单
Google 回传诊断
按 A站核对今日成功订单、点击ID采集、转化名称和广告账户时区
A站广告账户 / 时区转化名称今日成功可回传疑似缺ID诊断操作
A站回传配置
按实际投放平台新建配置,不投放的平台不显示,避免列表混乱
A站平台广告账户 / Pixel转化事件凭证环境回传出口增强转化状态最后更新操作
回传事件
只有真实付款成功的 Session 才进入这里;Draft / 跳转不算成交
状态平台Session子账号A站B站/通道金额点击ID回传出口时间错误/备注操作
支付账户
B站自己的 Shopify / Stripe / PayPal / WooCommerce 收款账号配置
支付账户是“收款能力”,支付通道是“网关路由单元”。一个 B站可绑定多个支付账户,网关按健康、限额和权重选择。
账户列表
显示掩码凭证、所属 B站、健康状态和清算状态
账户平台所属B站币种健康今日收款清算状态操作
Webhook 设置
A站、B站、支付通道回调地址与订阅事件
Webhook Endpoint
所有回调必须验签、记录幂等、支持失败重试
名称方向URL订阅事件验签状态操作
推荐回调地址
复制到 Shopify / WooCommerce 后台;Stripe / PayPal 由 B站自身收款插件处理
Shopify B站 orders/paid: https://safespay.app/api/webhooks/shopify/orders-paid
WooCommerce B站支付成功: https://safespay.app/api/webhooks/wp/orders-paid
A站公开下单入口: https://safespay.app/shopify/cart-intake
备用公开入口: https://safespay.app/api/public/shopify/cart-intake
开发文档
A站接入、B站插件、Webhook、签名与测试环境
A站创建结账 Session
POST https://safespay.app/shopify/cart-intake
X-Gateway-App-Id: as_xxxxx
X-Gateway-Timestamp: 1710000000
X-Gateway-Signature: sha256=...
X-Gateway-Idempotency-Key: cart-token-total
{ "amount": 129.99, "currency": "USD", "items": [], "shippingAddress": {}, "cartToken": "..." }
B站插件回调
POST https://safespay.app/api/webhooks/wp/orders-paid
X-BSite-Id: bs_xxxxx
X-Signature: hmac-sha256...
{ "gatewaySessionId": "ss_xxx", "providerOrderId": "1234" }
接入步骤
按顺序完成即可进入真实联调
1
创建 A站 / B站
分别生成 App ID、密钥、Webhook Secret,并绑定轮询组。
2
配置通道与回调
Shopify B站配置 orders/paid,WP B站安装插件,支付账户完成自己的收款绑定。
3
跑真实联调
用真实联调页创建测试订单,检查 A站订单、B站付款、Webhook、物流同步。
帮助文档
运营、财务、客服常见问题与处理 SOP
常见问题
异常处理 SOP
1
支付成功但 A站未完成
检查 Webhook 日志、幂等状态、金额币种是否一致,再手动重试回写。
2
B站被摘除轮询
检查 Shopify Token、Checkout 可访问性、代理出口、Webhook 连续失败原因。
3
物流未同步
确认 A站 tracking number 已填写,B站订单映射存在,并使用 notifyCustomer=false。
品牌配置
后台 Logo、登录页、商户名称、主题色和 favicon
品牌信息
总账户设置后,所有账号、手机和电脑都按这个时区统计“今天/本周/本月”。
预览
浅色后台、清晰菜单、保留 A/B站支付路由特色。
Shopify 外部结账
无 Payments Partner 权限方案 · Draft Order + B站支付 + Admin API 回写
⚠ 当前方案不进入 Shopify 原生支付网关。A站 Shopify 负责商品展示和购物车,客户点击自定义支付按钮进入网关;网关创建 A站 Draft Order 锁单,再跳转到 B站 Shopify Checkout 付款;B站付款成功后才 complete A站 Draft Order。A站发货后,网关可把物流单号同步给 B站平台,但 B站不向客户发送发货通知。
入口方式
Cart Button
替换/隐藏原生 checkout 按钮
订单策略
A Draft → B Draft
A站锁单,B站生成收款链接
支付承接
B Shopify
进入B站 Shopify Checkout
回写状态
A Order Paid
B站付款成功后回写A站
创建支付链接
选择 A站、金额和客户信息,网关实时路由到可用 B站通道并返回付款链接
链路顺畅性检查
A站 Shopify 下单 → B站 Shopify 付款的关键卡点
检查点当前设计是否顺畅注意事项
Shopify B站轮询池
每个 Shopify A站 可配多个 Shopify B站,按权重选择承接付款站
A站 Shopify可用 Shopify B站池权重比例可用通道
客户侧流畅链路
A站 Shopify 不需要 Payments Partner
A站主题按钮示例
放在 cart 页或 App Embed 中
接口闭环
后端真正需要实现的核心接口
步骤接口作用状态
外部结账流水
A站发货后,可将物流单号同步到对应 B站订单;B站同步不通知客户
状态SessionA站DraftB站Draft/OrderA站B站金额A站物流B站同步操作
Webhook 日志
通道回调 + 商户通知记录
收到回调(通道→网关)
发出通知(网关→商户)
状态类型来源/目标Session事件HTTP耗时时间
订单邮件
支付邮件配置 · 邮箱账号 · 模板 · 队列 · 发送记录
邮件模板
支付邮件配置
邮箱账号
域名邮箱
邮件队列
物流邮件记录
支付邮件记录
邮件只作为通知层,不改变订单支付状态。A站客户通知、B站平台同步通知和物流邮件建议分模板配置,避免误发。
接入指引
B站和A站的插件接入步骤
B站接入流程(收款方)
1
在网关后台注册 B站账号
管理员在「B站管理」页面点击「注册B站」,填写站点信息。系统生成 B站账号IDB站密钥
2
B站先绑定自己的收款
如果 B站是 WooCommerce,需要先在该 WP 后台启用 Stripe / PayPal / 信用卡等 WooCommerce 支付方式;如果 B站是 Shopify,则配置该 Shopify 店铺自己的收款能力。
3
B站安装桥接插件
WooCommerce B站安装 AB Gateway B-Site 插件,填入网关地址、B站账号ID和共享密钥。插件不代收款,只负责接收网关建单、返回 WooCommerce 付款链接、付款成功后回调网关。
// WooCommerce B站插件配置示例
GATEWAY_URL = "https://your-gateway.com"
BSITE_ACCOUNT_ID = "bs_xxxxxxxx"
BSITE_SECRET_KEY = "bsk_xxxxxxxxxxxxxxxx"
4
加入A站轮询组
网关按轮询组选择可用 B站。选中 WP B站后,网关创建 WooCommerce 待支付订单并把客户跳转到该 B站自己的付款页。
POST https://your-bsite.com/wp-json/ab-gateway/v1/create-order
POST https://your-gateway.com/api/webhooks/wp/orders-paid
A站接入流程(导流方)
1
在网关后台注册 A站账号
管理员在「A站管理」页面注册A站,系统生成 A站账号IDA站密钥
2
在网关后台配置轮询组
在「轮询组」页面,将该A站与一个或多个B站绑定,并配置权重和支付呈现方式。Shopify / Shopyy A站走直连跳转,WooCommerce / 自建站可嵌入A站支付页。
3
A站接入外部结账按钮
没有 Shopify Payments Partner 权限时,A站不接入 Shopify 原生支付网关,而是在购物车页/App Embed 添加按钮,把 cart token 和商品行发送到网关。
// A站外部结账配置
GATEWAY_URL = "https://your-gateway.com"
ASITE_ACCOUNT_ID = "as_xxxxxxxx"
ASITE_SECRET_KEY = "ask_xxxxxxxxxxxxxxxx"
4
支付完成后回写 Shopify
网关收到B站支付成功回调后,通过 Shopify Admin API complete Draft Order,并在会话流水里记录 B站订单映射。
POST /api/webhooks/shopify/orders-paid
X-Shopify-Hmac-SHA256: ...
{ "note_attributes": [{ "name": "gateway_session_id", "value": "ss_xxx" }] }
完整支付链路
🛍 A站(Shopify)
客户加购物车
🌐 网关
按权重选择B站
💳 B站收银页
WP/Shopify自有收款
✅ Stripe/PayPal
实际扣款
🌐 网关回调
分发通知
📦 A站完成订单
+B站记录收款
Shopify支付通道
Shopify B站收款通道 = 店铺账号 + API模式 + 固定出口环境
只有 Shopify B站收款通道需要固定出口环境。Stripe / PayPal / Braintree 等收款方式直接在 B站自身后台绑定,不需要在这里配置代理。
Shopify 通道环境
把原来的“代理配置”收敛为 Shopify 支付通道配置
通道/站点角色收款平台 / API模式固定出口出口IP/地区状态上次检测操作
SOCKS5 出口账户
host / port / username / password
名称SOCKS5账号地区出口IP状态操作
真实联调
直接调用后端接口 · Shopify Token · 测试结账 · 日志排查
最近跳转效率摘要
真实线上订单 · 自动拆分路由 / A站 Draft / B站付款链接
等待加载...
最近 7 天慢 B站
B站平均总耗时B站建单样本
最近 7 天最慢订单
时间A→B总耗时拆分
生产就绪检查
服务器上线前必须逐项确认
等待检查...
服务状态
Backend API
等待检测...
生产安全状态
数据库同步 · 自动备份 · 服务器资源
等待检测...
备份快照
上线前、修改 Token 前、恢复前都建议生成快照
文件大小更新时间用途操作
A站接入密钥
A站前台 cart-intake 签名用,密钥轮换后只显示一次
A站类型App ID签名密钥状态更新时间操作
测试结账
创建真实路由 Session;Shopify Token 未绑定会阻止创建,避免假链接
尚未创建
路由预检
下单前检查 A站当前可用 B站池和排除原因
尚未检查
Shopify A/B站绑定
保存 Admin Token、Webhook Secret,并调用 Shopify shop 查询测试
站点类型健康Shopify域名API版本TokenWebhook Secret上次测试操作
真实会话流水
创建结账后,只有 B站真实付款回调才会更新为成功
状态SessionA站/B站金额Checkout过期时间支付时间物流操作
支付异常审核
金额/币种不匹配的 B站 Webhook 会进入这里
状态Session期望实际错误原因事件时间操作
Webhook 日志
幂等状态、失败原因、重试次数
状态事件ID店铺Topic次数失败原因时间操作
审计日志
后台敏感操作记录
操作人动作内容时间
系统配置
全局参数 · 安全密钥
安全配置
通知配置
风控默认值
定时任务
账号权限
子账号、角色、可操作权限、可查看数据范围
后台账号
超级管理员可创建子账号,并划分她名下可查看统计的 A站、B站、通道和轮询组
账号角色状态权限数据范围最后登录操作