Files
junhong_cmp_fiber/docs/integrations/alipay/README.md

31 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 支付宝接入契约
## 元数据
- Owner支付适配维护人
- 实现:`pkg/alipay/``github.com/smartwalle/alipay/v3 v3.2.29`
- 核验日期2026-08-07
- 环境:支付宝沙箱或生产商户;本文不保存凭证
## 当前实际使用范围
系统使用手机网站支付 `TradeWapPay` 生成签名支付 URL并处理异步通知未发现退款、转账或当面付调用。`payment.PaymentNo` 写入 `out_trade_no`,金额从分转为元字符串,产品码固定为 `QUICK_WAP_WAY`,有效期存在且晚于当前时间时写入 `time_expire`
## 配置、认证与关键字段
配置来自支付配置记录AppID、应用私钥、支付宝公钥、通知地址和返回地址。SDK 使用 RSA2 完成请求签名与通知验签。请求关键字段为 `notify_url``return_url``subject``out_trade_no``total_amount``product_code``time_expire`
通知只有 `trade_status=TRADE_SUCCESS``TRADE_FINISHED` 才进入成功处理;处理前还需匹配商户支付号、配置和金额。业务支付号承担幂等标识,重复通知由现有支付状态条件保护。
## 失败、超时与重试
配置不完整或 SDK 生成 URL 失败映射为项目支付配置错误;通知签名、金额或状态不符按回调失败处理。创建支付 URL 不自动重试避免重复业务意图通知是否重发由支付宝控制本系统必须保持回调幂等。SDK 超时未在本适配器单独覆盖。
## 安全与验证
私钥、公钥原文、完整通知报文和用户标识不得写入本文或普通日志。可复现静态证据:`pkg/alipay/wap.go``pkg/alipay/notify.go``internal/handler/callback/payment.go`。真实验收需在隔离商户完成下单、签名通知、错误金额和重复通知四个场景;本次 Context 重建不调用真实渠道。
官方参考:<https://opendocs.alipay.com/open/203/107091>
渠道版本、认证、字段、通知状态或重试语义变化时更新本文。