Skip to main content
为 Pending 订单创建或刷新支付会话。支付动作会访问支付渠道并可能改变订单状态,调用前必须确认订单 ID、金额和支付方式。

接口概览

匿名支付的边界

匿名访问用于打开复制的支付链接后登录态丢失的场景,不需要也不应携带长期 Account Token。匿名调用:
  • 只允许服务端配置的托管跳转支付方式;
  • 固定使用桌面支付页面;
  • 不能领取零价订单;
  • 受 IP 和单订单限流;
  • 返回最小订单投影,不包含账户、Application 或内部 metadata。
已认证调用者必须是订单所有者或超级管理员。X402、奖励兑换等需要用户上下文的方式不能匿名调用。

请求示例

需要认证的支付方式:
pay_way 使用订单模型支持的真实值,例如 WechatPay、AliPay、Stripe、Card、Airwallex、X402、PayPal、AppleIAP、Reward、BankTransfer。并非每个值都对匿名请求或每个站点开放。

响应说明

成功响应是更新后的订单对象,通常通过 pay_url 提供下一步入口;不同支付方式还可能在受控字段中返回客户端继续支付所需的信息。匿名响应使用最小字段白名单,认证所有者得到完整详情。 不要依赖 payment_url、qr_code_url 或 payment_method 等旧字段名;当前 Order 契约使用 pay_url 和 pay_way。

iOS 内购

已登录的订单所有者可传入 pay_way: "AppleIAP"。此请求按所选套餐的 metadata.apple_price 更新待付款订单并清除折扣,不产生扣款、不发放积分,也不返回支付链接。旧待付款订单应先完成这一步,再发起 Apple 原生付款。只支持一个已配置 Apple 商品和价格的 Usage 套餐;不支持的套餐或批量订单返回 400。 Apple 原生付款后通过 /api/v1/orders/{id}/apple-verify/ 提交 transaction_id 完成服务端验证和积分发放。积分数量来自套餐;金额使用 Apple 独立美元预设价,不叠加会员折扣或站点加价,其他地区的本币扣款金额以 Apple 确认页为准。

错误与重试

  • 订单不是 Pending:返回 400;不要重复创建支付会话。
  • 未提供 pay_way:非零金额订单返回 400。
  • 匿名调用使用了不允许的方式或零价订单:返回 403,登录后由所有者重试。
  • 已认证但不是订单所有者:返回 403。
  • 支付渠道失败:不要盲目重复提交;先查询订单详情,确认仍是 Pending 后再重试。

相关接口