Files
uniprop-manual/prop-acc/scenarios/deposit/refund-with-payment-channel-switch.md
2026-05-25 22:27:38 +08:00

5.8 KiB

title, aliases, tags, audience, status, sub_feature, last_review, code_version
title aliases tags audience status sub_feature last_review code_version
prop-acc · deposit · 场景 - 退款渠道与缴款渠道不同
退款换渠道
现金缴款银行转账退
refund-with-payment-channel-switch
场景-押金退款换渠道
场景
prop-acc
保证金
退款
业户
业务人员
已发布 deposit 2026-05-25 2026-05-22

场景:退款渠道与缴款渠道不同

业户当初现金缴款,现在想银行转账退(或反之)。系统支持渠道切换 —— PaymentChannel 在退款时独立选择,不绑死缴款时的渠道。

典型情境

[!example] 真实情境(一) 张阿姨当年装修来交押金时带的现金 ¥5,000,留下了银行卡号。现在装修完无损要退,张阿姨说"现金我也不方便领,直接转我卡上吧"。

[!example] 真实情境(二) 王装修公司当年对公账户转账交了 ¥15,000(3 户业主代缴)。退款时公司账号变更,要退到新的对公账号

业户视角

第 1 步:告诉物业退款方式

退押前主动说明期望的退款渠道:

  • "退到我微信"
  • "退到我建行卡 6228xxxxxx1234"
  • "退到我公司新账户" + 提供新账户信息

第 2 步:等退款 + 收到红字收据

红字收据上的"退款渠道"字段反映实际操作的渠道(银行转账 / 微信),与缴款时的不同。例如:

  • 缴款 Receipt:"装修保证金缴纳 ¥5,000(现金)"
  • 退款 Receipt:"装修保证金退还 ¥-5,000(银行转账)"

[!info] 系统不强制原路返回 不像信用卡退款"必须原卡原路退",押金退款可以任意渠道,只要业务方同意。

业务人员视角(物业财务)

第 1 步:打开账户做退款

refund-full-no-damage 流程,在 RefundAction Modal 表单里:

字段 填什么
退款金额 全额或部分
退款渠道(PaymentChannel) 关键! 选当前业户指定的方式,不要被原缴款渠道误导
收款银行账户 若选银行转账,填回款用的物业付款账户(不是业户账户)
备注 推荐写"原现金缴,退银行转账" 提示后续审计

[!warning] PaymentChannel 选错的后果

  • 选错只影响后续线下退款操作和审计追溯,不影响系统资金流
  • 但建议事前与业户确认,事后改字段是没法的(DepositTransaction 不可变)

第 2 步:走线下退款流程

按选定的渠道实际转账:

PaymentChannel 线下动作
微信 用物业微信账号给业户转
银行转账 导出转账指令,银行办理
POS 在 POS 机上做退款(注意:只能退到原 POS 卡,不适合渠道切换)
现金 业户到前台领现金

第 3 步:给红字收据

收据的"退款渠道"字段会反映实际操作渠道,业户能看到。

系统视角

退款的 CollectionOrder.payment_channel_id 字段独立于缴款 CollectionOrder 的同字段。

flowchart LR
  A[缴款 CO #1<br/>payment=现金<br/>actual=+5000] -.关联.-> B[DepositAccount<br/>balance=5000]
  B -.关联.-> C[退款 CO #2<br/>payment=银行转账<br/>actual=-5000]
  B --> D[balance=0, Closed]

每张 CO 各自记录自己的支付渠道,不互相影响。审计时看 2 张 CO 就知道"原现金,退银行转账"。

字段映射(渠道切换涉及的所有字段)

字段 缴款时(CO #1) 退款时(CO #2) 是否必须一致
payment_channel_id 现金 银行转账 独立
bank_account_id NULL(现金不需要) 物业银行账户 独立
actual_amount +5000 -5000 相反符号
community_id 物业项目 必须
community_user_profile_id 张阿姨 必须(若业户账户)

常见问题

[!question] 业户没提供银行卡能不能退? 不能退。退款必须有可执行的回款渠道。如果业户失联无法联系,走 force-close-retain 路径:账户翻 Closed,资金记入 meta.balance_held_* 审计字段,留待业户回来再操作。

[!question] POS 缴款想退到银行卡可以吗? 看 POS 机和银行政策。一般 POS 退款必须原卡原路退。如果业户想换卡:

  • 方案 1:在 POS 机上做"原卡退款",业户收到后自行转去新卡
  • 方案 2:走"虚拟"现金退款 —— 系统记 PaymentChannel=现金,实际走对公转账业户新卡(需财务有完整凭证支撑)
  • 推荐方案 1,合规度高

[!question] 退款渠道与缴款渠道不一致会触发什么审计风险? 主要风险:洗钱嫌疑(虚假交易、套现等)。审计抽查会重点看这类"换渠道"的退款,要求物业留下:

  • 业户书面要求换渠道的依据(签字 / 微信记录截图存档)
  • 物业内部审批记录
  • 银行流水回单

系统只保证账面记录正确(红字 CO + 渠道字段),合规凭证靠物业流程保障。

[!question] 公司账户变更了,如何确保打到新账户? 退款前更新 DepositAccount.payer_contact 字段(纯参考性,不影响支付),并在 Modal 表单"备注"清楚写明"新对公账号:xxx"。线下转账时财务按这个备注操作。

[!question] 部分渠道(微信 / POS)有退款金额上限吗? 微信单笔退款 / POS 单日上限由对应支付网关决定,系统不限制。如超限,实际线下转账需分多笔或走银行转账,但系统记录上仍是一张 Receipt(单笔退款流水)。

异常分支

  • 业户失联无法退款 → force-close-retain
  • 退款触发支付网关失败(微信渠道异常等)→ 当前系统不处理回调,需财务沟通业户后线下补救
  • 业户拒绝任何退款方式 → freeze-during-dispute 冻结调解

相关文档