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

2.0 KiB
Raw Permalink Blame History

支付宝接入契约

元数据

  • 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_urlreturn_urlsubjectout_trade_nototal_amountproduct_codetime_expire

通知只有 trade_status=TRADE_SUCCESSTRADE_FINISHED 才进入成功处理;处理前还需匹配商户支付号、配置和金额。业务支付号承担幂等标识,重复通知由现有支付状态条件保护。

失败、超时与重试

配置不完整或 SDK 生成 URL 失败映射为项目支付配置错误;通知签名、金额或状态不符按回调失败处理。创建支付 URL 不自动重试避免重复业务意图通知是否重发由支付宝控制本系统必须保持回调幂等。SDK 超时未在本适配器单独覆盖。

安全与验证

私钥、公钥原文、完整通知报文和用户标识不得写入本文或普通日志。可复现静态证据:pkg/alipay/wap.gopkg/alipay/notify.gointernal/handler/callback/payment.go。真实验收需在隔离商户完成下单、签名通知、错误金额和重复通知四个场景;本次 Context 重建不调用真实渠道。

官方参考:https://opendocs.alipay.com/open/203/107091

渠道版本、认证、字段、通知状态或重试语义变化时更新本文。