{
  "input": "{\n  \"openapi\": \"3.0.3\",\n  \"info\": {\n    \"title\": \"IDACHF-3 邮储收款账户保存掩码防护增量\",\n    \"version\": \"2026-07-21-masked-save\",\n    \"description\": \"PC 管理端邮储收款账户列表、详情和保存接口。写入 Apifox 项目 5737553 的 PC 端目录 48690332。\"\n  },\n  \"tags\": [\n    {\n      \"name\": \"邮储收款账户\",\n      \"description\": \"账单管理下的邮储支付配置维护接口，与账单记录模块同级。\"\n    }\n  ],\n  \"paths\": {\n    \"/p/psbcaccount/save\": {\n      \"post\": {\n        \"tags\": [\n          \"邮储收款账户\"\n        ],\n        \"x-apifox-folder\": \"邮储收款账户\",\n        \"summary\": \"新增或编辑邮储收款账户\",\n        \"description\": \"仅平台管理员可调用。id 为空时新增，传 id 时编辑。账户状态只允许 3=可用、4=停用；可用必须绑定一所顶级学校，停用不得绑定学校。新增时三个密钥必填；编辑时密钥不传或传空会保留原密文，不能把详情接口返回的带 ******** 脱敏值作为新密钥提交。若学校已有账户，首次返回确认提示，再传 confirm_replace_binding=1 后停用旧账户并完成替换。\",\n        \"operationId\": \"psbcAccountSave\",\n        \"requestBody\": {\n          \"required\": true,\n          \"content\": {\n            \"application/x-www-form-urlencoded\": {\n              \"schema\": {\n                \"$ref\": \"#/components/schemas/PsbcAccountMaskedAwareSaveRequest\"\n              },\n              \"examples\": {\n                \"create\": {\n                  \"summary\": \"新增可用账户\",\n                  \"value\": {\n                    \"name\": \"荣海小学餐费账户\",\n                    \"status\": 3,\n                    \"settlement_desc\": \"学生餐费统一结算\",\n                    \"school_uuid\": \"school-a-uuid\",\n                    \"merchant_no\": \"100610100002386\",\n                    \"payment_id\": \"shop-payment-001\",\n                    \"merchant_public_key\": \"MERCHANT-SM2-PUBLIC-KEY\",\n                    \"merchant_private_key\": \"MERCHANT-SM2-PRIVATE-KEY\",\n                    \"psbc_public_key\": \"PSBC-SM2-PUBLIC-KEY\",\n                    \"remark\": \"开户、联调或使用说明\"\n                  }\n                },\n                \"editWithoutChangingKeys\": {\n                  \"summary\": \"编辑基础资料并保留原密钥\",\n                  \"value\": {\n                    \"id\": 1,\n                    \"name\": \"荣海小学餐费账户\",\n                    \"status\": 3,\n                    \"settlement_desc\": \"学生餐费统一结算\",\n                    \"school_uuid\": \"school-a-uuid\",\n                    \"merchant_no\": \"100610100002386\",\n                    \"payment_id\": \"shop-payment-001\",\n                    \"remark\": \"修改说明\"\n                  }\n                },\n                \"disable\": {\n                  \"summary\": \"停用账户\",\n                  \"value\": {\n                    \"id\": 1,\n                    \"name\": \"荣海小学餐费账户\",\n                    \"status\": 4,\n                    \"school_uuid\": \"\",\n                    \"merchant_no\": \"100610100002386\",\n                    \"payment_id\": \"shop-payment-001\"\n                  }\n                }\n              }\n            }\n          }\n        },\n        \"responses\": {\n          \"200\": {\n            \"description\": \"业务结果，以 code=0 表示成功\",\n            \"content\": {\n              \"application/json\": {\n                \"schema\": {\n                  \"$ref\": \"#/components/schemas/PsbcAccountMaskedAwareSaveResponse\"\n                },\n                \"examples\": {\n                  \"success\": {\n                    \"summary\": \"保存成功\",\n                    \"value\": {\n                      \"code\": 0,\n                      \"message\": \"保存成功\",\n                      \"data\": {\n                        \"id\": 1,\n                        \"uuid\": \"cc819d52-14c3-4bd1-a81b-c08ae3ce1cad\",\n                        \"name\": \"荣海小学餐费账户\",\n                        \"status\": 3,\n                        \"status_label\": \"可用\",\n                        \"school_uuid\": \"school-a-uuid\",\n                        \"school_name\": \"荣海小学\",\n                        \"merchant_no\": \"100610100002386\",\n                        \"merchant_no_masked\": \"********2386\",\n                        \"payment_id\": \"shop-payment-001\",\n                        \"merchant_public_key_configured\": true,\n                        \"merchant_private_key_configured\": true,\n                        \"psbc_public_key_configured\": true,\n                        \"version_no\": 1,\n                        \"editable\": true\n                      }\n                    }\n                  },\n                  \"schoolConflict\": {\n                    \"summary\": \"学校已有当前账户，需要二次确认\",\n                    \"value\": {\n                      \"code\": 1,\n                      \"message\": \"所选学校已有当前收款账户，请确认后再更换\",\n                      \"data\": []\n                    }\n                  },\n                  \"permissionDenied\": {\n                    \"summary\": \"非平台管理员\",\n                    \"value\": {\n                      \"code\": 1,\n                      \"message\": \"仅平台管理员可维护邮储收款账户\",\n                      \"data\": []\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  },\n  \"components\": {\n    \"schemas\": {\n      \"PsbcAccountListItem\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"id\": {\n            \"oneOf\": [\n              {\n                \"type\": \"integer\"\n              },\n              {\n                \"type\": \"string\"\n              }\n            ],\n            \"description\": \"配置主键；历史只读兼容记录为 legacy_psbc_config\"\n          },\n          \"uuid\": {\n            \"type\": \"string\",\n            \"description\": \"配置 UUID\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"账户名称\"\n          },\n          \"status\": {\n            \"type\": \"integer\",\n            \"enum\": [\n              3,\n              4\n            ],\n            \"description\": \"账户状态：3可用，4停用\"\n          },\n          \"status_label\": {\n            \"type\": \"string\",\n            \"enum\": [\n              \"可用\",\n              \"停用\"\n            ]\n          },\n          \"settlement_desc\": {\n            \"type\": \"string\"\n          },\n          \"school_uuid\": {\n            \"type\": \"string\",\n            \"description\": \"绑定学校 UUID；未绑定时为空字符串\"\n          },\n          \"school_name\": {\n            \"type\": \"string\",\n            \"description\": \"绑定学校名称\"\n          },\n          \"school_uuids\": {\n            \"type\": \"array\",\n            \"deprecated\": true,\n            \"description\": \"旧前端兼容字段，当前最多一个学校\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"school_names\": {\n            \"type\": \"array\",\n            \"deprecated\": true,\n            \"description\": \"旧前端兼容字段，当前最多一个学校\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"merchant_no_masked\": {\n            \"type\": \"string\",\n            \"description\": \"脱敏商户号，仅显示最后4位\",\n            \"example\": \"********2386\"\n          },\n          \"version_no\": {\n            \"type\": \"integer\",\n            \"description\": \"支付参数版本号\"\n          },\n          \"remark\": {\n            \"type\": \"string\"\n          },\n          \"is_legacy\": {\n            \"type\": \"boolean\",\n            \"description\": \"是否为缺表场景下的历史只读兼容记录\"\n          },\n          \"editable\": {\n            \"type\": \"boolean\",\n            \"description\": \"当前记录是否允许编辑\"\n          },\n          \"create_time\": {\n            \"type\": \"string\",\n            \"description\": \"创建时间\"\n          },\n          \"update_time\": {\n            \"type\": \"string\",\n            \"description\": \"最近更新时间\"\n          }\n        }\n      },\n      \"PsbcAccountMaskedDetail\": {\n        \"allOf\": [\n          {\n            \"$ref\": \"#/components/schemas/PsbcAccountListItem\"\n          },\n          {\n            \"type\": \"object\",\n            \"properties\": {\n              \"merchant_no\": {\n                \"type\": \"string\",\n                \"description\": \"完整 B2C 商户号\"\n              },\n              \"payment_id\": {\n                \"type\": \"string\",\n                \"description\": \"统一收单门店号或支付标识\"\n              },\n              \"merchant_public_key\": {\n                \"type\": \"string\",\n                \"readOnly\": true,\n                \"description\": \"商户 SM2 公钥脱敏值，仅平台管理员详情返回；格式为开头 8 位 + ******** + 结尾 8 位\"\n              },\n              \"merchant_private_key\": {\n                \"type\": \"string\",\n                \"format\": \"password\",\n                \"readOnly\": true,\n                \"description\": \"商户 SM2 私钥脱敏值，仅平台管理员详情返回；格式为开头 8 位 + ******** + 结尾 8 位\"\n              },\n              \"psbc_public_key\": {\n                \"type\": \"string\",\n                \"readOnly\": true,\n                \"description\": \"邮储支付 SM2 公钥脱敏值，仅平台管理员详情返回；格式为开头 8 位 + ******** + 结尾 8 位\"\n              },\n              \"merchant_public_key_configured\": {\n                \"type\": \"boolean\"\n              },\n              \"merchant_private_key_configured\": {\n                \"type\": \"boolean\"\n              },\n              \"psbc_public_key_configured\": {\n                \"type\": \"boolean\"\n              },\n              \"config_complete\": {\n                \"type\": \"boolean\",\n                \"description\": \"支付参数是否完整\"\n              }\n            }\n          }\n        ]\n      },\n      \"PsbcAccountMaskedAwareSaveRequest\": {\n        \"type\": \"object\",\n        \"required\": [\n          \"name\",\n          \"status\",\n          \"merchant_no\",\n          \"payment_id\"\n        ],\n        \"properties\": {\n          \"id\": {\n            \"type\": \"integer\",\n            \"minimum\": 1,\n            \"description\": \"编辑时传配置主键；新增时不传\"\n          },\n          \"name\": {\n            \"type\": \"string\",\n            \"maxLength\": 100,\n            \"description\": \"账户名称，同一商城内不能重复\",\n            \"example\": \"荣海小学餐费账户\"\n          },\n          \"status\": {\n            \"type\": \"integer\",\n            \"enum\": [\n              3,\n              4\n            ],\n            \"default\": 3,\n            \"description\": \"账户状态：3可用，4停用\"\n          },\n          \"settlement_desc\": {\n            \"type\": \"string\",\n            \"maxLength\": 500,\n            \"description\": \"结算说明\"\n          },\n          \"school_uuid\": {\n            \"type\": \"string\",\n            \"description\": \"顶级学校 UUID。状态为3时必填，状态为4时必须为空\",\n            \"example\": \"school-a-uuid\"\n          },\n          \"merchant_no\": {\n            \"type\": \"string\",\n            \"maxLength\": 128,\n            \"description\": \"B2C 商户号\",\n            \"example\": \"100610100002386\"\n          },\n          \"payment_id\": {\n            \"type\": \"string\",\n            \"maxLength\": 128,\n            \"description\": \"统一收单门店号或支付标识\",\n            \"example\": \"shop-payment-001\"\n          },\n          \"merchant_public_key\": {\n            \"type\": \"string\",\n            \"writeOnly\": true,\n            \"description\": \"商户 SM2 公钥完整值。新增必填；编辑时不传或传空表示保持原值，不接受带 ******** 的详情脱敏值\"\n          },\n          \"merchant_private_key\": {\n            \"type\": \"string\",\n            \"writeOnly\": true,\n            \"format\": \"password\",\n            \"description\": \"商户 SM2 私钥完整值。新增必填；编辑时不传或传空表示保持原值，不接受带 ******** 的详情脱敏值\"\n          },\n          \"psbc_public_key\": {\n            \"type\": \"string\",\n            \"writeOnly\": true,\n            \"description\": \"邮储支付 SM2 公钥完整值。新增必填；编辑时不传或传空表示保持原值，不接受带 ******** 的详情脱敏值\"\n          },\n          \"remark\": {\n            \"type\": \"string\",\n            \"maxLength\": 500,\n            \"description\": \"备注\"\n          },\n          \"confirm_replace_binding\": {\n            \"type\": \"integer\",\n            \"enum\": [\n              0,\n              1\n            ],\n            \"default\": 0,\n            \"description\": \"学校已有账户时，二次确认传1；保存成功后旧账户会被停用并解除学校绑定\"\n          }\n        }\n      },\n      \"PsbcAccountMaskedAwareSaveResponse\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"code\": {\n            \"type\": \"integer\",\n            \"description\": \"0成功，1失败\"\n          },\n          \"message\": {\n            \"type\": \"string\"\n          },\n          \"data\": {\n            \"oneOf\": [\n              {\n                \"$ref\": \"#/components/schemas/PsbcAccountMaskedDetail\"\n              },\n              {\n                \"type\": \"array\",\n                \"maxItems\": 0,\n                \"description\": \"失败时返回空数组\"\n              }\n            ]\n          }\n        },\n        \"required\": [\n          \"code\",\n          \"message\",\n          \"data\"\n        ]\n      }\n    }\n  }\n}\n",
  "options": {
    "targetEndpointFolderId": 48690332,
    "targetSchemaFolderId": 0,
    "endpointOverwriteBehavior": "OVERWRITE_EXISTING",
    "schemaOverwriteBehavior": "KEEP_EXISTING",
    "updateFolderOfChangedEndpoint": true,
    "prependBasePath": false
  }
}
