同步服务订单信息

更新时间:2023.10.18

由于收款商户进行的某些“线下操作”会导致微信支付侧的订单状态与实际情况不符。例如,用户通过线下付款的方式已经完成支付,而微信支付侧并未支付成功,此时可能导致用户重复支付。因此商户需要通过订单同步接口将订单状态同步给微信支付,修改订单在微信支付系统中的状态。

注意:

• 待支付(USER_PAYING)状态下,当用户正在尝试通过收银台主动支付订单金额时,同步服务订单信息API无法调用成功,可等待3min后重试

• API参数涉及时间参数时需注意,可能由于商户时钟系统和微信支付分时钟系统,取当前时间存在一定误差。可能导致在API调用出现失败情况。因此商户在传入时间参数时需预留一定误差时间

# 接口说明

支持商户:
【普通商户】
请求方式:
【POST】/v3/payscore/serviceorder/{out_order_no}/sync
请求域名:
【主域名】
https://api.mch.weixin.qq.com
使用该域名将访问就近的接入点
【备域名】
https://api2.mch.weixin.qq.com
使用该域名将访问异地的接入点 ,指引点击查看

# 请求参数

    Header HTTP头参数
  • Authorization 必填 string
    请参考 签名认证 生成认证信息
  • Accept 必填 string
    请设置为 application/json
  • Content-Type 必填 string
    请设置为 application/json
    Path 路径参数
  • out_order_no 必填 string(32)
    【商户服务订单号】 商户系统内部订单号(不是交易单号),要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。详见商户订单号 需要和创建订单的商户服务订单号一致
    Body 包体参数
  • appid 必填 string(32)
    【公众账号ID】 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系 需要在本系统先进行配置. 需要与创建订单时保持一致.
  • service_id 必填 string(32)
    【服务ID】 该服务ID有本接口对应产品的权限 需要与创建订单时保持一致
  • type 必填 string
    【场景类型】 场景类型- "Order_Paid":字符串表示“订单收款成功”
    场景类型- "Order_Paying": 字符串表示“订单收款同步”

请求示例

POST

# 应答参数

    200OK
  • out_order_no 必填 string(32)
    【商户服务订单号】 调用接口传入的商户订单号
  • service_id 必填 string(32)
    【服务ID】 调用接口传入的服务ID
  • appid 必填 string(32)
    【服务商公众号ID】 调用接口传入的服务商公众号ID
  • mchid 必填 string(32)
    【服务商商户号】 调用接口传入的服务商商户号
  • service_introduction 必填 string(20)
    【服务信息】 调用接口传入的服务信息
  • state 必填 string(32)
    【服务订单状态】 当前单据状态.
    * CREATED: 服务订单已创建
    * DOING: 服务订单进行中
    * DONE: 服务订单已完成
    * REVOKED: 商户取消服务订单
    * EXPIRED: 服务订单已失效,"CREATED"状态超过1小时未变动,则订单失效
  • state_description 选填 string(32)
    【订单状态说明】 对服务订单"DOING"状态的附加说明.
    * USER_CONFIRM: 用户确认
    * MCH_COMPLETE:商户完结
  • post_payments 选填 array[Payment]
    【后付费项目】 调用接口传入的后付费项目
    • 属性
  • post_discounts 选填 array[ServiceOrderCoupon]
    【商户优惠】 调用接口传入的商户优惠
    • 属性
  • risk_fund 选填 RiskFund
    【服务风险金】 调用接口传入的服务风险金
    • 属性
  • total_amount 选填 integer
    【总金额】 调用接口传入的总金额
  • need_collection 选填 boolean
    【是否需要收款】 调用接口传入的是否需要收款,true:微信支付分代收款 false:无需微信支付分代收款
  • collection 选填 Collection
    【收款信息】 收款成功后,展示具体的收款信息
    • 属性
  • time_range 选填 TimeRange
    【服务时间】 调用接口传入的服务时间
    • 属性
  • location 选填 Location
    【服务位置】 调用接口传入的服务位置
    • 属性
  • attach 选填 string(256)
    【附加数据】 调用接口传入的附加数据
  • notify_url 选填 string(256)
    【商户回调地址】 调用接口传入的商户回调地址
  • openid 必填 string(128)
    【服务商公众号下的用户标识】 调用接口传入的服务商公众号下的用户标识
  • order_id 必填 string(64)
    【微信支付服务订单号】 微信支付服务订单号,每个微信支付服务订单号与商户号下对应的商户服务订单号一一对应

应答示例

200 OK

# 错误码

# 公共错误码

状态码 错误码 描述 解决方案
400 PARAM_ERROR 参数错误 请根据错误提示正确传入参数
400 INVALID_REQUEST HTTP 请求不符合微信支付 APIv3 接口规则 请参阅 接口规则
401 SIGN_ERROR 验证不通过 请参阅 签名常见问题
500 SYSTEM_ERROR 系统异常,请稍后重试 请稍后重试

# 业务错误码

状态码 错误码 描述 解决方案
400 INVALID_ORDER_STATE 单据状态错误 确认操作是否符合流程
400 INVALID_REQUEST 请求参数符合参数格式,但不符合业务规则 请确认相同单号是否使用了不同的参数
400 ORDER_CANCELED 单据已取消 当前状态无需操作
400 ORDER_DONE 订单已完成 当前状态无需操作
403 NO_AUTH 商户信息不合法 登录商户平台核对,传入正确信息
404 ORDER_NOT_ EXIST 订单不存在 确认入参,传入正确单据
429 FREQUENCY_LIMITED 频率超限 请求量不要超过接口调用频率限制
500 SYSTEM_ERROR 系统错误 5开头的状态码都为系统问题,请使用相同参数稍后重新调用
反馈
咨询
目录