费用支付接口
该接口用于处理用户缴纳物业费用(如物业费、停车费、维修费等),支持现金、转账、账户抵扣等多种支付方式,并记录缴费明细。
http://{domain}/app/fee.payFee
(通过Java110Cmd的serviceCode = "fee.payFee"触发)  
POST  
| 参数名称 | 必填 | 类型 | 描述 | 
|---|---|---|---|
| Authorization | 是 | String | 用户认证Token(Base64编码) | 
| app-id | 是 | String | 应用ID(由系统分配) | 
| transaction-id | 是 | String | 请求流水号(格式:1000000000+YYYYMMDDhhmmss+6位序列) | 
| sign | 是 | String | 请求签名(防篡改校验) | 
| req-time | 是 | String | 请求时间(YYYYMMDDhhmmss) | 
| 参数名称 | 必填 | 类型 | 描述 | 
|---|---|---|---|
| communityId | 是 | String | 小区ID | 
| feeId | 是 | String | 费用ID(需唯一标识待缴费项) | 
| cycles | 是 | String | 缴费周期(单位:月,或特殊值-105表示自定义时间段) | 
| receivedAmount | 是 | BigDecimal | 实收金额(单位:元,精确到分) | 
| primeRate | 否 | String | 支付方式(如现金、微信、支付宝等) | 
| custEndTime | 条件 | String | 自定义结束时间(当cycles=-105时必填,格式:yyyy-MM-dd HH:mm:ss) | 
| customStartTime | 条件 | String | 自定义开始时间(当cycles=-105时必填) | 
| selectDiscount | 否 | Array | 优惠信息(见下方子字段) | 
| selectUserAccount | 否 | Array | 账户抵扣信息(见下方子字段) | 
子字段说明:
selectDiscount(优惠信息):  [{
  "discountId": "优惠ID",
  "discountPrice": "优惠金额",
  "ardId": "空置房折扣申请ID(可选)"
}]
selectUserAccount(账户抵扣信息):  [{
  "acctId": "账户ID",
  "amount": "抵扣金额"
}]
| 参数名称 | 类型 | 描述 | 
|---|---|---|
| code | String | 返回码(0成功,其他失败) | 
| msg | String | 返回消息(如失败原因) | 
| data | Object | 缴费明细数据(见下方) | 
data字段结构:
{
  "detailId": "缴费明细ID",
  "receiptCode": "收据编号",
  "startTime": "费用开始时间",
  "endTime": "费用结束时间",
  "receivedAmount": "实收金额"
}
| 状态码 | 含义 | 可能原因 | 
|---|---|---|
| 0 | 成功 | - | 
| 1001 | 参数校验失败 | 必填字段缺失或格式错误 | 
| 2001 | 费用已结束 | 该费用项已无法再缴费 | 
| 3001 | 账户余额不足 | 抵扣金额大于账户余额 | 
| 5001 | 系统异常 | 数据库操作失败或分布式锁冲突 | 
POST /app/fee.payFee
Headers:
  Authorization: Bearer xxxxxx
  app-id: hc_micro_community
  transaction-id: 100000000020240101120000000001
  sign: xxxxxx
  req-time: 20240101120000
Body:
{
  "communityId": "123456789",
  "feeId": "FEE_20240001",
  "cycles": "12",
  "receivedAmount": "3600.00",
  "primeRate": "CASH",
  "selectDiscount": [{
    "discountId": "DISC_001",
    "discountPrice": "200.00"
  }],
  "selectUserAccount": [{
    "acctId": "ACCT_001",
    "amount": "1000.00"
  }]
}
{
  "code": "0",
  "msg": "成功",
  "data": {
    "detailId": "DETAIL_20240001",
    "receiptCode": "RC20240001",
    "startTime": "2024-01-01 00:00:00",
    "endTime": "2025-01-01 23:59:59",
    "receivedAmount": "3600.00"
  }
}
校验阶段:
STATE_FINISH)。  核心操作:
PayFeeDetailPo)和更新费用时间(PayFeePo)。  accountInnerServiceSMOImpl.withholdAccount)。  cycles=-105),自动生成欠费记录。关联操作:
finishFeeNotifyImpl)。  DistributedLock)保证并发安全。  BigDecimal.ROUND_HALF_UP)。  yyyy-MM-dd HH:mm:ss格式。