代码侧已全部就绪,只差商户平台开通与凭据配置。开通后无需改任何代码,B端「扫码收款」即可出码。
负责人:Lean(或财务,需商户平台管理员权限)
现在酒店客账线上收款只有 JSAPI(客人在自己手机上、在小程序内付款)。
开通 Native 后,前台可以放一个二维码,让客人用微信扫一下就付——这是酒店前台最自然的收款方式。
注意:Native 支付是商户号维度的产品,和小程序 JSAPI 共用同一个商户号,不需要新开商户号。
| 配置项 | 说明 | 当前状态 |
|---|---|---|
WXPAY_MCH_ID | 商户号 | 已有(JSAPI 在用) |
WXPAY_APP_ID / WX_APP_ID | 绑定的 appid | 已有 |
| 商户 API 私钥、证书序列号 | 与 JSAPI 共用 | 已有 |
WXPAY_NOTIFY_URL | 支付回调地址 | 已有,需确认指向 /api/miniapp/pay/notify |
WXPAY_SANDBOX | 沙箱开关 | 必须为 false(否则不发起真实下单) |
我们的回调接口已支持酒店收款单(回调找不到商品订单时会去识别 folio_charges 并自动入账),
所以回调地址不用新增,复用现有的即可。
若仍提示「线上支付暂未配置」,说明服务端凭据没读到,检查 .env 里上述变量并重启容器。
backend/app/wxpay.py → native_prepay():调 /v3/pay/transactions/native,不需要付款人 openid,返回 code_urlPOST /api/miniapp/merchant-console/hotel/folios/{id}/charges/native:生成收款单 + 返回 code_urlqrcode 库把 code_url 渲染成二维码,「查询是否已付」按钮轮询收款单状态