用戶申請使用服務時,商戶可通過此接口申請創(chuàng)建微信支付分訂單。
注意:API參數(shù)涉及時間參數(shù)時需注意,可能由于商戶時鐘系統(tǒng)和微信支付分時鐘系統(tǒng),取當前時間存在一定誤差。可能導致在API調(diào)用出現(xiàn)失敗情況。因此商戶在傳入時間參數(shù)時需預留一定誤差時間。
# 接口說明
支持商戶:
【普通服務商】
請求方式:
【POST】/v3/payscore/partner/serviceorder
請求域名:
【主域名】
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ù)
- service_id 必填 string(32)【服務ID】 該服務ID有本接口對應產(chǎn)品的權(quán)限
- appid 必填 string(32)【服務商公眾號ID】 服務商申請的公眾號或移動應用APPID
- sub_mchid 必填 string(32)【子商戶商戶號】 子商戶商戶號,由微信支付生成并下發(fā)
- sub_appid 選填 string(32)【子商戶公眾號ID】 子商戶申請的公眾號或移動應用APPID
- out_order_no 必填 string(32)【商戶訂單號】 商戶系統(tǒng)內(nèi)部服務訂單號(不是交易單號),要求32個字符內(nèi),只能是數(shù)字、大小寫字母_-|* 且在同一個商戶號下唯一。
- service_introduction 必填 string(20)【服務信息】 服務信息,用于介紹本訂單所提供的服務
- post_payments 選填 array[Payment]【后付費項目】 后付費項目列表,最多包含100條付費項目,用于用戶側(cè)展示與完結(jié)訂單時的總金額計算
- 屬性
- post_discounts 選填 array[ServiceOrderCoupon]【商戶優(yōu)惠】 商戶優(yōu)惠列表,最多包含30條商戶優(yōu)惠,用于用戶側(cè)展示與完結(jié)訂單時的總金額計算
- 屬性
- risk_fund 必填 RiskFund【服務風險金】 用于微信支付分對本次服務進行風險評估
- 屬性
- time_range 必填 TimeRange【服務時間】 服務時間,用于用戶側(cè)展示
- 屬性
- location 選填 Location【服務位置】 服務位置,用于用戶側(cè)展示
- 屬性
- openid 選填 string(128)【服務商公眾號下的用戶標識】 微信用戶在服務商公眾號appid下的唯一標識;
need_user_confirm為false時,openid與sub_openid必須填寫并且只能填寫一個 - sub_openid 選填 string(128)【子商戶公眾號下的用戶標識】 微信用戶在子商戶公眾號sub_appid下的唯一標識;
need_user_confirm為false時,1. openid與sub_openid必須填寫并且只能填寫一個 2. 如果填寫了sub_openid,那么sub_appid必填 - need_user_confirm 選填 boolean【是否需要用戶確認】 false: 不需要; true: 需要確認(默認true)
- notify_url 必填 string(256)【商戶回調(diào)地址】 商戶接收用戶確認訂單通知或扣款成功回調(diào)通知的地址
- attach 選填 string(256)【附加數(shù)據(jù)】 附加數(shù)據(jù),可作為自定義參數(shù)使用,需要先urlencode后傳入,總長度不大于256字符,超出報錯處理。
Body 包體參數(shù)
請求示例
POST
# 應答參數(shù)
- out_order_no 必填 string(32)【商戶訂單號】 調(diào)用接口傳入的商戶訂單號
- service_id 必填 string(32)【服務ID】 調(diào)用接口傳入的服務ID
- appid 必填 string(32)【服務商公眾號ID】 調(diào)用接口傳入的服務商公眾號ID
- mchid 必填 string(32)【服務商商戶號】 調(diào)用接口傳入的服務商商戶號
- sub_appid 選填 string(32)【子商戶公眾號ID】 調(diào)用接口傳入的子商戶公眾號ID
- sub_mchid 必填 string(32)【子商戶商戶號】 調(diào)用接口傳入的子商戶商戶號
- service_introduction 必填 string(20)【服務信息】 調(diào)用接口傳入的服務信息
- state 必填 string(32)【服務訂單狀態(tài)】 當前單據(jù)狀態(tài).
CREATED: 服務訂單已創(chuàng)建
DOING: 服務訂單進行中
DONE: 服務訂單已完成
REVOKED: 商戶取消服務訂單
EXPIRED: 服務訂單已失效,"CREATED"狀態(tài)超過30天未變動,則訂單失效 - state_description 選填 string(32)【訂單狀態(tài)說明】 對服務訂單"DOING"狀態(tài)的附加說明. * USER_CONFIRM: 用戶確認 * MCH_COMPLETE:商戶完結(jié)
- post_payments 選填 array[Payment]【后付費項目】 調(diào)用接口傳入的后付費項目
- 屬性
- post_discounts 選填 array[ServiceOrderCoupon]【商戶優(yōu)惠】 調(diào)用接口傳入的商戶優(yōu)惠
- 屬性
- risk_fund 選填 RiskFund【服務風險金】 調(diào)用接口傳入的服務風險金
- 屬性
- time_range 選填 TimeRange【服務時間】 調(diào)用接口傳入的服務時間
- 屬性
- location 選填 Location【服務位置】 調(diào)用接口傳入的服務位置
- 屬性
- attach 選填 string(256)【附加數(shù)據(jù)】 調(diào)用接口傳入的附加數(shù)據(jù)
- notify_url 選填 string(256)【商戶回調(diào)地址】 調(diào)用接口傳入的商戶回調(diào)地址
- order_id 必填 string(64)【微信支付服務訂單號】 微信支付服務訂單號,每個微信支付服務訂單號與商戶號下對應的商戶訂單號一一對應
- package 選填 string(1024)【跳轉(zhuǎn)微信側(cè)數(shù)據(jù)包】 確認訂單流程,商戶前端跳轉(zhuǎn)到微信側(cè)傳入的數(shù)據(jù)包,該數(shù)據(jù)一小時內(nèi)有效
200OK
應答示例
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è)務錯誤碼
狀態(tài)碼 | 錯誤碼 | 描述 | 解決方案 |
---|---|---|---|
400 | INVALID_ORDER_STATE | 單據(jù)狀態(tài)錯誤 | 確認操作是否符合流程 |
400 | INVALID_REQUEST | 請求參數(shù)符合參數(shù)格式,但不符合業(yè)務規(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)用 |