Skip to content

Releases: certhon/fakawang

支付宝到账监听端 v1.0(Android)

Choose a tag to compare

@certhon certhon released this 04 Aug 12:46

配套 alipay_personal 支付渠道的安卓通知监听端。用于「支付宝个人收款码」的自动对账:监听到账通知 → 签名上报 → 服务端按金额反查订单 → 自动发货。

只有启用「支付宝个人码」渠道才需要它。用当面付 / 易支付 / USDT / Binance Pay 的话,不需要下载。

下载安装

下载下方 alipay-listener-v1.0.apk,在安卓手机安装(需允许「安装未知来源应用」)。

  • 最低系统:Android 8.0(API 26)
  • 已正式签名,非 debuggable(防止 HMAC 密钥被 adb 读出)

配置步骤

服务端

npx wrangler secret put ALIPAY_PUSH_SECRET   # 自己生成:openssl rand -hex 32

后台「支付渠道」→ 支付宝个人码,填:

{ "account": "main", "qrContent": "你的收款码内容" }

qrContent = 用扫码工具扫你的支付宝个人收款码得到的那串 URL。

App 端

  1. 填写站点地址、账号标识(须与后台 account 一致)、共享密钥(须与 ALIPAY_PUSH_SECRET 一致)→ 保存
  2. 点「去授予通知使用权」→ 在系统设置里勾选本应用
  3. 点「申请忽略电池优化」→ 允许。不做会被系统杀掉导致漏单
  4. 点「连通性自检」→ 应提示 ✅ 连通且验签通过

自检失败对照

提示 原因
接口 404 服务端代码未部署
bad signature App 密钥与服务端 ALIPAY_PUSH_SECRET 不一致
secret not configured 服务端没设 ALIPAY_PUSH_SECRET
unknown account 后台 account 与 App 填的不一致

可靠性设计

  • 到账先落本地持久化队列,上报成功才出队;断网由 WorkManager 指数退避补推
  • 幂等键由通知内容派生,同一通知重复回调不会重复结算
  • 签名带 ±5 分钟时间窗防重放,时间戳在发送瞬间生成
  • 通知按「收款/到账」白名单 +「退款/支出」黑名单过滤,不会把付款当收入

⚠️ 风险提示

个人收款码用于经营性收款违反支付宝服务协议,存在限额、冻结、封号风险。整条链路还依赖「手机不掉线、通知不被杀、网络通畅」,务必在后台保留手动确认收款的兜底手段并定期核对未结订单。