获取到金额为 0 的订单后,不再立即发送空卡信息反馈。终端必须等待用户放卡,完成一次真实读卡,并在不执行任何扣款或写卡指令的前提下,携带卡片信息反馈接口 C。
READING_ZERO_AMOUNT_CARD,零元读卡失败可以安全返回 WAITING_CARD。readCard(expectedUid),随后立即返回;不调用 consumeSubsidyFirst,不执行第二次物理读卡。CardInfo;before_card_info 与 after_card_info 镜像同一真实快照,amount=0,且不携带 psamID/psamJyNo/tac。ZERO_AMOUNT_CARD_READ_FAILED,不生成成功反馈;用户移卡后继续等待下一次放卡。ZERO_AMOUNT_CARD_READ_SUCCEEDED,接口请求先落库再上传;上传失败继续使用原请求后台补传。本单金额为 0 元,请放卡核验。读取卡片信息后将自动完成结算,不会扣款。正在读取卡片信息 / 零元核验中,请勿移动卡片。卡片读取成功,可拿走卡片。read,没有 consume 和第二次 read。JAVA_HOME=/Users/liang/Library/Java/JavaVirtualMachines/corretto-1.8.0_482/Contents/Home bash ./gradlew :app:testDebugUnitTest :app:assembleDebug --no-daemon --console=plain。BUILD SUCCESSFUL in 21s。app/build/outputs/apk/debug/app-debug.apk,64,336,640 字节。git diff --check 通过;当前代码和基线文档中不再残留 ZERO_REPORTING、零元空卡对象工厂或“零元订单不寻卡”表述。本次只修改代码、测试和文档,不执行暂存、提交、推送、拉取、分支切换或历史改写。