服務(wù)完成后,商戶調(diào)用本接口,通知微信支付服務(wù)已結(jié)束(collection.state參數(shù)變?yōu)閁SER_PAYING狀態(tài),即用戶待支付狀態(tài))。
注意:
1、在接口參數(shù)中,商戶需要通過post_payments字段,上傳本筆訂單實際的付費項目明細,不同的場景有不同的傳值要求,詳見:post_payments(后付費項目)字段傳參說明。
2、完結(jié)后微信支付會按照一定頻率自動發(fā)起扣款,直到扣款成功,中間不會自動失效。商戶可參考開發(fā)指引做業(yè)務(wù)邏輯處理。
# 接口說明
支持商戶:
【普通商戶】
請求方式:
【POST】/v3/payscore/serviceorder/{out_order_no}/complete
請求域名:
【主域名】
https://api.mch.weixin.qq.com
使用該域名將訪問就近的接入點【備域名】
https://api2.mch.weixin.qq.com
使用該域名將訪問異地的接入點 ,指引點擊查看
# 請求參數(shù)
- Authorization 必填 string請參考 簽名認證 生成認證信息
- Accept 必填 string請設(shè)置為
application/json
- Content-Type 必填 string請設(shè)置為
application/json
Header HTTP頭參數(shù)
- out_order_no 必填 string(64)【商戶服務(wù)訂單號】 商戶系統(tǒng)內(nèi)部服務(wù)訂單號,要求32個字符內(nèi),只能是數(shù)字、大小寫字母_-|* 且在同一個商戶號下唯一。需要開發(fā)者特別注意,該參數(shù)不可用于申請退款接口中的 out_trade_no 參數(shù)。
Path 路徑參數(shù)
- appid 必填 string(32)【公眾賬號ID】 是微信開放平臺和微信公眾平臺為開發(fā)者的應(yīng)用程序(APP、小程序、公眾號)提供的一個唯一標識。 開發(fā)者需要先在微信開放平臺或微信公眾平臺中申請ID,然后在商戶平臺中綁定,詳見直連商戶與AppID賬號關(guān)聯(lián)管理
。完結(jié)訂單和取消訂單需要和創(chuàng)單傳入的appid保持一致。 - service_id 必填 string(32)【服務(wù)訂單號】 商戶支付分服務(wù)的唯一標識,由32位數(shù)字組成。支付分產(chǎn)品權(quán)限審核通過后,微信支付運營會向商戶提供該ID。
- post_payments 必填 array[Payment]【后付費項目】 用于展示訂單后付費項目明細,商戶需要按照所屬行業(yè)規(guī)程傳參,詳見post_payments(后付費項目)字段傳參說明
- 屬性
- post_discounts 選填 array[ServiceOrderCoupon]【商戶優(yōu)惠】 用于展示訂單優(yōu)惠項目明細,最多30條,完結(jié)訂單時傳的收款總金額需滿足計算條件(收款總金額=后付費項目amount和-優(yōu)惠項目amount和)
- 屬性
- total_amount 必填 integer【總金額】 訂單最終收款總金額,整型,單位為分,商戶調(diào)用完結(jié)訂單接口和修改訂單金額接口傳入,受服務(wù)ID風險金額上限影響,服務(wù)ID風險金額上限具體請與BD確認。
先免模式:total_amount<=創(chuàng)單risk_fund.amount(押金金額)<=服務(wù)ID風險金額上限。
先享模式:total_amount<=服務(wù)ID風險金額上限。
需滿足計算條件:total_amount = 后付費項目金額(post_payments.amount總和) - 優(yōu)惠項目金額(post_discounts.amount總和),例如商戶后付費項目金額總和為10元,優(yōu)惠項目金額總和為2元,則訂單收款總金額為8元。 - time_range 選填 TimeRange【實際服務(wù)時間段】 用于描述訂單的服務(wù)開始和結(jié)束時間。
- 屬性
- location 選填 Location【實際服務(wù)位置】 服務(wù)使用的開始位置和結(jié)束位置
- 屬性
- profit_sharing 選填 boolean【微信支付服務(wù)分賬標記】 支付分訂單的分賬標識,完結(jié)訂單時傳入true表示需要進行分賬。訂單收款成功后,資金將被凍結(jié)。商戶可請求分賬,將訂單收款資金分配給其他商戶或用戶。調(diào)用完結(jié)分賬接口后,剩余資金將解凍;若未進行分賬且距離支付完成時間超過30天,資金也會自動解凍。 true:需分賬
false:不需分賬
注:不傳默認false,不需分賬。 - goods_tag 選填 string(32)【訂單優(yōu)惠標記】 代金券在創(chuàng)建時可以配置多個訂單優(yōu)惠標記,標記的內(nèi)容由創(chuàng)券商戶自定義設(shè)置。 如果代金券有配置訂單優(yōu)惠標記,則必須在該參數(shù)傳任意一個配置的訂單優(yōu)惠標記才能使用券。
如果代金券沒有配置訂單優(yōu)惠標記,則可以不傳該參數(shù)。
Body 包體參數(shù)
請求示例
POST
# 應(yīng)答參數(shù)
- appid 必填 string(32)【公眾賬號ID】 是微信開放平臺和微信公眾平臺為開發(fā)者的應(yīng)用程序(APP、小程序、公眾號)提供的一個唯一標識。 開發(fā)者需要先在微信開放平臺或微信公眾平臺中申請ID,然后在商戶平臺中綁定,詳見直連商戶與AppID賬號關(guān)聯(lián)管理
。完結(jié)訂單和取消訂單需要和創(chuàng)單傳入的appid保持一致。 - mchid 必填 string(32)【商戶號】 調(diào)用支付分創(chuàng)單接口提交的商戶號,商戶號需開通支付分產(chǎn)品權(quán)限,且與appid有綁定關(guān)系,詳見直連商戶與AppID賬號關(guān)聯(lián)管理
。 - out_order_no 必填 string(32)【商戶服務(wù)訂單號】 商戶系統(tǒng)內(nèi)部服務(wù)訂單號,商戶在創(chuàng)建支付分接口中填入的out_order_no參數(shù),調(diào)用支付分查單接口時out_order_no字段和query_id字段必填一個(不允許都填寫或都不填寫)。
- service_id 必填 string(32)【服務(wù)ID】 商戶支付分服務(wù)的唯一標識,由32位數(shù)字組成。支付分產(chǎn)品權(quán)限審核通過后,微信支付運營會向商戶提供該ID。
- service_introduction 必填 string(20)【服務(wù)信息】 用于介紹本訂單所提供的服務(wù) ,長度不能超過20個字符(漢字、數(shù)字、字母、特殊符號都按照1個字符計算)。
- state 必填 string(32)【服務(wù)訂單狀態(tài)】 表示支付分訂單狀態(tài)
CREATED:商戶已創(chuàng)建服務(wù)訂單
DOING:服務(wù)訂單進行中
DONE:服務(wù)訂單完成(終態(tài))
REVOKED:商戶取消服務(wù)訂單(終態(tài))
EXPIRED:服務(wù)訂單已失效,"商戶已創(chuàng)建服務(wù)訂單"狀態(tài)超過30天未變動,則訂單失效(終態(tài))
該狀態(tài)需結(jié)合collection.state字段和state_description字段一起判斷,具體可參考支付分訂單狀態(tài)流轉(zhuǎn)圖。 - state_description 選填 string【訂單狀態(tài)說明】 此參數(shù)用于對服務(wù)訂單處于DOING狀態(tài)時的附加說明,非DOIING狀態(tài)將不會返回該參數(shù)。具體狀態(tài)如下:
USER_CONFIRM:用戶已確認狀態(tài),表示用戶成功確認訂單后所處狀態(tài)。
MCH_COMPLETE:商戶已完結(jié)狀態(tài),指商戶調(diào)用完結(jié)接口成功后至扣款成功前的狀態(tài)。
該狀態(tài)需結(jié)合collection.state字段和state字段一起判斷,具體可參考支付分訂單狀態(tài)流轉(zhuǎn)圖。 - total_amount 必填 integer【商戶收款總金額】 訂單最終收款總金額,整型,單位為分,商戶調(diào)用完結(jié)訂單接口和修改訂單金額接口傳入,受服務(wù)ID風險金額上限影響,服務(wù)ID風險金額上限具體請與BD確認。
先免模式:total_amount<=創(chuàng)單risk_fund.amount(押金金額)<=服務(wù)ID風險金額上限。
先享模式:total_amount<=服務(wù)ID風險金額上限。
需滿足計算條件:total_amount = 后付費項目金額(post_payments.amount總和) - 優(yōu)惠項目金額(post_discounts.amount總和),例如商戶后付費項目金額總和為10元,優(yōu)惠項目金額總和為2元,則訂單收款總金額為8元。 - post_payments 選填 array[Payment]【后付費項目】 用于展示訂單后付費項目明細,商戶需要按照所屬行業(yè)規(guī)程傳參,詳見post_payments(后付費項目)字段傳參說明
- 屬性
- post_discounts 選填 array[ServiceOrderCoupon]【后付費商戶優(yōu)惠】 用于展示訂單優(yōu)惠項目明細,最多30條,完結(jié)訂單時傳的收款總金額需滿足計算條件(收款總金額=后付費項目amount和-優(yōu)惠項目amount和)
- 屬性
- risk_fund 選填 RiskFund【服務(wù)風險金】 本筆訂單的風險金額描述
- 屬性
- time_range 選填 TimeRange【服務(wù)時間段】 用于描述訂單的服務(wù)開始和結(jié)束時間。
- 屬性
- location 選填 Location【服務(wù)位置】 服務(wù)使用的開始位置和結(jié)束位置
- 屬性
- order_id 選填 string(64)【微信支付服務(wù)訂單號】 支付分訂單在微信側(cè)的唯一標識,31位數(shù)字,開頭由1000000000+年月日組成。
- need_collection 選填 boolean【是否需要收款】 訂單是否需要收款,固定返回true需收款。
200OK
應(yīng)答示例
200 OK
# 錯誤碼
# 公共錯誤碼
狀態(tài)碼 | 錯誤碼 | 描述 | 解決方案 |
---|---|---|---|
400 | PARAM_ERROR | 參數(shù)錯誤 | 請根據(jù)錯誤提示正確傳入?yún)?shù) |
400 | INVALID_REQUEST | HTTP 請求不符合微信支付 APIv3 接口規(guī)則 | 請參閱 接口規(guī)則 |
401 | SIGN_ERROR | 驗證不通過 | 請參閱 簽名常見問題 |
500 | SYSTEM_ERROR | 系統(tǒng)異常,請稍后重試 | 請稍后重試 |
# 業(yè)務(wù)錯誤碼
狀態(tài)碼 | 錯誤碼 | 描述 | 解決方案 |
---|---|---|---|
400 | INVALID_ORDER_STATE | 單據(jù)狀態(tài)錯誤 | 確認操作是否符合流程 |
400 | INVALID_REQUEST | 請求參數(shù)符合參數(shù)格式,但不符合業(yè)務(wù)規(guī)則 | 請確認相同單號是否使用了不同的參數(shù) |
400 | ORDER_CANCELED | 單據(jù)已取消 | 當前狀態(tài)無需操作 |
400 | ORDER_DONE | 訂單已完成 | 當前狀態(tài)無需操作 |
403 | NO_AUTH | 商戶信息不合法 | 登錄商戶平臺核對,傳入正確信息 |
404 | ORDER_NOT_ EXIST | 訂單不存在 | 確認入?yún)ⅲ瑐魅胝_單據(jù) |
429 | FREQUENCY_LIMITED | 頻率超限 | 請求量不要超過接口調(diào)用頻率限制 |
500 | SYSTEM_ERROR | 系統(tǒng)錯誤 | 5開頭的狀態(tài)碼都為系統(tǒng)問題,請使用相同參數(shù)稍后重新調(diào)用 |