1.8 KiB
1.8 KiB
富友接入契约
元数据
- Owner:支付适配维护人
- 实现:
pkg/fuiou/ - 核验日期:2026-08-07
- 来源:当前代码和商户接口约定;仓库未保存可公开的版本号
当前实际使用范围
系统仅使用微信预下单 POST <ApiURL>/wxPreCreate 与支付通知。交易类型为 JSAPI(公众号)或 LETPAY(小程序);未发现退款、撤销或查单能力。
配置、认证与传输
运行配置包含 API 地址、机构号、商户号、终端号、RSA 私钥、公钥及通知地址。请求先生成 XML,再转换为 GBK,并对请求参数做双重 URL 编码;请求和响应使用 RSA 签名/验签。除 reserved 外的请求字段即使为空也参与 XML 与签名。
关键请求字段包括 mchnt_order_no、order_amt(分)、txn_begin_ts、notify_url、trade_type、sub_openid、sub_appid。响应 result_code=000000 表示渠道成功,并返回富友流水号和 JSAPI 支付字段。
幂等、失败与重试
mchnt_order_no 是渠道业务幂等键;通知处理还需校验签名、商户订单号、金额及当前支付状态。非 000000、验签失败、解码失败或字段不匹配均不得推进支付状态。客户端未实现自动重试,调用方只有在可确认沿用同一商户订单号时才可重试。
安全与验证
RSA 私钥、公钥、机构和商户凭证不得进入文档或普通日志;通知日志必须脱敏。可复现静态证据:pkg/fuiou/client.go、pkg/fuiou/wxprecreate.go、pkg/fuiou/types.go、internal/handler/callback/payment.go。真实验收需使用隔离商户验证两种交易类型、签名失败、金额不符和重复通知;本次不调用真实渠道。
端点、编码、签名字段、成功码或通知语义变化时更新本文。