請求單次分賬
應(yīng)用場景
單次分賬請求按照傳入的分賬接收方賬號(hào)和資金進(jìn)行分賬,同時(shí)會(huì)將訂單剩余的待分賬金額解凍給本商戶。故操作成功后,訂單不能再進(jìn)行分賬,也不能進(jìn)行分賬完結(jié)。
接口限頻:
1、單個(gè)服務(wù)商(請求分賬) 300QPS,如果超過頻率限制,會(huì)報(bào)錯(cuò)FREQUENCY_LIMITED,請降低頻率請求。
2、單個(gè)交易收款商戶(請求分賬) 30QPS,如果超過頻率限制,會(huì)報(bào)錯(cuò)FREQUENCY_LIMITED,請降低頻率請求。同時(shí),建議對同一主體的商戶拆分多個(gè)商戶號(hào)進(jìn)行交易,避免交易集中到單個(gè)商戶。
注意:
1、 對同一筆訂單最多能發(fā)起50次分賬請求,每次請求最多分給50個(gè)接收方。
2、商戶需確保向微信支付傳輸用戶身份信息和賬號(hào)標(biāo)識(shí)信息做一致性校驗(yàn)已合法征得用戶授權(quán)
接口說明
請求Url | https://api.mch.weixin.qq.com/secapi/pay/profitsharing |
---|---|
是否需要證書 | 請求需要雙向證書。 詳見證書使用 |
請求方式 | post |
簽名方式 | HMAC-SHA256 |
請求參數(shù)
名稱 | 變量名 | 必填 | 類型 | 示例值 | 描述 |
---|---|---|---|---|---|
商戶號(hào) | mch_id | 是 | string(32) | 1900000100 | 微信支付分配的商戶號(hào) |
公眾賬號(hào)ID | appid | 是 | string(32) | wx8888888888888888 | 微信分配的公眾賬號(hào)ID |
隨機(jī)字符串 | nonce_str | 是 | string(32) | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 隨機(jī)字符串,不長于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)多次請求等同一次。只能是數(shù)字、大小寫字母_-|*@ |
+分賬接收方列表 | receivers | 是 | string(10240) | [ { "type": "MERCHANT_ID", "account":"190001001", "amount":100, "description": "分到商戶" }, { "type": "PERSONAL_OPENID", "account":"86693952", "amount":888, "description": "分到個(gè)人" } ] |
分賬接收方列表,不超過50個(gè)json對象,不能設(shè)置分賬方作為分賬接受方
點(diǎn)擊行前的+展開字段詳情 |
舉例如下:
<xml>
<appid>wx2421b1c4370ec43b</appid>
<mch_id>10000100</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:分賬申請接收成功,結(jié)果通過分賬查詢接口查詢 FAIL :提交業(yè)務(wù)失敗 |
錯(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)ID | appid | 是 | string(32) | wx8888888888888888 | 調(diào)用接口提供的公眾賬號(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 |
調(diào)用接口提供的商戶系統(tǒng)內(nèi)部的分賬單號(hào) |
微信分賬單號(hào) | order_id | 是 | string(64) | 3008450740201411110007820472 | 微信分賬單號(hào),微信支付系統(tǒng)返回的唯一標(biāo)識(shí) |
分賬單狀態(tài) | status | 是 | stirng(32) | FINISHED | 分賬單狀態(tài),枚舉值: PROCESSING:處理中 FINISHED:處理完成 |
+分賬接收方列表 | receivers | 是 | string(10240) | 示例如下 | 分賬接收方列表,不超過50個(gè)json對象,不能設(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>
<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>[
{
"amount": 10,
"fail_reason":"NO_RELATION",
"description": "分帳1900000110"
" finish_time":"2015-05-20T13:29:35.120+08:00",
"receiver_account":"1900000109",
"receiver_mchid":"1900000110",
"result":"SUCCESS",
"type":"MERCHANT_ID",
"detail_id": 36011111111111111111111
},
{
"amount": 10,
"fail_reason":"NO_RELATION",
"description": "分帳1900000110"
" finish_time":"2015-05-20T13:29:35.120+08:00",
"receiver_account":"1900000109",
"receiver_mchid":"1900000110",
"result":"SUCCESS",
"type":"MERCHANT_ID",
"detail_id": 36011111111111111111111
}
]</receivers>
<sign>FE56DD4AA85C0EECA82C35595A69E153</sign>
</xml>
錯(cuò)誤碼列表
名稱 | 描述 | 原因 | 解決方案 |
---|---|---|---|
SYSTEMERROR | 接口返回錯(cuò)誤 | 系統(tǒng)超時(shí) | 請不要更換商戶分賬單號(hào),請使用相同參數(shù)再次調(diào)用API。否則可能造成資金損失 |
AMOUNT_OVERDUE | 分賬金額超限 | 分賬金額大于可分金額或大于分賬最大比例 | 分賬金額不能大于可分金額或大于最大分賬比例金額,請調(diào)整分賬金額 |
RECEIVER_INVALID | 分賬接收方非法 | 未配置分賬接收方 | 分賬接收方在分賬之前需要進(jìn)行添加 |
INVALID_TRANSACTIONID | 無效的微信支付訂單號(hào) | 請求參數(shù)未按指引進(jìn)行填寫 | 請求參數(shù)錯(cuò)誤,檢查原交易號(hào)是否存在或發(fā)起支付交易接口返回失敗 |
PARAM_ERROR | 參數(shù)錯(cuò)誤 | 請求參數(shù)未按指引進(jìn)行填寫 | 請求參數(shù)錯(cuò)誤,請重新檢查再調(diào)用分賬接口 |
INVALID_REQUEST | 請求不合法 | 參數(shù)中APPID或 MCHID不存在等 | 請檢查請求參數(shù) |
OPENID_MISMATCH | Openid錯(cuò)誤 | Openid 與Appid不匹配 | 請檢查Openid 是否正確 |
FREQUENCY_LIMITED | 頻率限制 | 請求過多被頻率限制 | 該筆請求未受理,請降低頻率后原單重試,請勿更換商戶分賬單號(hào) |
ORDER_NOT_READY | 訂單處理中 | 訂單處理中,暫時(shí)無法分賬 | 訂單處理中,暫時(shí)無法分賬,請稍后再試 |
NOAUTH | 無分賬權(quán)限 | 未開通分賬權(quán)限 | 請先開通分賬 |
NOT_SHARE_ORDER | 非分賬訂單 | 不是分賬訂單 無法分賬 | 下單時(shí)請用分賬的合適參數(shù) |
RECEIVER_HIGH_RISK | 高風(fēng)險(xiǎn)接收方 | 分賬接收方賬戶處于高風(fēng)險(xiǎn)狀態(tài) | 請聯(lián)系分賬接收方確認(rèn)賬 |