fix(v2): P4 终审波——歧义渠道错误留 processing(ErrRefundRejected 哨兵)/ 拒绝fixture签名 / 错误映射测试 / GetRefund 日志
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013nMthbVEmQquxBRKb9Fj8u
This commit is contained in:
@@ -98,6 +98,14 @@ type QueryRequest struct {
|
||||
var (
|
||||
ErrUnknownMethod = errors.New("provider: unknown method")
|
||||
ErrNotSupported = errors.New("provider: capability not supported")
|
||||
|
||||
// ErrRefundRejected — 渠道对退款请求的一个"确定性"拒绝(如金额超出可退余额、
|
||||
// 交易已完结等业务规则拒绝),而非超时/网络错误/5xx 这类结果不确定的失败。
|
||||
// RefundingProvider.Refund 的实现须在能确认渠道明确拒绝时,让返回的 error 满足
|
||||
// errors.Is(err, ErrRefundRejected)(errors.Join 或 %w 包裹均可);网关据此区分
|
||||
// "钱确定没退成可以标 failed 释放额度" vs "退没退不确定,必须留 processing 占额度
|
||||
// 交人工/对账收敛"(P6 RefundStuckAlertTask)。
|
||||
ErrRefundRejected = errors.New("provider: refund rejected by channel")
|
||||
)
|
||||
|
||||
// Provider — 每个支付渠道实现的统一接口(设计 §4.1 PaymentProvider)。
|
||||
|
||||
Reference in New Issue
Block a user