接入易错点
更新时间:2026.11.05一、经营场景与类目合规
注意事项 | 说明、正确应该怎么做 | 不做会怎么样 |
|---|---|---|
不得由外部 App 或网页跳转小程序收银台完成交易 | 说明:小程序支付仅支持在微信内的小程序场景发起并调起;由商户自有 App 或外部 H5 网页跳转到微信小程序后再调起支付,不在小程序支付支持的场景范围内。外部 APP 或 H5 场景不跳转小程序收银台,须按对应支付产品单独设计支付链路;逾期未整改会被关闭「外部跳转小程序支付」权限。 | 下单接口可正常返回 |
二、AppID、OpenID 与用户身份
注意事项 | 说明、正确应该怎么做 | 不做会怎么样 |
|---|---|---|
openid 须由本次下单及调起支付所用的 appid 获取 | 说明: | 下单接口返回「appid和openid不匹配」,或下单成功但在小程序内拉起支付时报「appid与openid不匹配」,用户无法完成付款。 |
下单传入的 openid 须与实际付款用户为同一人 | 说明:下单接口传入的 openid 所属用户必须与实际拉起收银台完成付款的用户为同一人;这与「openid 须由本次下单的 appid 换取」是两条不同的约束,需分别校验。 | 调起支付时前端提示「下单账号与支付账号不一致,请核实后再支付」,用户无法完成付款。 |
三、防重复下单与幂等
注意事项 | 说明、正确应该怎么做 | 不做会怎么样 |
|---|---|---|
前端下单/支付按钮须做防抖,服务端须对同一业务单据做幂等控制 | 说明:用户连点、弱网重连或接口延时都会在极短时间内触发多次下单,生成多笔不同 | 同一笔业务生成多笔订单并被分别扣款,用户侧可见多笔支付记录,商家需人工核对并逐笔退款,产生额外的退款与客诉成本;在充电桩、场馆预约、购票、寄存柜等场景下还会造成同一用户重复占用库存或资源、重复开柜。 |
四、调用频次与限购
注意事项 | 说明、正确应该怎么做 | 不做会怎么样 |
|---|---|---|
服务端须按用户维度做流控并限定同一用户的购买次数 | 说明:秒杀、抢票、定时开票等并发场景与「同一业务单据防重复」是两套不同的约束:即便服务端已做单据级幂等,同一用户仍可发起多笔彼此独立的业务订单并全部支付成功,脚本还能绕过页面交互直接批量调用下单。 | 抢购、定时开票等高并发时段同一用户在 1 秒内成功下多笔订单并全部扣款;黄牛通过第三方软件/脚本在 1 秒内下数十单批量屯券占库存,造成超卖或库存多占,商户需事后封号、回查限购策略并承担库存与活动损失。 |
五、调起支付与签名
注意事项 | 说明、正确应该怎么做 | 不做会怎么样 |
|---|---|---|
不可在小程序 web-view(H5 页面)内通过 JSAPI 拉起支付或收款页面 | 说明:小程序内的 web-view(H5 页面)不支持通过 JSAPI 拉起支付或收款页面,也不支持在 web-view 内使用 H5 支付(H5 支付只能在微信外的浏览器中使用)。 | 在 web-view 内调起时报错,支付或收款页面无法拉起,用户无法完成付款或收款确认。 |
调起支付签名须用实际调起支付的 appid 与本次下单返回的 prepay_id 计算 | 说明: | 调起支付返回签名错误(sign error),无法拉起收银台,交易无法完成。 |
