今日总收款
$48,320
↑ 12.4%
7个通道 · 3个B站
成功率
97.3%
↑ 0.8%
354笔 · 9笔失败
活跃B站
3
正常运行
绑定通道共6个
活跃A站
4
配对完成
均已与B站配对
通道健康
| 通道 | 状态 | 今日收款 | 日限使用 |
|---|
最近支付
| 状态 | 订单号 | 金额 | B站 | 时间 |
|---|
轮询分配比例
ℹ Shopify B站可作为独立收款通道绑定到网关。WooCommerce B站则先在自己的 WP 后台绑定 Stripe/PayPal/信用卡等收款方式,网关只负责建单、跳转和回调。
ℹ B站是实际收款的站点。WooCommerce B站需要先启用自己的收款插件,再安装 AB Gateway B-Site 桥接插件;Shopify B站则绑定 Admin Token 后作为独立收款站参与轮询。
A站以“商户应用”接入:应用持有应用ID、密钥和网关地址,并绑定一个轮询组。轮询组再决定哪些B站承接支付。
每个轮询组对应一个A站。Shopify A站只能使用直连跳转到B站支付;WooCommerce / 自建站可选择嵌入A站支付页或直连跳转。
全局通道分配(所有B站汇总)
加权轮询:weight 越大被分配概率越高。超限或停用通道自动跳过。连续失败5次自动禁用。
今日路由统计
| 通道 | 类型 | 权重 | 今日分配 | 成功 | 失败 | 成功率 | 今日收款 |
|---|
⚠ 连续失败 5 次自动禁用。日限额凌晨 00:00、月限额每月1日自动重置。
| 通道 | 单笔范围 | 日金额限额 | 日笔数限额 | 月金额上限 | 连续失败 | 状态 | 操作 |
|---|
真实运行时,这里直接读取后端订单会话。A站 Draft、B站 Draft/Order、付款状态和物流同步状态会集中在这里对账。
| 状态 | Session ID | A站订单/Draft | B站订单/Draft | 金额 | 通道 | B站 | A站 | 物流 | 时间 |
|---|
⚠ 当前方案不进入 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站 Shopify 下单 → B站 Shopify 付款的关键卡点
| 检查点 | 当前设计 | 是否顺畅 | 注意事项 |
|---|
Shopify B站轮询池
每个 Shopify A站 可配多个 Shopify B站,按权重选择承接付款站
| A站 Shopify | 可用 Shopify B站池 | 权重比例 | 可用通道 |
|---|
客户侧流畅链路
A站 Shopify 不需要 Payments Partner
A站主题按钮示例
放在 cart 页或 App Embed 中
接口闭环
后端真正需要实现的核心接口
| 步骤 | 接口 | 作用 | 状态 |
|---|
外部结账流水
A站发货后,可将物流单号同步到对应 B站订单;B站同步不通知客户
| 状态 | Session | A站Draft | B站Draft/Order | A站 | B站 | 金额 | A站物流 | B站同步 | 操作 |
|---|
| 状态 | 类型 | 来源/目标 | Session | 事件 | HTTP | 耗时 | 时间 |
|---|
邮件只作为通知层,不改变订单支付状态。A站客户通知、B站平台同步通知和物流邮件建议分模板配置,避免误发。
B站接入流程(收款方)
1
在网关后台注册 B站账号
管理员在「B站管理」页面点击「注册B站」,填写站点信息。系统生成 B站账号ID 和 B站密钥。
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"
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
POST https://your-gateway.com/api/webhooks/wp/orders-paid
A站接入流程(导流方)
1
在网关后台注册 A站账号
管理员在「A站管理」页面注册A站,系统生成 A站账号ID 和 A站密钥。
2
在网关后台配置轮询组
在「轮询组」页面,将该A站与一个或多个B站绑定,并配置权重和支付呈现方式。Shopify 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"
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 /shopify/complete-draft-order
X-Gateway-Signature: hmac-sha256...
{ "status": "SUCCESS", "draftOrderId": "..." }
X-Gateway-Signature: hmac-sha256...
{ "status": "SUCCESS", "draftOrderId": "..." }
完整支付链路
🛍 A站(Shopify)
客户加购物车
客户加购物车
→
🌐 网关
按权重选择B站
按权重选择B站
→
💳 B站收银页
WP/Shopify自有收款
WP/Shopify自有收款
→
✅ Stripe/PayPal
实际扣款
实际扣款
→
🌐 网关回调
分发通知
分发通知
→
📦 A站完成订单
+B站记录收款
+B站记录收款
⚠ 建议使用合规、稳定、独享的业务出口 IP。该配置用于保持 Shopify 站点访问环境一致,不应用于规避平台规则。代理账号密码只保存在网关后端加密配置中,前端仅显示掩码。
Shopify 站点出口绑定
A站/B站分别绑定自己的 SOCKS5 出口
| 站点 | 角色 | 收款账号 | 绑定出口 | 出口IP/地区 | 状态 | 上次检测 | 操作 |
|---|
SOCKS5 出口账户
host / port / username / password
| 名称 | SOCKS5 | 账号 | 地区 | 出口IP | 状态 | 操作 |
|---|
生产就绪检查
服务器上线前必须逐项确认
等待检查...
服务状态
Backend API
等待检测...
备份快照
上线前、修改 Token 前、恢复前都建议生成快照
| 文件 | 大小 | 更新时间 | 用途 | 操作 |
|---|
A站接入密钥
A站前台 cart-intake 签名用,密钥轮换后只显示一次
| A站 | 类型 | App ID | 签名密钥 | 状态 | 更新时间 | 操作 |
|---|
测试结账
创建真实路由 Session,Shopify Token 未绑定时走 mock invoice
尚未创建
路由预检
下单前检查 A站当前可用 B站池和排除原因
尚未检查
Shopify A/B站绑定
保存 Admin Token、Webhook Secret,并调用 Shopify shop 查询测试
| 站点 | 类型 | 健康 | Shopify域名 | API版本 | Token | Webhook Secret | 上次测试 | 操作 |
|---|
真实会话流水
创建结账后,可模拟 B站支付成功并同步物流
| 状态 | Session | A站/B站 | 金额 | Checkout | 过期时间 | 支付时间 | 物流 | 操作 |
|---|
支付异常审核
金额/币种不匹配的 B站 Webhook 会进入这里
| 状态 | Session | 期望 | 实际 | 错误原因 | 事件 | 时间 | 操作 |
|---|
Webhook 日志
幂等状态、失败原因、重试次数
| 状态 | 事件ID | 店铺 | Topic | 次数 | 失败原因 | 时间 | 操作 |
|---|
审计日志
后台敏感操作记录
| 操作人 | 动作 | 内容 | 时间 |
|---|
安全配置
通知配置
风控默认值
定时任务
后台账号
超级管理员可创建子账号,并限制订单、站点、密钥、邮件、代理、备份等操作权限
| 账号 | 角色 | 状态 | 权限 | 最后登录 | 操作 |
|---|