修改订单金额API

修改订单金额API

完结订单总金额与实际金额不符时,可通过该接口修改订单金额。
例如:充电宝场景,由于机器计费问题导致商户完结订单时扣除用户99元,用户客诉成功后,商户需要按照实际的消费金额(如10元)扣费,当服务订单支付状态处于“待支付”时,商户可使用此能力修改订单金额。

注意:

• 若此笔订单已收款成功,商户直接使用退款能力,将差价退回用户即可。

接口说明

请求URL:https://api.mch.weixin.payyj.cn/v3/payscore/serviceorder/{out_order_no}/modify

请求方式:POST

接口规则:https://wechatpay-api.gitbook.io/wechatpay-api-v3

前置条件:服务订单支付状态为待支付

限制条件:同一笔订单仅能修改1次


path 指该参数为路径参数

query 指该参数需在请求URL传参

body 指该参数需在请求JSON传参


请求参数

参数名变量类型[长度限制]必填描述
商户服务订单号out_order_nostring[1,32]path 商户系统内部订单号(不是交易单号),与创建订单时一致。
示例值:1234323JKHDFE1243252
公众账号IDappidstring[1,32]body 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系。
此参数需在本系统先进行配置,并与创建订单时的appid保持一致。
示例值:wxd678efh567hg6787
服务IDservice_idstring[1,32]body 该服务ID有本接口对应产品的权限,需要与创建订单时保持一致  ,使用默认值0000 。
示例值:500001
+后付费项目post_paymentsarraybody后付费项目列表,最多包含100条付费项目。
+后付费商户优惠post_discountsarraybody后付费商户优惠列表,最多包含30条商户优惠。
如果传入,用户侧则显示此参数。
总金额total_amountint64body总金额,单位为分,不能超过完结订单时候的总金额,只能为整数,详见支付金额。此参数需满足:总金额 =(修改后付费项目1…+修改后完结付费项目n)-(修改 后付费商户优惠项目1…+修改后付费商户优惠项目n)
示例值:50000
修改原因reasonstring[1,50]body按照字符计算,超过长度报错处理。
示例值:用户投诉

请求示例


{
  "appid": "wxd678efh567hg6787",
  "service_id": "500001",
    "post_payments": [
    {
      "name": "就餐费用服务费",
      "amount": 4000,
      "description": "就餐人均100元服务费:100/小时",
      "count": 1
    }
  ],
  "post_discounts":[
  {
    "name": "满20减1元",
    "description": "不与其他优惠叠加",
    "amount": 100
   }
  ],
  "total_amount": 2000,
  "reason": "用户投诉"
}

返回参数


处理成功,应答无内容

返回示例


204
处理成功,应答无内容
                    

错误码公共错误码

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