Page:
Task 66 Android payment chooser reconciliation
Pages
Android-Agent-API-Contract
Architecture-and-Code-Map
Business-Rules-and-Glossary
Common-Changes
Delivery-Issues
Deployment-Template
Deployment-and-Operations
Development-Workflow
Home
Local-Development-and-Verification
OnePlus-Real-Device-Acceptance
PDD-Detail-Rule-Migration-Analysis
Product-Requirements-Overview
Project-Profile
SYB-ERP-Interface-Contract
Task 26 PDD spec traversal
Task 31 PDD product archive
Task 32 procurement closed loop prototype
Task 33 purchase task contract
Task 34 purchase task state machine
Task-35-Admin-采购任务与人工处理页面
Task-36-Android地址后缀不可逆门禁与创建订单
Task 40 Shopee product archive
Task 41 SYB product import
Task-42-Android-采购演练规则与持久执行基线
Task-43-升级-DevHarness-文档基线
Task-43-升级-GoAuto-DevHarness-文档基线
Task-44-Admin-SYB商品列表规格匹配入口与批量采购创建
Task-47-升级-DevHarness-文档基线至-bfdf648
Task-49-店铺管理与-SYB-同步店铺过滤
Task 50 SYB async sync
Task 51 SYB list layout
Task 52 SYB sync diagnostics
Task-53-补齐采购规则参数化动作契约
Task-54-统一采集与采购任务设备状态
Task-55-补齐采购任务-Admin-列表与详情查询接口
Task-56-采购-Admin-接口成功响应兼容
Task-57-优化采购管理筛选栏布局
Task-58-采购管理失败任务批量重试
Task-59-修复-PDD-规格入口误触商品评论页
Task-60-修复可选颜色切换后价格缺失
Task-61-修复采购规格探测未识别安全入口
Task-62-采购规格标准化匹配与-AI-Provider-设置
Task-63-采购列表刷新不得触发-AI-规格匹配
Task-64-修复正式采购规格滚动定位与重复探测卡死
Task 65 purchase address panel recovery
Task 66 Android payment chooser reconciliation
Task-67-SYB-与采购任务蝦皮订单号
Task-68-调整-SYB-商品页顶部工具栏与采购入口
Task-69-蝦皮与-PDD-规格匹配.-
Task-70-从-cmautobuy-线上库导入-PDD-与蝦皮商品
Task-71-Supervisor-GoAuto-services
Task-72-Fix-Supervisor-SYB-startup-race
Task-73-优化-SYB-商品列表加载与采购准备预检
Task-74-优化-SYB-商品筛选与列表列宽
Task-75-SYB-Hourly-Sync
Task-78-在-SYB-同步记录页增加管理员立即同步
Task-79-SYB-只读分页请求超时后有限重试
Task-81-修复-SYB-查看-PDD-商品跳转
Task-82-区分去关联-PDD-与去匹配动作
Task-83-PDD-商品单商品定位模式
Task-85-修复采购员账号登录并补齐最小权限
Task-Archive-Template
Troubleshooting
Clone
7
Task 66 Android payment chooser reconciliation
QiuSW edited this page 2026-09-21 16:13:32 +08:00
66 修复创建订单后多微信选择器与只读核单恢复
- 类型:缺陷
- 所属 Epic:采购 MVP
- 状态:待用户验收
- 日期:2026-08-22
- Gitea 工单:#66
- 设计证据:恢复 Android 内部只读核单行为,无 Admin UI 变化,不需要原型。
背景与目标
CG-12 已完成地址修改和最终复核,并在 2026-08-22 10:03:43.027 进入 order_submit_started。创建订单按钮只点击一次后,三星进入 Android 多微信应用选择器,旧 Agent 没有识别系统选择器,无法回到 PDD 获取订单号和下单时间,任务进入 order_result_unknown。全程未支付。
用户确认正确流程是从多微信选择器返回 PDD,再离开 PDD 支付页,继续只读订单详情。参考 D:\chengma\cmautobuy\client\src\pdd_u2_purchase_reconcile_adapter.py 的白名单核单实现。
最终方案
- 只有前台包为
android/com.android.intentresolver、Activity 为已知ChooserActivity/ResolverActivity、页面出现已知选择器标题且至少一个候选以“微信”开头时,才把页面认定为多微信选择器。 - 已知选择器最多按一次返回,不点击任何微信候选;一次返回后仍出现选择器则返回未知结果。
- 回到 PDD
com.xunmeng.pinduoduo.app_pay.core.PayActivity,或当前页面出现明确支付动作文字时,最多再按一次返回;不点击支付控件。 - 返回 PDD 后继续累计只读页面证据,只有唯一订单号和合法下单时间同时成立才完成核单。
- 非白名单系统页面、返回失败、重复选择器/支付页、结果歧义或超时均返回未知结果;不重新创建任务、不再次点击创建订单、不取消订单、不支付。
- CG-12 保持
order_result_unknown,本工单实施期间未重试或自动解除。 - 用户于 2026-08-22 人工确认 CG-12 对应商品已出现在 PDD“待付款订单”,证明创建订单成功且不得再次下单;由于尚未取得订单号和下单时间,服务端仍保持
order_result_unknown。
修改文件
android/app/src/main/java/cn/ilapage/goauto/agent/automation/PurchaseLiveAutomation.ktandroid/app/src/test/java/cn/ilapage/goauto/agent/PurchaseLiveAutomationTest.kt- Wiki
Business-Rules-and-Glossary、Android-Agent-API-Contract
验收结果
| 验收标准 | 结果 |
|---|---|
| 已知多微信选择器最多返回一次且不点击微信 | 自动化测试通过 |
| PDD 支付页最多返回一次且不点击支付 | 自动化测试通过 |
| 返回订单详情后读取唯一订单号和下单时间 | 自动化测试通过 |
| 非白名单选择器不自动返回 | 自动化测试通过 |
| 既有地址、创建订单一次性和禁止支付边界 | Android 全量测试通过 |
| 最新 APK 安装三星 | adb install -r 返回 Success |
| CG-12 是否实际创建待付款订单 | 用户人工确认存在;未支付 |
测试
android/gradlew.bat testDebugUnitTest --tests cn.ilapage.goauto.agent.PurchaseLiveAutomationTest:通过。android/gradlew.bat testDebugUnitTest assembleDebug:通过。scripts/verify.ps1 -Component android:通过。python dev_scripts/harness.py check --strict:通过。git diff --check:通过。- 未验证部分:最新 APK 尚未通过新的正式采购任务验证自动选择器返回与订单号读取。CG-12 已人工确认存在待付款订单,但尚缺订单号和下单时间,不能解除
order_result_unknown;再次创建订单或继续不可逆核单必须获得用户明确授权。全程未支付。
相关提交
0ceb248fix(#66): recover from Android payment chooser
验收结论
- 状态:已验收
- 验收日期:2026-08-22
- 用户确认:#66 验收通过
- 真机证据:CG-12 已出现在 PDD「待付款订单」中
- 实现提交:
0ceb2482338f8bce84bb7bf4d0d9a8cfa74b0c42 - 安全边界:仅恢复多微信选择器与执行只读核单,未执行支付