請(qǐng)求多次分賬
應(yīng)用場(chǎng)景
微信訂單支付成功后,服務(wù)商代子商戶發(fā)起分賬請(qǐng)求,將結(jié)算后的錢分到分賬接收方。多次分賬請(qǐng)求僅會(huì)按照傳入的分賬接收方進(jìn)行分賬,不會(huì)對(duì)剩余的金額進(jìn)行任何操作。故操作成功后,在待分賬金額不等于零時(shí),訂單依舊能夠再次進(jìn)行分賬。
● 多次分賬,可以將本商戶作為分賬接收方直接傳入,實(shí)現(xiàn)釋放資金給本商戶的功能
接口限頻:
1、單個(gè)服務(wù)商(請(qǐng)求分賬) 300QPS,如果超過頻率限制,會(huì)報(bào)錯(cuò)FREQUENCY_LIMITED,請(qǐng)降低頻率請(qǐng)求。
2、單個(gè)交易收款商戶(請(qǐng)求分賬) 30QPS,如果超過頻率限制,會(huì)報(bào)錯(cuò)FREQUENCY_LIMITED,請(qǐng)降低頻率請(qǐng)求。同時(shí),建議對(duì)同一主體的商戶拆分多個(gè)商戶號(hào)進(jìn)行交易,避免交易集中到單個(gè)商戶。
注意:
1、對(duì)同一筆訂單最多能發(fā)起50次分賬請(qǐng)求,每次請(qǐng)求最多分給50個(gè)接收方。
2、服務(wù)商需確保向微信支付傳輸用戶身份信息和賬號(hào)標(biāo)識(shí)信息做一致性校驗(yàn)已合法征得用戶授權(quán)
接口說明
請(qǐng)求Url | https://api.mch.weixin.qq.com/secapi/pay/multiprofitsharing |
---|---|
是否需要證書 | 請(qǐng)求需要雙向證書。 詳見證書使用 |
請(qǐng)求方式 | post |
簽名方式 | HMAC-SHA256 |
請(qǐng)求參數(shù)
名稱 |
變量名 |
必填 |
類型 |
示例值 |
描述 |
---|---|---|---|---|---|
商戶號(hào) |
mch_id |
是 |
string(32) |
1900000100 |
微信支付分配的服務(wù)商商戶號(hào) |
子商戶號(hào) |
sub_mch_id |
是 |
string(32) |
1900000109 |
微信支付分配的子商戶號(hào),即分賬的出資商戶號(hào)。 |
品牌主商戶號(hào) |
brand_mch_id |
否 |
string(32) |
1900000108 |
當(dāng)服務(wù)商開通了“連鎖品牌工具”后,使用品牌供應(yīng)鏈分賬時(shí),此參數(shù)傳入品牌主商戶號(hào)。傳入后,分賬方的分賬比例,校驗(yàn)品牌主配置的全局分賬。 |
公眾賬號(hào)ID |
appid |
是 |
string(32) |
wx8888888888888888 |
微信分配的服務(wù)商appid |
子商戶公眾賬號(hào)ID |
sub_appid |
否 |
string(32) |
wx8888888888888888 |
微信分配的子商戶公眾賬號(hào)ID |
隨機(jī)字符串 |
nonce_str |
是 |
string(32) |
5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
隨機(jī)字符串,不長(zhǎng)于32位。推薦隨機(jī)數(shù)生成算法 |
簽名 |
sign |
是 |
string(64) |
C380BEC2BFD727A4B6845133519F3AD6C380BEC2BFD727A4B6845133519F3AD6 |
簽名,詳見簽名生成算法 |
簽名類型 |
sign_type |
否 |
string(32) |
HMAC-SHA256 |
簽名類型,目前只支持HMAC-SHA256 |
微信訂單號(hào) |
transaction_id |
是 |
string(32) |
4208450740201411110007820472 |
微信支付訂單號(hào) |
商戶分賬單號(hào) |
out_order_no |
是 |
string(64) |
P20150806125346 |
商戶系統(tǒng)內(nèi)部的分賬單號(hào),在商戶系統(tǒng)內(nèi)部唯一(單次分賬、多次分賬、完結(jié)分賬應(yīng)使用不同的商戶分賬單號(hào)),同一分賬單號(hào)多次請(qǐng)求等同一次。只能是數(shù)字、大小寫字母_-|*@ |
+分賬接收方列表 | receivers |
是 |
string(10240) |
[ |
分賬接收方列表,不超過50個(gè)json對(duì)象,可以設(shè)置出資子商戶作為分賬接受方 點(diǎn)擊行前的+展開字段詳情 |
舉例如下:
<xml>
<appid>wx2421b1c4370ec43b</appid>
<mch_id>10000100</mch_id>
<sub_appid>wx2203b1494370e08cm</sub_appid>
<sub_mch_id>1415701182</sub_mch_id>
<nonce_str>6cefdb308e1e2e8aabd48cf79e546a02</nonce_str>
<out_order_no>P20150806125346</out_order_no>
<transaction_id>4006252001201705123297353072</transaction_id>
<sign>FE56DD4AA85C0EECA82C35595A69E153</sign>
<sign_type>HMAC-SHA256</sign_type>
<receivers>
[
{
"type": "MERCHANT_ID",
"account":"190001001",
"amount":100,
"description": "分到商戶"
},
{
"type": "PERSONAL_OPENID",
"account":"86693952",
"amount":888,
"description": "分到個(gè)人"
}
]
</receivers>
</xml>
返回結(jié)果
名稱 |
變量名 |
必填 |
類型 |
示例值 |
描述 |
---|---|---|---|---|---|
返回狀態(tài)碼 |
return_code |
是 |
string(32) |
SUCCESS |
SUCCESS/FAIL 此字段是通信標(biāo)識(shí),非交易標(biāo)識(shí) |
返回信息 |
return_msg |
否 |
string(256) |
參數(shù)格式校驗(yàn)錯(cuò)誤 |
返回信息,如非空,為錯(cuò)誤原因 |
以下字段在return_code為SUCCESS的時(shí)候有返回
名稱 |
變量名 |
必填 |
類型 |
示例值 |
描述 |
---|---|---|---|---|---|
業(yè)務(wù)結(jié)果 |
result_code |
是 |
string(32) |
SUCCESS |
SUCCESS:分賬申請(qǐng)接收成功,結(jié)果通過分賬查詢接口查詢 |
錯(cuò)誤代碼 |
err_code |
否 |
string(32) |
SYSTEMERROR |
列表詳見錯(cuò)誤碼列表 |
錯(cuò)誤代碼描述 |
err_code_des |
否 |
String(128) |
系統(tǒng)超時(shí) |
結(jié)果信息描述 |
商戶號(hào) |
mch_id |
是 |
string(32) |
1900000100 |
調(diào)用接口時(shí)提供的商戶號(hào) |
子商戶號(hào) |
sub_mch_id |
是 |
string(32) |
1900000109 |
微信支付分配的子商戶號(hào),即分賬的出資商戶號(hào)。 |
品牌主商戶號(hào) |
brand_mch_id |
否 |
string(32) |
1900000108 |
調(diào)用接口時(shí)提供的品牌主商戶號(hào)。 |
公眾賬號(hào)ID |
appid |
是 |
string(32) |
wx8888888888888888 |
調(diào)用接口提供的公眾賬號(hào)ID |
子商戶公眾賬號(hào)ID |
sub_appid |
否 |
string(32) |
wx8888888888888888 |
微信分配的子商戶公眾賬號(hào)ID |
隨機(jī)字符串 |
nonce_str |
是 |
string(32) |
5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
微信返回的隨機(jī)字符串 |
簽名 |
sign |
是 |
string(64) |
C380BEC2BFD727A4B6845133519F3AD6 |
微信返回的簽名,詳見簽名算法 |
以下字段在return_code和result_code都為SUCCESS的時(shí)候返回
名稱 |
變量名 |
必填 |
類型 |
示例值 |
描述 |
---|---|---|---|---|---|
微信訂單號(hào) |
transaction_id |
是 |
string(32) |
4208450740201411110007820472 |
微信支付訂單號(hào) |
商戶分賬單號(hào) |
out_order_no |
是 |
string(64) |
P20150806125346 |
商戶系統(tǒng)內(nèi)部的分賬單號(hào),在商戶系統(tǒng)內(nèi)部唯一(單次分賬、多次分賬、完結(jié)分賬應(yīng)使用不同的商戶分賬單號(hào)),同一分賬單號(hào)多次請(qǐng)求等同一次。只能是數(shù)字、大小寫字母_-|*@ |
微信分賬單號(hào) |
order_id |
是 |
string(64) |
3008450740201411110007820472 |
微信分賬單號(hào),微信支付系統(tǒng)返回的唯一標(biāo)識(shí) |
分賬單狀態(tài) |
status |
是 |
string(16) |
FINISHED |
分賬單狀態(tài),枚舉值: PROCESSING:處理中 FINISHED:處理完成 |
+分賬接收方列表 | receivers |
是 |
string(10240) |
內(nèi)容見下方示例 | 分賬接收方列表,json對(duì)象詳細(xì)說明見下文,僅當(dāng)查詢分賬請(qǐng)求結(jié)果時(shí),存在本字段 點(diǎn)擊行前的+展開字段詳情 |
舉例:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<result_code><![CDATA[SUCCESS]]></result_code>
<mch_id>10000100</mch_id>
<appid>wx2421b1c4370ec43b</appid>
<sub_mch_id>1415701182</sub_mch_id>
<sub_appid>wx2203b1494370e08cm</sub_appid>
<nonce_str>6cefdb308e1e2e8aabd48cf79e546a02</nonce_str>
<out_order_no>P20150806125346</out_order_no>
<transaction_id>4006252001201705123297353072</transaction_id>
<order_id>3008450740201411110007820472</order_id>
<status>FINISHED</status>
<receivers>
[
{
"type": "MERCHANT_ID",
"account":"190001001",
"amount":100,
"description": "分到商戶"
"detail_id": "36011111111111111111111"
"finish_time": "20180608170132"
"receiver_mchid": "1900000110"
"result": "SUCCESS"
},
{
"type": "PERSONAL_OPENID",
"account":"86693952",
"amount":888,
"description": "分到個(gè)人"
"detail_id": "36011111111111111111111"
"finish_time": "20180608170132"
"receiver_mchid": "1900000110"
"result": "SUCCESS"
}
]
</receivers>
<sign>FE56DD4AA85C0EECA82C35595A69E153</sign>
</xml>
錯(cuò)誤碼列表
名稱 |
描述 |
原因 |
解決方案 |
---|---|---|---|
SYSTEMERROR |
接口返回錯(cuò)誤 |
系統(tǒng)超時(shí) |
請(qǐng)不要更換商戶分賬單號(hào),請(qǐng)使用相同參數(shù)再次調(diào)用API。否則可能造成資金損失 |
AMOUNT_OVERDUE |
分賬金額超限 |
分賬金額大于可分金額或大于分賬最大比例 |
分賬金額不能大于可分金額或大于最大分賬比例金額,請(qǐng)調(diào)整分賬金額 |
RECEIVER_INVALID |
分賬接收方非法 |
未配置分賬接收方 |
分賬接收方在分賬之前需要進(jìn)行添加 |
INVALID_TRANSACTIONID |
無效的微信支付訂單號(hào) |
請(qǐng)求參數(shù)未按指引進(jìn)行填寫 |
請(qǐng)求參數(shù)錯(cuò)誤,檢查原交易號(hào)是否存在或發(fā)起支付交易接口返回失敗 |
PARAM_ERROR |
參數(shù)錯(cuò)誤 |
請(qǐng)求參數(shù)未按指引進(jìn)行填寫 |
請(qǐng)求參數(shù)錯(cuò)誤,請(qǐng)重新檢查再調(diào)用分賬接口 |
INVALID_REQUEST |
請(qǐng)求不合法 |
參數(shù)中APPID或 MCHID不存在等 |
請(qǐng)檢查請(qǐng)求參數(shù) |
OPENID_MISMATCH |
Openid錯(cuò)誤 |
Openid 與Appid不匹配 |
請(qǐng)檢查Openid 是否正確 |
FREQUENCY_LIMITED |
頻率限制 |
請(qǐng)求過多被頻率限制 |
該筆請(qǐng)求未受理,請(qǐng)降低頻率后原單重試,請(qǐng)勿更換商戶分賬單號(hào) |
ORDER_NOT_READY |
訂單處理中 |
訂單處理中,暫時(shí)無法分賬 |
訂單處理中,暫時(shí)無法分賬,請(qǐng)稍后再試 |
NOAUTH |
無分賬權(quán)限 |
未開通分賬權(quán)限 |
請(qǐng)先開通分賬 |
NOT_SHARE_ORDER |
非分賬訂單 |
不是分賬訂單 無法分賬 |
下單時(shí)請(qǐng)用分賬的合適參數(shù) |
INVALID_REQUEST |
分賬次數(shù)過多 |
分賬次數(shù)超過上限(最多50次) |
執(zhí)行分賬完結(jié),或者等待超時(shí)自動(dòng)分賬 |
RECEIVER_HIGH_RISK |
高風(fēng)險(xiǎn)接收方 |
分賬接收方賬戶處于高風(fēng)險(xiǎn)狀態(tài) |
請(qǐng)聯(lián)系分賬接收方確認(rèn)賬 |