最新更新時間:2020.03.05 版本說明
完結訂單總金額與實際金額不符時,可通過該接口修改訂單金額。
例如:充電寶場景,由于機器計費問題導致商戶完結訂單時扣除用戶99元,用戶客訴成功后,商戶需要按照實際的消費金額(如10元)扣費,當服務訂單支付狀態(tài)處于“待支付”時,商戶可使用此能力修改訂單金額。
? 若此筆訂單已收款成功,商戶直接使用退款能力,將差價退回用戶即可。
? 修改次數>=1,第n次修改后金額 <第n-1次修改后金額
適用對象:直連商戶
請求URL:https://api.mch.weixin.qq.com/v3/payscore/serviceorder/{out_order_no}/modify
請求方式:POST
接口規(guī)則:http://www.tg885.com/wiki/doc/apiv3/wechatpay/wechatpay-1.shtml
前置條件:服務訂單支付狀態(tài)為待支付
path 指該參數為路徑參數
query 指該參數需在請求URL傳參
body 指該參數需在請求JSON傳參
參數名 | 變量 | 類型[長度限制] | 必填 | 描述 |
---|---|---|---|---|
商戶服務訂單號 | out_order_no | string[1,32] | 是 | path
商戶系統(tǒng)內部訂單號(不是交易單號),與創(chuàng)建訂單時一致。 示例值:1234323JKHDFE1243252 |
公眾賬號ID | appid | string[1,32] | 是 | body
微信公眾平臺分配的與傳入的商戶號建立了支付綁定關系的appid,可在公眾平臺查看綁定關系。 此參數需在本系統(tǒng)先進行配置,并與創(chuàng)建訂單時的appid保持一致。 示例值:wxd678efh567hg6787 |
服務ID | service_id | string[1,32] | 是 | body
該服務ID有本接口對應產品的權限,需要與創(chuàng)建訂單時保持一致。 示例值:500001 |
+后付費項目 | post_payments | array | 是 | body后付費項目列表,最多包含100條付費項目。 |
+后付費商戶優(yōu)惠 | post_discounts | array | 否 | body后付費商戶優(yōu)惠列表,最多包含30條商戶優(yōu)惠。 如果傳入,用戶側則顯示此參數。 |
總金額 | total_amount | int64 | 是 | body總金額,單位為分,不能超過完結訂單時候的總金額,只能為整數,詳見支付金額。此參數需滿足:總金額 =(修改后付費項目1…+修改后完結付費項目n)-(修改
后付費商戶優(yōu)惠項目1…+修改后付費商戶優(yōu)惠項目n) 示例值:50000 |
修改原因 | reason | string[1,50] | 是 | body按照字符計算,超過長度報錯處理。 示例值:用戶投訴 |
{
"appid": "wxd678efh567hg6787",
"service_id": "500001",
"post_payments": [
{
"name": "就餐費用服務費",
"amount": 4000,
"description": "就餐人均100元服務費:100/小時",
"count": 1
}
],
"post_discounts":[
{
"name": "滿20減1元",
"description": "不與其他優(yōu)惠疊加",
"amount": 100
}
],
"total_amount": 2000,
"reason": "用戶投訴"
}
參數名 | 變量 | 類型[長度限制] | 必填 | 描述 |
---|---|---|---|---|
公眾賬號ID | appid | string[1,32] | 是 | 調用接口提交的公眾賬號ID。 示例值:wxd678efh567hg6787 |
商戶號 | mchid | string[1,32] | 是 | 調用接口提交的商戶號。 示例值:1230000109 |
服務ID | service_id | string[1,32] | 是 | 調用該接口提交的服務ID。 示例值:500001 |
商戶服務訂單號 | out_order_no | string[1,32] | 是 | 調用接口提交的商戶服務訂單號。 示例值:1234323JKHDFE1243252 |
服務信息 | service_introduction | string[1,20] | 是 | 服務信息用于介紹本訂單所提供的服務,當參數長度超過20個字符時,報錯處理。 示例值:某某酒店 |
服務訂單狀態(tài) | state | string[1,32] | 是 | 表示當前單據狀態(tài)。 枚舉值: CREATED:商戶已創(chuàng)建服務訂單 DOING:服務訂單進行中 DONE:服務訂單完成 REVOKED:商戶取消服務訂單? EXPIRED:服務訂單已失效,"商戶已創(chuàng)建服務訂單"狀態(tài)超過30天未變動,則訂單失效 示例值:CREATED |
訂單狀態(tài)說明 | state_description | string[1,32] | 否 | 對服務訂單"進行中"狀態(tài)的附加說明。 USER_CONFIRM:用戶確認 MCH_COMPLETE:商戶完結 示例值:MCH_COMPLETE |
商戶收款總金額 | total_amount | int64 | 否 | 總金額,大于等于0的數字,單位為分,只能為整數,詳見支付金額。 此參數需滿足:總金額=修改后付費項目金額之和-修改后付費商戶優(yōu)惠項目金額之和,且小于等于訂單風險金額。 示例值:40000 |
+后付費項目 | post_payments | array |
是 | 后付費項目列表,最多包含100條付費項目。 |
+后付費商戶優(yōu)惠 | post_discounts | array |
否 | 后付費商戶優(yōu)惠,最多包含30條付費項目。 如果傳入,用戶側則顯示此參數。 |
+訂單風險金 | risk_fund | object |
是 | 訂單風險金信息。 如果傳入,用戶側則顯示此參數。 |
+服務時間段 | time_range | object |
否 | 服務時間范圍。 如果傳入,用戶側則顯示此參數。 |
+服務位置 | location | object |
否 | 服務位置信息。 如果傳入,用戶側則顯示此參數。 |
商戶數據包 | attach | string[1,256] | 否 | 商戶數據包可存放本訂單所需信息,需要先urlencode后傳入。 當商戶數據包總長度超出256字符時,報錯處理。商戶接收回包是根據場景,決定是否需要做安全過濾(XSS/CSRF)。 示例值:Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald |
商戶回調地址 | notify_url | string[1,255] | 否 | 商戶接收用戶確認訂單和扣款成功回調通知的地址。 示例值:https://api.test.com |
微信支付服務訂單號 | order_id | string[1,64] | 否 | 微信支付服務訂單號,每個微信支付服務訂單號與商戶號下對應的商戶服務訂單號一一對應。 示例值:15646546545165651651 |
是否需要收款 | need_collection | bool | 否 | true:微信支付分代收款 false:無需微信支付分代收款 示例值:true |
+收款信息 | collection | object | 否 | 服務使用信息 |
{
"appid": "wxd678efh567hg6787",
"mchid": "1230000109",
"service_id": "500001",
"out_order_no": "1234323JKHDFE1243252",
"service_introduction": "某某酒店",
"state": "CREATED",
"state_description": "MCH_COMPLETE",
"total_amount": 2000,
"post_payments": [
{
"name": "就餐費用服務費",
"amount": 2000
}
],
"risk_fund": {
"name": "ESTIMATE_ORDER_COST",
"amount": 10000,
"description": "就餐的預估費用"
},
"time_range": {
"start_time": "20091225091010",
"end_time": "20091225121010"
},
"location": {
"start_location": "嗨客時尚主題展餐廳",
"end_location": "嗨客時尚主題展餐廳"
},
"attach": "Easdfowealsdkjfnlaksjdlfkwqoi&wl3l2sald",
"order_id": "15646546545165651651",
"need_collection": true,
"collection": {
"state": "USER_PAYING",
"total_amount": 2000,
"paying_amount": 2000,
"paid_amount": 0,
"details": [
{}
]
}
}
狀態(tài)碼 | 錯誤碼 | 描述 | 解決方案 |
---|---|---|---|
500 | SYSTEM_ERROR | 系統(tǒng)錯誤 | 5開頭的狀態(tài)碼都為系統(tǒng)問題,請使用相同參數稍后重新調用 |
400 | PARAM_ERROR | 參數錯誤 | 根據錯誤提示,傳入正確參數 |
403 | NO_AUTH | 商戶信息不合法 | 登錄商戶平臺核對,傳入正確信息 |
429 | FREQUENCY_LIMITED | 頻率超限 | 請求量不要超過接口調用頻率限制 |
400 | INVALID_REQUEST | 請求參數符合參數格式,但不符合業(yè)務規(guī)則 | 請確認相同單號是否使用了不同的參數 |
404 | ORDER_NOT_?EXIST | 訂單不存在 | 確認入參,傳入正確單據 |
400 | INVALID_ORDER_STATE | 單據狀態(tài)錯誤 | 確認操作是否符合流程 |
400 | ORDER_CANCELED | 單據已取消 | 當前狀態(tài)無需操作 |
400 | ORDER_DONE | 訂單已完成 | 當前狀態(tài)無需操作 |