## 商户与小程序关系

支付测试前，正式商户和目标小程序`appid`的关系必须配置完成。`extended.sub_appid`应填写这一个已配置的小程序`appid`。

如果商户与小程序不是同一主体，应提前确认是否需要联合运营或其他授权关系。不要通过更换`appid`或复用其他项目参数绕过配置。

## openid归属

`payer_uid`使用当前顾客在`extended.sub_appid`所指小程序下的`openid`。其他公众号、其他小程序或其他`appid`下取得的`openid`不能混用。

建议在创建订单时同时保存`appid`和`openid`来源，便于排查用户标识不匹配。

## 支付和查询时长

预下单订单的有效支付时间为4分钟。主动查询用于确认结果，时间窗口可以延伸到第6分钟：

- 预下单成功5秒后开始查询。
- 第0至1分钟，每3秒查询一次。
- 第1至5分钟，每10秒查询一次。
- 第6分钟执行最后一次查询。

最后一次查询仍不是明确成功或失败时，将订单更新为“结果未知”，不得履约或重新发起扣款。

## 退款异常查询

- 退款请求未返回最终状态时，前60秒每3秒查询一次；60秒后结束高频自动查询并转人工处理。
- 已明确返回退款处理中时，可以继续异步跟踪，最长5分钟；仍无最终状态时转人工核实。
- 原退款状态未明确失败前，不得重复提交。

## 前端结果仅用于展示

`wx.requestPayment`的`success`、`fail`和`complete`回调只描述本次前端调用。网络中断、页面关闭或支付渠道处理延迟都可能造成前端状态与交易状态不同。

小程序页面应从商户后台读取订单状态；商户后台只接受验签后的支付回调和**[查询接口](https://open.shouqianba.com/docs/payment/71?category_id=54)**结果作为交易依据。

## 手机真实公网IP

预下单请求的`X-Forwarded-For`应上送当前顾客使用小程序的手机设备真实公网IP。商户后台应从自有可信代理链获取，不能使用服务器IP、固定值或未经校验的客户端请求头。

## 参数和密钥边界

- 小程序只接收`wap_pay_request`和商户订单展示数据。
- `terminal_key`、退款参数和服务端签名逻辑不得下发小程序。
- `wap_pay_request`应原样用于当前订单，不跨订单、顾客或`appid`复用。

