alipay-cny-only.php
✔ 隔离库 jnc_ma_e2e_h8 就绪(105 张表,缺列 0)
【组 A gatewayPayCurrencyOk 判据】
✅ 支付宝(1) 收 CNY → 可用
✅ 支付宝(1) 收 MYR → 不可用
✅ 微信(3) 收 CNY → 可用
✅ 微信(3) 收 MYR → 不可用
✅ PayPal(7) 收 MYR → 可用
✅ Xendit(8) 收 MYR → 可用
✅ 未登记通道(999) → 不可用
✅ 已退役通道(4) → 不可用
✅ 币种大小写不敏感(cny)
✅ 空币种 → fail-closed
【组 B-1 User::enabledNativePaymodes(支付选择页展示 + pay_select_do 白名单,共用)】
✅ MYR 订单:列表不含支付宝(1)
✅ MYR 订单:列表不含微信(3)
✅ CNY 订单:列表仍含支付宝(1)(守卫)
✅ MYR 订单仍有可选通道(没把页面拒空)
【组 B-2 WxApi::getwxPayModeid(App 建单默认通道)】
✅ CNY corp:默认通道 = 支付宝(1)(守卫,证明本用例真的走到了这条链)
✅ MYR corp:默认通道不再是支付宝(1)
✅ MYR corp:默认通道也不是微信(3)
【组 B-3 Order::orderConfirm(PC 结算页 radio;断言渲染出来的 HTML)】
✅ 结算页确实渲染出来了(不是异常/空页)
✅ CNY corp:结算页出现"支付宝"(守卫)
✅ MYR corp:结算页不再出现"支付宝"
【组 B-4 Order::createOrder(构造 paymodeid=1 提交)】
✅ 两次调用都越过了 selectedarr 空校验(否则下面两条是空转)
✅ MYR corp:被"支付方式不可用"挡在建单之前
✅ CNY corp:同款输入不被币种闸挡(守卫,改被购物车校验拒)
✅ 两次尝试都没有真的建出订单
【组 C validateAmountCurrency:两个 CNY-only 通道都要 fail-closed】
✅ 支付宝:pdcurrency=MYR → reject
✅ 支付宝:pdcurrency=MYR → status reject
✅ 支付宝:pdcurrency=CNY → 放行(守卫)
✅ 支付宝:拒绝时留下了 alert 审计行
✅ 微信:pdcurrency=MYR → reject
✅ 微信:pdcurrency=MYR → status reject
✅ 微信:pdcurrency=CNY → 放行(守卫)
✅ 微信:拒绝时留下了 alert 审计行
【组 D PayV2::doalipay 下单闸】
✅ MYR 订单:被币种闸拒(错误页出现"仅支持人民币订单")
✅ MYR 订单:没有产出支付宝表单
✅ CNY 订单:没有被币种闸拒(守卫 —— 它会走到后面的签名/配置分支)
✅ 两个子进程都真的跑起来了(没在切库处早退)
✅ 闸拒之后 pd 状态没被动过
✅ 测试库 corp 币种已还原
✅ 组 D 夹具已自清
────────────────────────────
PASS=39 FAIL=0
✔ 已销毁 jnc_ma_e2e_h8