格物 开放 API消费者 · 下单与支付

REST API · 接入指南

消费者购物

下单与支付

钱由平台收:用户在浏览器里用支付宝付款(电脑上扫码,手机浏览器跳支付宝 App),平台收到支付宝的异步通知后自动下单, 下单失败自动原路退款,你不用处理退款补偿。先用 POST /v1/lm/checkout/render 拿权威价、运费和可售状态,再按手上有没有收货地址选一种方式:

直接要支付链接托管结账页
接口POST /v1/lm/pay/web-preparePOST /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 → 下单失败,平台已自动退款

本篇用到的接口