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