spec.md 2.8 KB

medical-insurance-payment Specification

Purpose

定义 PRI-MP-PAY-002 医保授权与医保支付的正式能力边界。该规格约束医保授权、医保小程序回跳、医保卡绑定、济南医保、医保预结算、医保状态查询和跨模块医保支付上下文;真实授权、跳转和支付按旧版正式链路开放,由用户明确确认后执行,页面生命周期不得自动触发。

Requirements

Requirement: REQ-PAY-002-01 PAY-002 医保授权与支付契约

系统 MUST 恢复旧版医保授权、前置、预结算、跳转和回跳承接,并按正式链路开放真实动作。

  • MUST:普通医保使用 wxe183cd55df4b4369,济南医保使用 wx3bbfe9f3aa83ce17,小程序环境使用正式 release
  • MUST:按业务需要顺序调用 010500100105001101050002,并以 130980 服务端状态为最终结论。
  • MUST:挂号医保的 01050002 MUST 复用旧版 REGPAY 外层与 03100041 嵌套体,设置 insuFlag: '02'、医保 authCodemedicalcardid;网关外层 params 必须直接承载业务对象,禁止扁平载荷或重复嵌套。
  • MUST:旧版医保前置 01050011 仅传 openIDpubAccCodeidCardNopatNamehospCode01050010 仅传 pubAccCodeopenID。预结算返回的交易号必须保存为后续医保回跳和 130980 查询上下文。
  • MUST:处理 scene=1038 回跳,兼容 extraData.code===0extraData.authCode 与 query authCode;不得把 code===0 当作授权码。
  • MUST NOT:没有用户明确确认或有效订单时发起医保接口、小程序跳转或医保支付。
  • MUST NOT:向生产 UI 渲染授权码、医保卡号、患者标识或原始响应。

Scenario: 正式医保结算

  • GIVEN 用户明确确认且支付上下文有效
  • WHEN 用户发起医保授权或结算
  • THEN 系统 SHALL 按旧版顺序调用对应接口并跳转指定医保小程序,回跳后仅显示脱敏状态

Scenario: 业务前置条件不完整

  • GIVEN 用户未确认或支付上下文无效
  • WHEN 用户尝试医保授权或结算
  • THEN 系统 SHALL 阻止动作且不得调用医保接口或跳转外部小程序

Requirement: REQ-PAY-002-02 医保卡二级页稳定布局

医保卡页 MUST 在保留原有脱敏状态、用户确认和真实接口边界的前提下,使用微信原生导航栏并提供不溢出、不遮挡的固定主操作区。

Scenario: 医保卡页小屏显示

  • GIVEN 用户进入医保卡页
  • WHEN 页面在小屏或带底部安全区的设备上渲染
  • THEN 页面 MUST 只使用一层导航标题
  • AND 绑定医保卡主按钮 MUST 在内容边距内占满可用宽度
  • AND 页面内容 MUST NOT 被固定操作区或安全区遮挡。