REST API · 接入指南
消费者购物
下单与支付
钱由平台收:用户在浏览器里用支付宝付款(电脑上扫码,手机浏览器跳支付宝 App),平台收到支付宝的异步通知后自动下单, 下单失败自动原路退款,你不用处理退款补偿。先用 POST /v1/lm/checkout/render 拿权威价、运费和可售状态,再按手上有没有收货地址选一种方式:
| 直接要支付链接 | 托管结账页 | |
|---|---|---|
| 接口 | POST /v1/lm/pay/web-prepare | POST /v1/lm/checkout/sessions |
| 收货地址 | 必须由你传 | 可不传,用户在结账页填 |
| 交给用户的 | payUrl,打开即进支付宝 | checkoutUrl,先核对商品与地址再付 |
| 适合 | Agent 已在对话里拿到地址、用户确认过商品 | 拿不到地址,或希望用户自己再确认一遍 |
idempotencyKey 用你的订单号:超时重试、用户让你「再发一次链接」时用同一个 key, 拿到的是同一张收款单的链接,不会出现两个都能付的链接;商品或地址变了就换新 key。 链接从首次生成起约 23 小时内可付。
付款结果以 GET /v1/lm/pay/orders/{outTradeNo} 为准。浏览器跳回你的 returnUrl 只说明用户离开了支付宝页面,不代表已付款。returnUrl 须是 https,且域名与你登记的回调地址一致。
1# 1. 下单并拿支付链接;idempotencyKey 用你的订单号2 POST /v1/lm/pay/web-prepare3 x-open-user: user-open-id4 { "items": [{ "productId": "…", "skuId": "…", "quantity": 1 }],5 "receiver": { … },6 "idempotencyKey": "your-order-20261015-0001",7 "device": "pc" }8 → { "outTradeNo": "…", "money": "39.80",9 "payUrl": "https://api.gowu.net/p/…", "qrImageUrl": "https://api.gowu.net/p/…/image" }10 11 # 2. 电脑上 / 对话里:展示 qrImageUrl,用户用手机支付宝扫码付(手机上已登录)12 # 手机上:直接打开 payUrl(按设备自动选收银台,付完回跳 returnUrl)13 14 # 3. 付款成功后平台自动下单;查收款单拿结果15 GET /v1/lm/pay/orders/{outTradeNo}16 # fulfilled → 已下单,upstreamOrderId 是订单号17 # refund_pending/refunded → 下单失败,平台已自动退款